请求范围(ServletRequest)
何时创建和销毁的
- 创建:当用户向服务器发送一次请求,服务器创建一个Request对象。
- 销毁:当服务器对这次请求作出了响应,这个Request对象就销毁了。
- 如何存取数据
- 存数据:void setAttribute(String name, Object value);
- 取数据:Object getAttribute(String name);
- 作用范围
- 作用范围:一次请求到响应完成。(转发就是一次请求)
会话范围(HttpSession)
-
何时创建和销毁的
- 创建:当第一次调用getSession()方法的时候。
- 销毁:三种情况
- ①Session过期,默认的过期时间30分钟(web.xml中配置)
- ②非正常关闭服务器。(正常关闭服务器session会被序列化)
- ③手动调用 session.invalidate()方法
-
如何存取数据
- 存数据:void setAttribute(String name, Object value);
- 取数据:Object getAttribute(String name);
-
作用范围
- 作用范围:一次会话(多次请求)
应用范围(ServletContext)
- 何时创建和销毁
- 创建:服务器启动时就创建,为每个web项目创建一个单独的ServletContext对象。
- 销毁:服务器关闭或者是项目从服务器移除的时候。
- 如何存取数据
- 存数据:void setAttribute(String name, Object value);
- 取数据:Object getAttribute(String name);
- 作用范围
- 作用范围:整个应用