Servlet事件监听器是Servlet规范中定义的一种特殊的类,监听Web应用程序中的ServletContext、HttpSession和ServletRequest等域对象的创建和销毁事件,以及监听这些域对象中的属性发生修改的事件。
1.按监听对象划分,监听器可以分为以下三种类型
- 用于监听ServletContext的事件监听器
- 用于监听HttpSession的事件监听器
- 用于监听ServletRequest的事件监听器
2.按监听事件类型划分,可以分为以下三种类型
- 用于监听域对象创建和销毁的监听器
- 用于监听域对象中的属性增加,删除和修改的事件监听器
- 用于监听绑定到HttpSession域中某个对象的状态的事件监听器
以下为每种类型的监听器
- ServletContext对象的创建和销毁,必须实现ServletContextListener接口,这个接口提供了2个方法,分别在对象创建和销毁时调用。
- HttpSession对象的创建和销毁,必须实现HttpSessionListener接口,这个接口提供了2个方法,分别在对象创建和销毁时调用。
- ServletRequest对象的创建和销毁,必须实现ServletRequestListener接口,这个接口提供了2个方法,分别在对象创建和销毁时调用。
- ServletContext域属性改变,必须实现ServletContextAttributeListener接口,这个接口提供了3个方法,分别在属性添加,删除和修改时调用。
- HttpSession域属性改变,必须实现HttpSessionAttributeListener接口,这个接口提供了3跟 方法,分别在属性添加,删除和修改时调用。
- ServletRequest域属性改变,必须实现ServletRequestAttributeListener接口,这个接口提供了3个方法,分别在属性添加,删除和修改时调用。
- session绑定事件监听,必须实现HttpSessionBindingListener接口,这个接口提供了2个方法,在有对象被绑定到session对象的某个属性上和从session对象的某个属性上移除时调用。
- session活化和钝化事件监听,必须实现HttpSessionActivationListener接口,这个接口提供了2个方法,在session钝化和活化时调用。