22-监听器

一、 事件监听

1. 在程序中经常会用到事件监听机制

2. 关键字:

事件: 用户的一个操作, 可以是点击一个按钮、调用一个方法、创建一个对象

事件源: 发生事件的对象

事件监听器:  负责监听发生在事件源上的事件

事件处理器:  监听器的成员方法,当事件发生的时候会触发对应的处理器(成员方法)

3. 事件处理机制

    1) 将监听器绑定到事件源

    2) 事件发生触发监听器的成员方法,即事件处理器,传递事件对象

    3) 事件处理器通过事件获得事件源,进行处理

4. 做事件监听一般都需要做两件事情

    1) 写一个类实现监听器接口

    2) 将监听器注册到事件源上

 

二、 servlet事件监听器

1. 在Servlet 技术中主要有三类事件监听器:

 

1) 监听三个域对象的创建和销毁

    ServletContextListener、HttpSessionListener、HttpServletRequestListener

    三个监听器都是接口类型

 

    public interface ServletContextListener

    {

       // 事件处理器

       init

   

 

       destroy

    }

    web应用启动时, web 容器会将所有的监听器都实例化,并绑定到对应的事件源上

   

2) 监听三个域对象中属性的变化(增加、删除和替换)

    setAttribute   getAttribute  removeAttribute

    ServletContextAttributeListener,

    HttpSessionAttributeListener

    ServletRequestAttributeListener

 

    处理器

attributeAdded

attributeReplaced

attributeRemoved

 

3) 感知对象被绑定到session域

    HttpSessionBindingListener

    该接口由javabean对象来实现

    该监听器不需要注册

 

案例: 统计来访者的ip  ServletRequestListener

       统计在线人数  HttpSessionListener

        统计在线用户  HttpSessionBindingListener

        session定时扫描器  HttpSessionListener

 

你可能感兴趣的:(#)