【问题标题】:Error pages with Servlet 3.0Servlet 3.0 的错误页面
【发布时间】:2013-01-09 04:37:03
【问题描述】:

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::WARNING:监视器过滤器必须是第一个过滤器 链条。

当我在我的应用程序中使用 Spring 安全性时发生这种情况,它被报告为 jira 问题。

【问题讨论】:

    标签: spring servlets web.xml servlet-3.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 中解决了,所以你唯一的解决方案是更新到 post-29 版本。

    这里:http://tomcat.apache.org/tomcat-7.0-doc/changelog.html,在 7.0.29 版的更新日志中,您可以了解为什么会出现这样的问题:

    添加对在 web.xml 中定义的默认错误页面的支持 仅使用嵌套的位置元素定义错误页面。它出现 此功能旨在包含在 Servlet 3.0 中 规范,但不小心被遗漏了。 (市场)

    【讨论】:

    • 我刚刚下载了Apache Tomcat 7.0.35,该方法在其中起作用。谢谢。
    • 很高兴它有效。你的问题促使我再次尝试,所以也谢谢你!
    猜你喜欢
    • 2012-10-03
    • 2017-01-19
    • 1970-01-01
    • 2011-03-07
    • 2011-12-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多