在JSP页面处理一般都采用统一的错误处理页面来显示网页中出现的情况,一般分为如下几个步骤:
一、构建错误显示页面,在错误处理页面中可以通过内置变量exception获取具体的错误信息,但注意必须设置错误处理页面的page指令isErrorPage属性为“true”,示例如下所示:
<%@ page contentType="text/html; charset=gb2312" language="java" isErrorPage="true" import="java.io.*"%>
<html>
<head>
<title>错误显示页面</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>
<body>
出错了:<br>
<br><hr><font color=red><hr>
getMessage():<br>
<%=exception.getMessage()%><br><hr>
getLocalizedMessage():<br>
<%=exception.getLocalizedMessage()%><br><hr>
PrintStatckTrace():<br>
<%
StringWriter sw=new StringWriter();
PrintWriter pw=new PrintWriter(sw);
exception.printStackTrace(pw);
out.println(sw);
%><br>
</font></body>
</html>
二、配置错误页面,有两种方式:在web.config中集中配置或者在页面的page指令中设置errorPage属性,但采用web.config中配置方式比较好,分别示例如下:
1、web.config中配置:
<!--根据errorCode进行配置-->
<error-page>
<error-code>400</error-code>
<location>/400error.jsp</location>
</error-page>
<error-page>
<error-code>500</error-code>
<location>/500error.jsp</location>
</error-page>
<!--根据具体异常配置-->
<error-page>
<exception-type>java.lang.Exception</exception-type>
<location>/error.jsp</location>
</error-page>
2、在页面的page属性中设置
<%@page isErrorPage="false" errorPage="\500error.jsp"%>