5.2 Listener监听器(重点)
5.2.1 基本概念
- Servlet规范中定义的一种特殊的组件,用来监听Servlet容器产生的事件并进行相应的处理。
- 容器产生的事件分类如下:
- 生命周期相关的事件。
- 属性状态相关的事件。
- 存值状态相关的事件。
- 底层原理是采用接口回调的方式实现。
5.2.2 基本分类
5.2.3 监听器详解
(1)ServletRequestListener监听器
- 在ServletRequest创建和关闭时都会通知ServletRequestListener监听器。
- 常用方法如下:
(2)ServletRequestAttributeListener监听器
- 向ServletRequest添加、删除或者替换一个属性的时候,将会通知 ServletRequestAttributeListener监听器。
- 常用方法如下:
(3)HttpSessionListener监听器
- 当一个HttpSession刚被创建或者失效(invalidate)的时候,将会通知HttpSessionListener监听器。
- 常用方法如下:
(4)HttpSessionAttributeListener监听器
- HttpSession中添加、删除或者替换一个属性的时候,将会通知HttpSessionAttributeListener监听器。
- 常用方法如下:
(5)ServletContextListener监听器
- 在ServletContext创建和关闭时都会通知ServletContextListener监听器。
- 常用方法如下:
(6)ServletContextAttributeListener监听器
- 向ServletContext添加、删除或者替换一个属性的时候,将会通知
ServletContextAttributesListener监听器
- 常用方法如下:
(7)HttpSessionBindingListener监听器
- HttpSession中绑定和解除绑定时,将会通知HttpSessionListener监听器。
- 常用方法如下:
(8)HttpSessionActivationListener监听器
- 当有session数值的钝化和活化操作时,将会通知HttpSessionActivationListener监听器。
- 常用方法如下:
- 配置context.xml文件的方式如下:
5.2.4 实战案例
- 自定义类实现监听器接口并重写相关的方法。
- 在web.xml中配置监听器