In the 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 监视器,因为它会引发以下警告。
MonitorFilter::警告:监视器过滤器必须是第一个过滤器
连锁,链条。
当我在我的应用程序中使用 Spring security 时发生了这种情况,并且它被报告为jira http://netbeans.org/bugzilla/show_bug.cgi?id=204775 issue.
看一下这个帖子 https://stackoverflow.com/questions/7997286/new-servlet-3-0-global-error-page-feature-does-not-work-on-tomcat-7。我从来没有亲自做过这个
<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 https://issues.apache.org/bugzilla/show_bug.cgi?id=52135并且该问题应该在 Tomcat 7.0.29 中得到解决,因此您唯一的解决方案是更新到 29 后版本。
Here: http://tomcat.apache.org/tomcat-7.0-doc/changelog.html http://tomcat.apache.org/tomcat-7.0-doc/changelog.html,在版本 7.0.29 的变更日志中,您可以阅读为什么会出现这样的问题:
添加对要在 web.xml 中定义的默认错误页面的支持
仅使用嵌套位置元素定义错误页面。它出现
该功能原本打算包含在 Servlet 3.0 中
规范但被意外遗漏。 (市场)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)