我想设置我的 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/login
和 http://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/