java - @WebServlet 注解 web.xml 欢迎文件

标签 java jsp servlets web.xml deployment-descriptor

我想设置我的 JSP/JavaBeans 项目的欢迎文件。我有一个名为“Controller.java”的 servlet,带有以下 @WebServlet 注释:

@WebServlet(name="Controller", urlPatterns={"/login", "/show_dbs"})

我有一个包含以下内容的 web.xml 文件:

<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
         http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0">

    <welcome-file-list>
        <welcome-file>Controller</welcome-file>
    </welcome-file-list>
</web-app>

几乎所有事情都很顺利,我可以打开 http://localhost:8080/PROJECT/loginhttp://localhost:8080/PROJECT/show_dbs然后我来到 Controller.java。但是当我打开 http://localhost:8080/PROJECT/ 时,我收到了 404 错误。

我将 Eclipse 与“动态 Web 项目”一起使用,Controller.java 文件位于/src(默认包)下,web.xml 文件位于/WebContent/WEB-INF 下。

我希望你能给我一些建议。

最佳答案

感谢您的帮助。这是我的解决方案:

如果你想将你的 servlet 设置为欢迎文件,你必须执行以下操作:

在您的 web.xml 中定义一个标准的 html 作为欢迎文件,例如 index.html:

<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
         http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0">

    <welcome-file-list>
        <welcome-file>index.html</welcome-file>
    </welcome-file-list>
</web-app>

确保此文件 (index.html) 不存在

像这样在@WebServlet 中定义您的 urlPatterns:

@WebServlet(name="Controller", urlPatterns={"/index.html", "/login", "/show_dbs"})

现在每个对 http://.../PROJECT/ (root) 的请求都将被重定向到 http://.../PROJECT/index.html 这会调用 servlet。

关于java - @WebServlet 注解 web.xml 欢迎文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15507996/

相关文章:

java - 访问struts 2 param标签内的请求属性?

html - 右侧的两个 div 标签相互覆盖

java - 如何限制用户使用具有有效 session ID 的 Rest 客户端访问我们的服务?

java - pmd:UseConcurrentHashMap 不工作?

java - 延迟将对象移动到另一个对象

eclipse - JSP EL(表达语言)在Eclipse中引起问题

java - 服务器上的 ImageIO NullPointerException

java - 类路径有问题

Java:检查oracle字段类型NUMBER(6,4)的值是否等于0

java - 对数组进行排序以形成稍微平衡的二叉搜索树