我在日食动态Web项目,该项目使用注解来这样的映射的servlet:添加错误页面区块在Tomcat中的所有servlet 7
@WebServlet("/LoginController")
public class LoginController extends HttpServlet {
....
}
我也有使用这些小服务程序,类似这样的jsp页面:
<form method="post" action="LoginController">
它所有的工作就像一个字符,直到我决定添加错误404
和500
错误页面。 Google上的一些搜索带我到java2s,我发现我必须修改web.xml
文件来指定错误页面。但我的项目没有在WEB-INF
目录下的web.xml
文件(顺便说一句,我使用Eclipse Indigo作为IDE和Tomcat 7.0.14)。所以我加了一个如下:
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<error-page>
<error-code>
404
</error-code>
<location>
/404.html
</location>
</error-page>
<error-page>
<error-code>
500
</error-code>
<location>
/500.html
</location>
</error-page>
</web-app>
这就引入了一个新问题。我的servlet不再工作了!我所有的JSP都正常工作。但是对我的servlet的所有请求都带我进入404错误页面。例如,我可以得到一个登录表单,因为JSP的工作正常。但是,当我将我的登录表单提交到LoginController
时,它会显示404错误页面。
我认为可以通过使用web.xml
文件来解决servlet映射而不是WebServlet
注解。但是有没有一种方法可以使用WebServlet
注释并提供错误页面?我会很高兴,如果web.xml
可以避免显示错误页面。另外,我不喜欢编辑tomcat的任何配置文件。那么,我该如何解决这个问题呢?
这解决了我的问题。谢谢。 +1! – Jomoos 2012-01-01 13:20:06