2

我正在使用 JSF2 和 Glassfish 3.0。

404我有一个非常简单的应用程序,我正在尝试为错误设置一些默认错误页面500

这是WEB.XML部分:

<error-page>
    <exception-type>404</exception-type>
    <location>/error.xhtml</location>
</error-page>

<error-page>
    <exception-type>500</exception-type>
    <location>/error.xhtml</location>
</error-page>

即使存在 error.xhtml,在浏览器中我仍然会收到标准HTTP Status 404 -警告。

4

1 回答 1

13

<exception-type>应该指向 的子类的完整限定名java.lang.Exception。例如

<error-page>
    <exception-type>javax.faces.application.ViewExpiredException</exception-type>
    <location>/expired.xhtml</location>
</error-page>

但是您所拥有的只是HTTP 状态代码。你应该<error-code>改用。

<error-page>
    <error-code>500</error-code>
    <location>/error.xhtml</location>
</error-page>

顺便说一句,我不会让 404 和 500 指向同一个错误页面。404 是“找不到页面”,通常是客户端自己的错误,而不是服务器的错误。获取一般错误页面而不是“找不到页面”会非常混乱。

于 2012-04-24T13:06:55.677 回答