application对象
application对象用于保存应用程序中的共有数据。他在服务器启动时自动创建,在服务器停止时销毁。
当application对象存在时,所有用户都可以共享该application对象。与session相比application对象生命周期更长,范围更大,类似于系统的全局变量。
常用方法:
方法名称 说明
void setAttribute(String key,Object value) 以key/value的形式保存对象值
Object getAttribute(String key) 通过key获取对象值
String getRealPath(String path) 返回相对路径的真实路径
Eg
<%=application.getRealPath("/WEB-INF") %>
对象的作用域
名称 对象 说明
page范围 pageContext 在一个页面范围内有效,通过pageContext对象访问
request范围 request 在一个服务器请求范围内有效
session范围 session 在一次会话范围内容有效
application范围 application 在一个应用服务器范围内有效
out对象
out对象用于在web浏览器内输出信息,并管理服务器上的输出缓冲区。
在使用out对象输出数据时,可以对数据缓冲区进行操作,及时清除缓冲区中的残余数据,为其他的输出让出缓冲区,数据输完后,要及时关闭输出流。
常用方法:
方法 说明
clear() 清除缓冲区中的内容
clearBuffer() 清除当前缓冲区中的内容
flush() 刷新流
isAutoFlush() 检测当前缓冲区已满时是自动清空,还是抛出异常
getBufferSize() 获取缓冲区的大小
七、pageContext
pageContext对象是一个比较特殊的内置对象,用于获取页面上下文,通过他可以获取jsp页面的其他8个内置对象。
pageContext对象的创建和初始化都是由容器完成的。
常用方法:
方法 说明
getAttribute(String name) 取得page范围内的值
setAttribute(String name) 设置page范围内的值
getAttribute(String name,int scope) 取得指定范围内的值
setAttribute(String name,int scope) 设置指定范围内的值
scope可以为如下4个值:
PageContext.PAGE_SCOPE 对应于page范围
PageContext.REQUEST_SCOPE 对应于request范围
PageContext.SESSION_SCOPE 对应于session范围
PageContext.APPLICATION_SCOPE 对应于application范围
config对象
config对象用于取得Servlet的配置信息。
常用方法:
方法 说明
getServletContext() 获取Servlet上下文
getServletName() 获取Servlet服务器名
getInitParameter() 获取服务器所有初始参数名称,返回值为java.util.Enumeration对象
getInitParameterNames() 名获取服务器中name参数的初始值
page对象
page对象代表JSP本身,只有在JSP页面内才是合法的。Page对象本质上是包含当前Servlet接口引用的变量。可以看做是this关键字的别名。
exception对象
exception对象用于处理jsp页面发生的异常。只有在page指令中设置isErrorPage属性的值为true的jsp页面才可以使用exception内置对象。
用方法:
方法 说明
getMessage() 返回exception对象的异常信息字符串
getLocalizedmessage() 返回本地化的异常错误
toString() 返回关于异常错误的简单信息描述
fillInStackTrace() 重写异常错误的栈执行轨迹
eg:500.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"
isErrorPage="true"
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>My JSP '500.jsp' starting page</title>
</head>
<body>
<h1>该页面发生错误,请联系管理员</h1>
<%=exception.getMessage() %>
</body>
</html>