kokonotsu

博客园 首页 新随笔 联系 订阅 管理

监听器的概念:

监听器类似于前端的事件绑定,java中的监听器用于监听web应用中某些对象、信息的创建、销毁、增加,修改,删除等动作的发生,然后作出相应的响应处理。当范围对象的状态发生变化的时候,服务器自动调用监听器对象中的方法。常用于统计在线人数和在线用户,系统加载时进行信息初始化,统计网站的访问量。它的接口定义了一个类要成为监听器必须具备的功能,所有的监听器接口也都必须继承监听器接口基类 java.util.EventListener;EventListener本身没有定义任何方法,它只是一个标志接口,用来表明所有继承自 EventListener的接口属于监听器接口。

监听器接口定义了监听器必须实现的方法。可以在监听器接口中定义任意多的事件处理方法,取决于应用所需,事件处理方法以事件对象作为入口参数,包含对事件进行处理的代码,方法名称任意,如processEvent或者handleEvent之类。监听器则是监听器接口的实现者,提供监听器接口中定义的所有方法的实现代码。简单情形下,一个监听器只监听一种类型的事件,即实现一种监听器接口。复杂的监 听器可以实现多种监听器接口,监听多种类型的事件。在事件处理方法代码中,监听器可以从入口参数中获得事件对象,并通过该对象获得所需的信息,例如事件 源、事件发生时间等等。事件源是一定可以从事件对象中 获得的,因为事件基类EventObject提供了getSource()方法,除此以外,能从事件对象中获得的信息,取决于事件类的定义


 

在我们的项目中常用的监听器分类有以下几种:

按监听的对象划分

a.ServletContext对象监听器

b.HttpSession对象监听器

c.ServletRequest对象监听器

按监听的事件划分

a.对象自身的创建和销毁的监听器

b.对象中属性的创建和消除的监听器

c.session中的某个对象的状态变化的监听器


 

在监听器中,作为事件源的类,必需满足以下条件:

事件源必须在内部维护一个已注册监听器的列表。当某监听器注册时,该监听器被添加到列表中,而监听器注销时,则从列表中删除,必须提供注册方法,以允许监听器注册为事件的接收者,必须提供注销方法,以允许监听器注销,停止对事件的接收,必须能够实例化事件类,即产生事件对象。

当事件对象被产生后,事件源必须向所有的注册监听器广播该消息。事件的广播,是通过逐个调用监听器列表中所有监听器的事件处理方法来实现的。

在学习和了解了监听器的原理和使用方式之后,我对监听器的作用做了一份小小的四点总结:

1.统计在线人数和在线用户 2.系统启动时加载初始化信息 3.统计网站访问量 4.跟Spring结合。

 

posted on 2022-05-20 23:57  小猫咸菜  阅读(43)  评论(0编辑  收藏  举报