JSP中一共有九个内置的对象,分别是:request、response、session、application、out、pagecontext、config、page、exception
1.request
该对象代表了客户端的请求信息,主要用于接受通过HTTP协议传送到服务器的数据。request对象的作用域为一次请求。
2.response
该对象是对客户端的响应,主要是将JSP容器处理过的对象传回到客户端。response对象的作用域只在JSP页面内有效。
3.session
该对象是客服端和服务器的一次会话。服务器为每个用户都生成一个session对象,用于保存该用户的信息,跟踪用户的操作状态。直到客户端断开连接或者,session时间到期后断开。
4.application
该对象是存在于整个应用中,开始于服务器启动,结束于服务器关闭。这个对象中可以保存信息在应用任何地方都可以用。
5.out
该对象是JspWriter类的实例,是向客户端浏览器输出内容经常要用到的对象 。就只能作用在当前页面。用完过后要及时清除缓冲区的内容,腾出空间,还要记得关闭输出流。
6.pagecontext
该对象可以获取当前jsp页面任何范围的参数。比如out、request、reponse、session、application 等对象。
7.config
该对象的作用就是当一个Servlet 初始化时,容器(Tomcat、JRun、Resin等)把某些信息;服务器的一些信息等通过 config对象传递给这个 Servlet。
8.page
该对象就是指向的当前jsp页面本身。
9.exception
对象就是在页面运行过程中出了异常来显示异常信息的,但是必须在页面中设置 isErrorPage="true" 才能使用;
四大作用域作用范围从小到大:
一、 生命周期:
pageContext:存在page中的变量,只作用于当前的jsp页面,当发生跳转、重定向、定时刷新时,将随之销毁;
request:存在request中的变量,作用于一次HTTP请求到服务器处理结束,返回响应的整个过程,该变量可以随着forward的方式跳转到多个jsp中,一但刷新页面,它们将重新计算;
session:存在Session中的变量,作用于一次会话中,从打开浏览器到关闭浏览器过程中,将一直累加;(若想在再次打开浏览器时,变量仍然存在,则可以将session的JSESSIONID存到Cookie中,在给cookie一个存活时间)
application:存在application中的变量,作用于整个应用中,即从应用启动到应用结束,如果不进行手工删除,它们将一直可以使用,而且这些变量所有用户均可使用。
二、 作用范围:
pageContext:用户请求的当前页面;
request:用户请求访问的当前组件,以及和当前web组件共享同一用户请求的web组件;
session:同一个Http会话中的web组件共享;
application:整个web应用的所有web组件共享,即只要是同一个服务器下的均可使用。