zoukankan      html  css  js  c++  java
  • 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应用时,后销毁原监听器,再产生新的监听器

  • 相关阅读:
    分页工具类
    ajax乱码的问题
    ibatis配置文件中的XML解析错误The content of elements must consist of well-formed character data or markup.
    nginx 反向代理导致的session丢失的问题
    后台返回的值ajax接收不到
    C/C++中vector与list的区别
    C/C++中内存泄漏、内存溢出与野指针的解释与说明
    C++中深拷贝与浅拷贝
    C++中的构造函数与析构函数及组合类的调用
    Linux中request_irq()中断申请与处理说明
  • 原文地址:https://www.cnblogs.com/FlySheep/p/3752660.html
Copyright © 2011-2022 走看看