一、什么是Listen监听器
1,Listener监听器它是 JavaWeb 的三大组件之一,Listener 它是 JavaEE 的规范,就是接口。
2,JavaWeb 的三大组件分别是:Servlet 程序、Filter 过滤器、Listener 监听器。
3,监听器的作用是,监听某种事物的变化,然后通过回调函数,反馈给客户(程序)去做一些相应的处理。监听器可以监听在application,session,request三个对象创建、销毁或者向其中添加修改删除属性时自动执行代码的功能组件
二、配置Listen监听器
1,使用注解配置,@WebListener 来配置监听器。任何标注为@WebListener,且实现了特定接口的类会被Web服务器自动初始化。
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
import javax.servlet.annotation.WebListener;
@WebListener
public class MyServletContextListener implements ServletContextListener {
@Override
public void contextInitialized(ServletContextEvent servletContextEvent) {
System.out.println("Servlet上下文对象初始化动作被我监听到了....");
}
@Override
public void contextDestroyed(ServletContextEvent servletContextEvent) {
System.out.println("Servlet上下文对象销毁动作被我监听到了.....");
}
}
2,使用web.xml配置监听器
<listener>
<listener-class>com.listener.MyServletContextListener</listener-class>
</listener>
二、Listener监听器分类
1) ServletContextListener - 监听ServletContext对象的创建和销毁的过程
2) HttpSessionListener - 监听HttpSession对象的创建和销毁的过程
3) ServletRequestListener - 监听ServletRequest对象的创建和销毁的过程
4) ServletContextAttributeListener - 监听ServletContext的保存作用域的改动(add,remove,replace)
5) HttpSessionAttributeListener - 监听HttpSession的保存作用域的改动(add,remove,replace)
6) ServletRequestAttributeListener - 监听ServletRequest的保存作用域的改动(add,remove,replace)
7) HttpSessionBindingListener - 监听某个对象在Session域中的创建与移除
8) HttpSessionActivationListener - 监听某个对象在Session域中的序列化和反序列化