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范围