监听域对象的创建和销毁
Servlet XXXXXXXXListener 接口
***的创建
-
创建一个实现了 ServletContextListener 的类,并且实现其中的两个方法。
public class HelloServletContextListener implements ServletContextListener {
-
在 web.xml 文件中配置 Listener
<listener>
<listener-class>com.edut.listener.HelloServletContextListener</listener-class>
</listener>
-
有什么用?
ServletContextListener 是最常用的 Listener ,
可以在当前 Web 应用被加载时对当前 Web 应用的相关资源进行初始化操作。
- 创建数据库连接池,
- 创建 Spring 的 IOC 容器
- 读取当前 Web 应用的初始化参数
- …
- API
contextDestroyed(ServletCjontextEvent sce )
- ServletContext 对象被创建的时候(<mark>当前 Web 应用被加载的时候</mark>), Servlet容器调用方法
contextInitialized(ServletCjontextEvent sce )
- ServletContext 对象被销毁之前(<mark>当前 Web 应用被卸载的时候</mark>), Servlet容器调用方法
ServletContextEvent
中的:getServletContext()
获取 ServletConetxt
session
- 过时
- invalidate
关闭浏览器,不会 destroy, 可以通过 session id 找到 服务器中的 session 对象。
关闭服务器,不会 destroy , session 会被持久化
session的对象属性被序列化 - 石化
从序列化读取出来 - 活化 (对象除了 hashcode 其他一样) - 【散装存储】
通常还 有 序列化接口