监听域对象的创建和销毁

Servlet <mstyle mathcolor="&#35;f01"> X X X X X X X X </mstyle> \color{#f01}{XXXXXXXX} XXXXXXXXListener 接口



***的创建

  • 创建一个实现了 ServletContextListener 的类,并且实现其中的两个方法。
    public class HelloServletContextListener implements ServletContextListener {

  • 在 web.xml 文件中配置 Listener
    <listener>
    <listener-class>com.edut.listener.HelloServletContextListener</listener-class>
    </listener>

  • 有什么用?
    ServletContextListener 是最常用的 Listener ,
    可以在当前 Web 应用被加载时对当前 Web 应用的相关资源进行初始化操作。

  1. 创建数据库连接池,
  2. 创建 Spring 的 IOC 容器
  3. 读取当前 Web 应用的初始化参数
  • API
    contextDestroyed(ServletCjontextEvent sce ) - ServletContext 对象被创建的时候(<mark>当前 Web 应用被加载的时候</mark>), Servlet容器调用方法
    contextInitialized(ServletCjontextEvent sce ) - ServletContext 对象被销毁之前(<mark>当前 Web 应用被卸载的时候</mark>), Servlet容器调用方法
    ServletContextEvent 中的: getServletContext() 获取 ServletConetxt

session

  1. 过时
  2. invalidate

关闭浏览器,不会 destroy, 可以通过 session id 找到 服务器中的 session 对象。

关闭服务器,不会 destroy , session 会被持久化

session的对象属性被序列化 - 石化
从序列化读取出来 - 活化 (对象除了 hashcode 其他一样) - 【散装存储】

通常还 有 序列化接口