我正在使用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 -
警告。
答案 0 :(得分:12)
<exception-type>
应指向java.lang.Exception
子类的完全限定名称。 E.g。
<error-page>
<exception-type>javax.faces.application.ViewExpiredException</exception-type>
<location>/expired.xhtml</location>
</error-page>
但你所拥有的只是HTTP status codes。您应该使用<error-code>
代替。
<error-page>
<error-code>500</error-code>
<location>/error.xhtml</location>
</error-page>
顺便说一句,我不会让404和500指向相同的错误页面。 404是“找不到页面”,这通常是客户自己的错误,而不是服务器的错误。获取一般错误页面而不是“找不到页面”将会非常混乱。