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的范围移除时,通知正在收听的对象

 

posted @ 2016-10-09 22:22  洋哥是那金色的太阳  阅读(448)  评论(0)    收藏  举报