监听器的介绍

监听器:作用域事件发生的时间往往是不确定的,当事件发生的时候需要进行一些处理时,就可以使用监听器,例如监听一个事件的创建,销毁。

  1. 监听器的API事件类和接口
  2. 6种事件

1.上下文事件:

ServletContextEvent:当上下文对象发生改变,入创建,销毁时触发

ServletContextAttributeEvent:当上下文属性发生改变,入增加,删除,覆盖时触发

2.请求相关的事件:

ServletRecuestEvent:该类表示请求事件,当请求对象发生改变,如创建或销毁请求对象时,触发请求事件。

SenvletReocuestAttriuteEvent :该类表示请求属性事件,当请求中的属性改变,如增加、删除、覆盖请求中的属性时,触发请求属性事件。

3.会话相关的事件

HtpsessionEvent :该类表示会话事件,当会话对象发生改变,如创建或销毁会话对象,活化或钝化会话对象时,将触发会话事件。

HttpSessionAttributeEvent :该类表示会话绑定事件,当会话中的属性发生变化时,如增加、删除、覆盖会话中的属性时,将触发绑定的事件

  1. 监听器接口

1.上下文相关的监听器

ServletContextListener :上下文监听器,监听ServletContextEvent事件

ServletContextAttributeListener :上下文属性监听器,用来监听ServletContextAttribute事件

2.请求相关的监听器

ServletRequestListener:请求监听器,监听ServletRequestEvent事件

ServletRequestAttributeListener :请求属性监听器,用来监听

ServletRequestAttributeEvent事件

3.会话相关的监听器

HttpSessionListener :会话监听器,监听HttpSessionEvent

HttpSessionActivationListener:会话活化监听器,监听HttpSessionEvent事件

HttpSessionAttributeListener :会话属性监听器,监听 HttpSessionAttributeEvvent 事件。

HttpSessionBindingListener :会话绑定监听器,监听HttpSessionAttributeEvent事件。

  1. 监听器实现步骤:
  1. 编写一个类,实现对应的接口
  2. 重写接口中的方法,实现监听功能
  3. 在web.xml中进行配置

HttpSessionListener ∶会话监听器,当会话对象被创建后或销毁前需要一些自定义处理时,可以用此监听器监听;

HttpSessionActivationListener :会话活化监听器,会话对象存在于服务器端,只要没有失效,服务器就得分配空间给其使用;为了能够提高使用效率,服务器有内在的活化钝化机制,可以将暂时不使用的会话对象钝化到外存,需要使用时再活化到内存。当活化后或钝化前需要一些自定义处理时,可以使用该监听器;

HttpSessionAttributeListener :会话属性监听器,当会话中的属性被添加、删除替换时,要进行一些自定义处理时,可以使用该监听器,使用时可以用事件对象获取属性的名字等信息

HttpSessionBindingListener:会话绑定监听器,当类实现了HttpSessionBindingListener 接口后,该类对象绑定或解除绑定到会话时,就会被该监听器监听。绑定指的是调用setAttribute方法,解除绑定指的是调用removeAttribute方法,或者会话超时、会话失效等。

  1. HttpSessionAttributeListener和HttpSessionBindinaListener的区别

HttpSessionAttributeListener是只要会话对象中使用setAttriubte,removeAttribute,都会被通知,不管属性是什么类型。

HttpSessionBindinaListener是只有实现了这个接口的类的对象作为属性时,才能被通知,另外,当会话超时,失效时,也会被通知

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值