javaWeb之监听器(Listener)

监听器分为三类

  1. 与Servlet上下文相关的监听器接口
  2. 与会话相关的监听器接口
  3. 与请求相关的监听器接口
1. 与Servlet上下文相关的监听器接口
监听器接口名称说明
ServletContextListener用于监听ServletContext(application)对象的创建和销毁
ServletContextAttributeListener用于监听ServletContext(application)范围内属性的改变
ServletContextListener接口

ServletContextListener接口用于监听Web应用程序的ServletContext对象的创建和销毁。在声明监听器之后,web在创建和销毁此对象时就会产生一个ServletContextEvent事件对象,然后在去执行ServletContextListener接口中相应的方法。

(1) contextInitialized(ServletContextEvent sce);ServletContext 被创建时调用此方法。
(2) contextDestroyed(ServletContextEvent sce) ServletContext 被销毁时调用此方法。



ServletContextEvent中的方法

方法描述
getServletContext()返回改变前的ServletContext对象
ServletContextAttributeListener接口

ServletContextAttributeListener接口用于监听ServletContext(application)范围内属性的创建,修改和删除。 声明次监听器后当属性发生变化时,就会产生ServletContextAttributeEvent事件对象

ServletContextAttributeListener接口中相应的方法。

(1) attributeAdded(ServletContextAttributeEvent sce);属性被添加时调用此方法。
(2) attributeRemoved(ServletContextAttributeEvent sce) 属性被删除时调用此方法。
(3) attributeReplaced(ServletContextAttributeEvent sce)属性被替换时调用此方法

ServletContextAttributeEvent中的方法

方法描述
getname()返回ServletContext改变的属性名
getValue()如果是添加的属性,则返回发属性的值,如果是修改的属性的值,则返回该属性的旧值,如果是删除该属性,则返回删除该属性的值
2. 与会话相关的监听器接口
监听器接口名称说明
HttpsessionListener用于监听会话对象的创建和销毁
HttpSessionAttributeListener用域监听会话域内属性的改变
HttpsessionListener接口

用于监听创建或销毁HttpSession对象时别调用,web在创建和销毁HttpSession对象时就会产生一个HttpSessionEvent事件对象,然后在去执行HttpsessionListener接口中相应的方法。

方法描述
sessionCreate(HttpSessionEvent se)session对象创建是调用
sessionDestroyed(HttpSessionEvent se)session对象销毁时调用

HttpSessionEvent中的方法

方法描述
getSession()返回改变前的HttpSession对象
HttpsessionAttributeListener接口

用于监听会话域属性的创建,删除和修改,当发生改变时会产生HttpSessionAttributeEvent类然后在去执行HttpsessionAttributeListener接口中相应的方法。

(1) attributeAdded(HttpSessionAttributeEvent sce);属性被添加时调用此方法。
(2) attributeRemoved(HttpSessionAttributeEvent sce) 属性被删除时调用此方法。
(3) attributeReplaced(HttpSessionAttributeEvent sce)属性被替换时调用此方法

ServletContextAttributeEvent中的方法

方法描述
getname()返回HttpSession改变的属性名
getValue()如果是添加的属性,则返回发属性的值,如果是修改的属性的值,则返回该属性的旧值,如果是删除该属性,则返回删除该属性的值
3. 与请求相关的监听器接口
监听器接口名称说明
ServletRequestListener用于监听用户请求对象的创建和销毁
ServletRequestAttributeListener用域监听请求域内属性的改变
ServletRequestListener接口

ServletRequestListener接口用于监听Web应用程序的ServletRequest对象的创建和销毁。在声明监听器之后,web在创建和销毁此对象时就会产生一个ServletRequestEvent事件对象,然后在去执行ServletRequestListener接口中相应的方法。

(1) contextInitialized(ServletRequestEvent sce);ServletRequest 被创建时调用此方法。
(2) contextDestroyed(ServletRequestEvent sce) ServletRequest 被销毁时调用此方法。



ServletRequestEvent中的方法

方法描述
getServletRequest()返回改变前的ServletRequest对象
ServletRequestAttributeListener接口

用于监听请求域属性的创建,删除和修改,当发生改变时会产生ServletRequestAttributeEvent类然后在去执行ServletRequestAttributeListener接口中相应的方法。

(1) attributeAdded(ServletRequestAttributeEvent sce);属性被添加时调用此方法。
(2) attributeRemoved(ServletRequestAttributeEvent sce) 属性被删除时调用此方法。
(3) attributeReplaced(ServletRequestAttributeEvent sce)属性被替换时调用此方法

ServletRequestAttributeEvent中的方法

方法描述
getname()返回HttpSession改变的属性名
getValue()如果是添加的属性,则返回发属性的值,如果是修改的属性的值,则返回该属性的旧值,如果是删除该属性,则返回删除该属性的值
4. 监听器在web.xml文件中配置
<listener>
		<description>MyListener</description>
		<listener-class>cn.bzu.filterProject.listener.MyListener</listener-class>	<!-- 监听器的类所在的类全名 -->
	</listener>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值