1.ServletRequest
- 创建:当用户向服务器发送一次请求,服务器创建一个request对象。
- 销毁:当服务器对这次请求作出了响应,服务器就会销毁这个request对象。
作用范围:一次请求。(转发是一次请求)。
2. HttpSession
- 创建:服务器端第一次调用getSession()方法的时候。
- 销毁:三种情况。
- Session过期,默认的过期时间30分钟(web.xml中配置)。
- 关闭服务器。(正常关闭服务器—session中保存的数据会被序列化)。
- 服务器正常关闭后,Session中的数据会被序列化到磁盘中,服务器再次启动的时候,会将 磁盘中保存的session的数据加载到内存中,创建一个新的Session,sessionID还用的是原来的SessionID.所以浏览器能够再次访问到session中的数据.
- 手动调用
session.invalidate()
;
作用范围:一次会话(多次请求)
3. ServletContext
- 创建:服务器启动的时候创建,为每个web项目创建一个单独ServletContext对象。
- 销毁:服务器关闭的时候,或者项目从服务器中移除的时候。
作用范围:整个应用
4. PageContext(JSP中)
- 通过这个对象可以获得JSP的其他8个内置对象
作用范围:page范围