首页 > 代码库 > Java Web总结二十一Listener监听器

Java Web总结二十一Listener监听器

一、事件三要素

  1、事件源:操作事件的对象,例如:窗体Frame

  2、事件监听器:事件监听器监听事件源,例如WindowListner,它是一个接口  

  3、事件,例如:单击事件,通过事件,可以取得事件源

二、适配器模式

  1、当一个接口有较多的方法时,而实现类只需对其中少数几个实现,此时可以使用适配器模式

  2、适配器模式常用于GUI编程

三、八种Web监听器

  1、Web中有三个事件源,分别是ServletContext->HttpSession->ServletRequest

  2、ServletContext对象

    》》创建和销毁:ServletContextListener,Web容器部署时产生,Web容器重新部署时销毁原ServletContext对象

    》》属性变化:ServletContextAttributeListner

  3、ServletRequest对象

    》》创建和销毁:ServletRequestListener,每次请求产生,响应完毕后销毁

    》》属性变化:ServletRequestAttributeListner

  4、HttpSession对象

    》》创建和销毁:HttpSessionListener,当Web容器创建HttpSession对象中产生,当Web容器销毁HttpSession对象执行对应的销毁方法

    》》属性变化:HttpSessionAttributeListner

  5、HttpSessionBindListener监听器,专用于监听JavaBean对象在HttpSession中的状态情况

    但凡是监听三个域对象,就需要在web.xml文件中配置,除外,无需要web.xml文件配置    

 

  6、HttpSessionActivationListener监听器,专用于监听JavaBean对象的钝化与激活    

    当HttpSession不用时,但用在HttpSession的有效期中,这时将内存中的HttpSessio移到外存,叫钝化。  

    反之,将HttpSession由外存移到内存,叫激活。

四、监听器的工作过程和生命周期

  1、开发过程:

    1)写一个普通类实现对应的接口,即事件监听器。

    2)在web.xml文件中注册事件监听器         

<!-- 事件源注册事件监听器,由容器完成 -->
    <listener>
        <listener-class>cn.itcast.web.listener.MyServletContextListener</listener-class>        
      </listener> 

  2、生命周期:空参构造(1次)->初始化(1次)->销毁化(1次),是一个单例的模式

    在部署web应用时产生,即用户第一次访问之前已经产生,在重新部署web应用时,后销毁原监听器,再产生新的监听器