简介
什么是 监听器?
Servlet 的三大技术 Servlet, Filter, Listener
用于监听javaEE某些组件对象的状态变化,通常用于监听域对象
那么有哪些监听器呢
-Servlet提供了八个监听器接口
-6个用于监听域对象
还有一个域对象,因为作用范围太小了生命周期太短,所以没有它的监听器;
剩下两个特殊的监听器
-
HttpSessionBindingListener
:监听JavaBean对象被放到了session里、从session里移除了 -
HttpSessionActivationListener
:监听session里的JavaBean对象钝化与活化
ServletContextListener接口
- 监听谁(事件源):
ServletContext
对象 - 监听什么(事件):创建与销毁,通常用于监听服务器的启动与关闭。
- ServletContext在服务器启动时,会被创建
- ServletContext在服务器关闭时,会被销毁
- 使用场景:
SSM整合时,要在服务器启动就加载Spring配置文件
- 使用步骤
- 创建Java类,实现监听器接口:
ServletContextListener
- 实现接口的方法
- 使用注解配置:
@WebListener
- 创建Java类,实现监听器接口:
* 要监听服务器的启动与关闭
* 就需要:监听ServletContext对象的创建与销毁
*/
@WebListener
public class ContextListener implements ServletContextListener {
/**
* 当ServletContext对象被初始化时,这个方法会执行
* 即:当服务器启动时,这个方法会执行
* @param sce
*/
@Override
public void contextInitialized(ServletContextEvent sce) {
System.out.println("服务器启动了...");
}
/**
* 当ServletContext对象被销毁时,这个方法会执行
* 即:当服务器关闭时,这个方法会执行
* @param sce
*/
@Override
public void contextDestroyed(ServletContextEvent sce) {
System.out.println("服务器关闭了...");
}
}