在web.xml
文件中,我正在尝试指定错误页面,如下所示。
<error-page>
<location>/WEB-INF/jsp/admin/ErrorPage.jsp</location>
</error-page>
根据Servlet 3.0,我希望它没有错误代码,但事实并非如此。我必须明确指定一个适当的错误代码,使其工作如下所示。
<error-page>
<description>Missing page</description>
<error-code>404</error-code>
<location>/WEB-INF/jsp/admin/ErrorPage.jsp</location>
</error-page>
为什么前一种方法不适用于Servlet 3.0?
我已升级NetBeans 7.2.1。它支持具有Servlet 3.0 API的Apache Tomcat 7.0.27.0。
顺便说一下,我已经禁用了HTTP Monitor,因为它引发了以下警告。
MonitorFilter ::警告:监视器过滤器必须是第一个过滤器 链条。
当我在我的应用程序中使用Spring安全性时,它被报告为jira问题。
答案 0 :(得分:1)
看看this post。我从来没有亲自做过这个
<error-page>
<location>/WEB-INF/jsp/admin/ErrorPage.jsp</location>
</error-page>
在Tomcat 7上工作,就像我给你的链接中描述的错误一样。 我不知道Apache是否在更高版本的Tomcat中解决了它,但我怀疑
我以前的陈述可能是错的。挖掘一下,我发现:https://issues.apache.org/bugzilla/show_bug.cgi?id=52135并且问题本应在Tomcat 7.0.29中解决,因此您唯一的解决方案是更新到29之后的版本。
这里:http://tomcat.apache.org/tomcat-7.0-doc/changelog.html,在版本7.0.29的更改日志中,您可以阅读为什么会出现这样的问题:
添加对要在web.xml中定义的默认错误页面的支持 仅使用嵌套的位置元素定义错误页面。它出现 此功能旨在包含在Servlet 3.0中 规格,但意外地被遗漏。 (Markt的)