天天看点

jsp九大内置对象(三)page、config、exception

前面说到Jsp 有九大内置对象,分别是 request 、response、out、session、application 、page 、pageContent、exception、config。

按照功能划分:

输出输入对象:request对象、response对象、out对象

通信控制对象:pageContext对象、session对象、application对象

 Servlet对象:page对象、config对象

错误处理对象:exception对象

-------------------------------------------------------------------------------

page对象

page 对象是java.lang.Object类的实例,它指向当前JSP页面本身。 page隐含对象本质上包含当前 Servlet接口引用的变量,类似于Java编程中的 this 指针。常用方法有:

jsp九大内置对象(三)page、config、exception

config对象

config 对象的主要作用是取得服务器的配置信息。信息包括Servlet 初始化时所要用到的参数(由属性名和属性值构成)和服务器的有关信息(封装在ServletContext对象中)。

config对象常用的方法有:

jsp九大内置对象(三)page、config、exception

exception对象

exception 对象的作用是显示异常信息,只有在包含 isErrorPage="true" 的页面中才可以被使用,

同时在可能出错的页面需要设置errorPage=""指向错误信息一旦出现,跳转到指定页面显示。

具体操作如下:

exception.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" errorPage="iferror.jsp"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
	out.println(100/0);//使除数为0 ,算术异常
%>

</body>
</html>
           

iferror.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8 "
    pageEncoding="UTF-8" isErrorPage="true"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
异常出现了!<br>
<%=exception.getMessage() %><br>
<%=exception.toString() %><br>
</body>
</html>
           

最后运行的时候因为exception.jsp页面出错,所以直接跳转到iferror.jsp页面,同时显示错误原因。

ps,使用eclipse运行的时候,因为eclipse是用自带的浏览器,可能版本跟不上,所以无法正常显示错误信息,复制网址到360浏览器,就可以正常显示了。

继续阅读