05. JSP 异常处理

JSP 异常处理

JSP 对于常规的try catch块处理异 和 同Servlet一样通过 web.xml 配置指定错误处理页面之外,也本身提供了为某个页面的抛出的异常指定错误处理页的标签;
主要是使用了<%@ page %>指令的 errorPage 属性和 isError 属性;

一个简单的示例如下:

mian.jsp : 抛出异常的页面
 
<%@ page errorPage="showError.page" %>
....
<% throw RunTimeException("Error condition!"); %>
....
当一个页面通过 Page 指令指定了errorPage时,当抛出异常,会直接跳转到指定的 errorPage,同时向errorPage传递一个包含该异常信息的 exception 的隐含对象;

showError.jsp : 处理,显示异常的页面
 
<%@ page isErrorPage="true" %>
<html>
<head><title>Show Error Page</title></head>
<body>
<p>Here is the exception stack trace: </p>
<pre>
<% exception.printStackTrace(response.getWriter()); %>
</pre>
</body>
</html>

※ 对于以上的流程,也可以将 mian.jsp 的异常导向一个 Servlet 处理异常,之后再转发到一个负责显示异常信息的JSP页面;
※ 如果是要对产生的异常状态码的 JSP 页面指定错误处理页面,可以通过在web.xml 绑定<error-page>标签的方式,如下:
假设对所有页面产生404状态码的页面全部导向 pageNotFindPage.jsp ,web.xml 如下设置:
 
<web-app>
    <error-page>
        <error-code>404</error-code>
        <location>/pageNotFindPage.jsp</location>
    </error-page>
<web-app>


在错误页中可以通过使用 JSTL 标签库来显示更多的内容,详见: 09. JSP 标准标签库 JSTL


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值