Rom*_*man 39 jsf jsp facelets custom-error-pages
我正在使用JSF开发Web应用程序.我测试了它,因为我能够但不时抛出运行时异常.
那么,每次抛出异常时如何将用户重定向到特殊错误页面(而不是显示完整tomcat日志的500错误)?
Bal*_*usC 59
只需声明一个<error-page>in web.xml,您可以在其中指定应在某个Throwable(或其任何子类)上显示的页面或HTTP状态代码.例如
<error-page>
<exception-type>java.lang.Exception</exception-type>
<location>/error.jsp</location>
</error-page>
Run Code Online (Sandbox Code Playgroud)
这将在任何子类上显示错误页面java.lang.Exception,但因此不显示java.lang.Throwable或java.lang.Error.通过这种方式,您可以拥有自己的错误页面Throwable.例如java.sql.SQLException,java.io.IOException依此类推.
要么,
<error-page>
<error-code>500</error-code>
<location>/error.jsp</location>
</error-page>
Run Code Online (Sandbox Code Playgroud)
这将在HTTP 500错误上显示错误页面,但您也可以为404(未找到页面),403(禁止)等指定其他页面.
如果你<%@page isErrorPage="true" %>在top中声明error.jsp,那么你可以在EL中访问抛出的Exception(以及它的所有getter)${exception}.
<p>Message: ${exception.message}</p>
Run Code Online (Sandbox Code Playgroud)
另请参阅有关该主题的Java EE 5教程.
Pas*_*ent 10
在您的web.xml中:
<error-page>
<error-code>500</error-code>
<location>/errorpages/500.jsp</location>
</error-page>
Run Code Online (Sandbox Code Playgroud)
您还可以捕获扩展的特定异常或异常Throwable:
<error-page>
<exception-type>java.lang.Throwable</exception-type>
<location>/errorpages/500.jsp</location>
</error-page>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
47425 次 |
| 最近记录: |