获取异常信息的exception对象
exception内置对象用来处理JSP文件执行时发生的所有错误和异常。exception对象和Java的所有对象一样,都具有系统的继承结构,exception对象几乎定义了所有异常情况,这样的exception对象和常见的错误有所不同,所谓错误,指的是在程序运行中由于系统内存不足,在Web服务器中不能处理计算机本身的问题。
与错误不同,exception指的是Web应用程序所能够识别并能够处理的问题。在Java中,利用名为“try/catch”的关键字来处理异常情况,如果在JSP页面中出现没有捕捉到的异常,就会生成exception对象,并把这个exception对象传送到在page指令中设定的错误页面中,然后在错误提示页面中处理相应的exception对象。exception对象只有在错误页面(在页面指令里有isErrorPage=true的页面)才可以使用。
如表1所示,列举出比较常用的exception对象的方法。
表1 exception对象的常用方法
本实例将通过exception异常对象将系统出现的异常转向到其他页面,程序代码如下:
(1)创建名称为index.jsp的页面,该页面主要是编写发生异常的代码:
index.jsp完整代码:
<%@ page language="java" import="java.util.*" pageEncoding="gb2312" errorPage="error.jsp"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>getException对象</title>
</head>
<body>
下面将要发生错误!!!<br>
<%
int a=9;
int b=0;
%>
结果=<%=(a/b)%> <!—结果会出现异常信息-->
</body>
</html>
(2)创建名称为error.jsp的页面,在上一个页面中指向出错页面,而在下面的获取错误信息页面接收传递过来的exception信息。页面主要代码如下:
error.java完整代码:
<%@ page language="java" import="java.util.*" pageEncoding="gb2312" isErrorPage="true"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>getException对象</title>
</head>
<body>
获取发生的错误!!!<br>
<%=exception.getMessage()%>
</body>
</html>
(3)WEB-INF\web.xml完整代码
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4"
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
</web-app>
(4)程序发布后,启动Tomcat服务器,在浏览器地址栏中输入如下地址:http://127.0.0.1:8080/09,运行结果如图1所示。