3.7 错误处理

3.7 错误处理

错误处理页面有什么用

JSP提供了很好的错误处理能力。除了在Java代码中可以使用try语句捕捉异常之外,JSP中还可以指定一个特殊的页面进行异常处理。这样当应用页面遇到try语句没有捕获到的异常的时候,用户就可以看到一个精心设计的异常处理页面,该页面向用户解释发生了什么,而不是显示一个用户无法理解的错误信息。

如何设置一个错误处理页面

要想把一个JSP页面设置为错误页面,只要把page指令的isErrorPage属性设置为true即可。

实例

errorHandler.jsp:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@page isErrorPage="true"%>
<!DOCTYPE html>
<html>
<head>
<title>错误处理页面</title>
</head>
<body>
发生了一个错误
<br />错误信息:
<%
out.println(exception.toString());
%>
</body>
</html>

如何在其他页面指定要进行错误处理的页面

在其他页面,把page指令的errorPage属性设置为上面的错误处理页面即可。这样如果该页面产生了错误,错误将由错误处理页面进行处理,而不是将错误打印到服务器控制台中。

实例

pageHasError.jsp:

1
2
3
4
5
6
7
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@page errorPage="errorHandler.jsp"%>
<h2>生成一个错误</h2>
<%
Integer.parseInt("Throw me");
%>

访问pageHasError.jsp页面,将显示如下:
这里有一张图片
可以看到浏览器显示的是errorHandler.jsp页面的内容,查看服务器控制台,我们将不会看到错误信息.