前言:
监听器:
我的理解就是监听作用,一旦发现被监听的内容满足条件就触发条件。
主要是用来监听特定对象的创建或销毁、属性的变化的!
监视器都是接口,注意都是普通类继承该接口
Servlet中哪些对象需要监听?
request :request监听器
session :session相关监听器
servletContext :servletContext监听器
监听器接口:
监听对象创建/销毁的监听器接口
Interface ServletRequestListener 监听request对象的创建或销毁
Interface HttpSessionListener 监听session对象的创建或销毁
Interface ServletContextListener 监听servletContext对象的创建或销毁
监听对象属性的变化的监听器接口
Interface ServletRequestAttributeListener 监听request对象属性变化: 添加、移除、修改
Interface HttpSessionAttributeListener 监听session对象属性变化: 添加、移除、修改
Interface ServletContextAttributeListener 监听servletContext对象属性变化
session相关监听器
这个直接是要监听的对象继承监听接口,这个对象一般都是自己创造的
Interface HttpSessionBindingListener 监听对象绑定到session上的事件
Interface HttpSessionActivationListener(了解) 监听session序列化及反序列化的事件
前两个都要配置web.xml
最后一个session相关监听器不需要
因为监听的对象是自己创建的对象,不是服务器对象!
而前两个都是服务器创建的对象,所以需要添加到web.xml中监听
web.xml配置:
<listener>
<listener-class>带包名的listener</listener-class>
</listener>