四大作用域总结
相同点
- 都是域对象
- 都可以(利用自身map集合)保存数据
- 操作方法相同
- 都有生命周期、作用范围
不同点
-
pageContext
代表当前JSP页面(运行环境)的对象
生命周期:
当访问JSP开始是创建配置PageContext对象,
在访问JSP结束时销毁PageContext对象。
作用范围:
当前整个JSP页面范围内
主要功能:
在整个JSP页面范围内实现资源共享
-
request
代表HTTP请求的对象
生命周期:
一次请求开始时创建
一次请求结束时销毁
作用范围:
整个请求连,或者一次请求经过的资源
主要功能
在整个范围内实现资源共享
-
session
代表整个会话
生命周期:
创建:
第一调用request.getSession()对象时创建
request.getSession(true)
--如果服务器内部有对应的session,返回
--无的话创建并返回
request.getSession(true)
--如果有对应的session直接返回
--如果无对应session直接返回null
销毁:
- 超时销毁:超过30分钟没有被访问,会超时销毁
- 1 时间可修改
- 自杀:当调用session的invalidate方法,则立即销毁
- 意外身亡:服务器非正常关闭时,session也会立即销毁
作用范围:
整个会话范围内
主要功能:
整个会话中实现资源共享
-
ServletContext
代表整个Web应用的对象
生命周期
服务器启动web应用被服务器加载后,服务器会立即创建出代表整个web应用的对象,
在服务器关闭或web应用被移除时,销毁
作用范围
整个web应用范围内
主要功能
在整个web应用内实现资源的共享