JavaWeb四大域对象详解
一.介绍
在JavaWeb中存在四大域对象,根据它们的作用范围从小到大,分别是PageContext、Request、Session 、application。下面主要针对作用范围,生命周期进行介绍。
二. PageContext
a.
PageContext在jsp中,是作用范围最小的一个;所用范围仅限于当前的jsp页面,对于在servlet中无法获取该对象。
b.
对jsp请求时,生命周期开始;响应后,生命周期结束销毁。
三. Request
a.
相对于PageContext次之,仅限同一个请求,主要用于请求转发。
b.生命周期
在service 方法调用前由服务器创建开始;在整个请求结束,生命周期结束销毁。
四. Session
a.
相对于Request次之,仅限于一次会话,会话从浏览器打开开始,关闭时结束;在servlet中获取方式是通过request对象获取。
b.
在第一次调用 request.getSession() 方法时开始,服务器会检查是否已经有对应的session,如果没有就在内存 中创建一个session并返回;若设置了session失效时间,则到时间则失效,同时关闭浏览器则销毁失效(注:失效时间没到,关闭浏览器,也会强制失效)
五. Application
a.
作用范围最大,范围限于当前web应用;只要在一处设置的属性,其它各处的jsp或者是servlet都可以获取,同时在servlet中对应的是ServletContext对象
b.
在Web应用被加载进容器时创建代表整个web应用的ServletContext对象,在服务器关闭或Web应用被移除时,ServletContext对象跟着销毁。
六. 作用域中操作属性的相关方法
void setAttribute(String name, Object o) | 设置属性 |
Object getAttribute(String name) | 根据name获取指定属性 |
Enumeration getAttributeNames() | 获取所有属性 |
void removeAttribute(String name) | 根据name移除指定的属性 |
点赞支持