Servlet监听器
在web程序启动是和关闭时执行一些任务(如数据库连接的建立和释放),或者想要监控Session的创建和销毁,那么都可以通过监听器来实现.
Servlet监听器简介
监听器的作用是监听web容器的有效期事件,因此它是由容器管理的。利用Listener接口监听在容器中的某个执行程序,并且根据其应用程序的需求做适当的响应。 下表列出Servlet和JS中的8个Listener接口和6个Event类
| Listener接口 | Event类 |
| ServletContextListener | ServletContextEvent |
| ServletContextAttributeListener | ServletContextAttributeEvent |
| HttpSessionListener | HttpSessionEvent |
| HttpSessionActiviationListener | |
| HttpSessionAttributeListener | HttpSessionBindingEvent |
| HttpSessionBindingListener | |
| ServletRequestListener | ServletRequestEvent |
| ServletRequestAttributeListener | ServletRequestAttriteEvent |
servlet监听器主要是对web应用进行监听和控制的,极大的增强了web应用的时间处理能力,功能类似于GUI程序的监听器,可以监听web应用中状态的改变而引起的Servlet容器产生的相应事件,然后接受并处理这些事件。
1.Servlet上下文监听
servlet上下文监听可以监听ServletContext对象的创建、删除以及属性添加、删除和修改操作,该监听器需要用到如下两个接口
ServletContextListener接口:它主要实现监听ServletContext的创建和删除。
ServletAttributeListener接口:主要监听Servlet属性在Application的范围内的增加、删除和修改。
2.HTTP会话监听
HTPP回话监听(HttpSession)信息,有4个接口可以进行监听
HttpSessionListener接口:实现监听Http会话的创建、销毁
HttpSessionActivationListener接口:实现监听Http会话active和passivate
HttpBingdingListener接口:实现监听HTTP会话中对象绑定信息。它是唯一不需要在web.xml中设定的listener的
HttpSessionAttributeListener接口:实现监听HTTP会话中属性的设置请求。
3.Servlet请求监听
ServletRequestListener接口:
requestInitialized(ServletRequestEvent event)方法:通知正在收听的对象,ServletRequest已经被加载及初始化
requestDestoryed(ServletRequestEvent event)方法:通知正在收听的对象,ServletRequest已经被载出,即关闭
ServletRequestAttributeListener接口:
attributeAdded(ServletRequstAttributeEvent event)方法:当对象加入request的范围是,通知正在收听的对象
attribudeReplaced(ServletRequstAttributeEvent event)方法:当在request的范围内有对象取代另一对象的时候,通知正在收听的对象
atttributeRemoved(ServletRequestAtrribute event)方法:当有对象从request的范围移除时,通知正在收听的对象

浙公网安备 33010602011771号