监听器Listener

Posted ashl

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了监听器Listener相关的知识,希望对你有一定的参考价值。

一、监听器Listener

  Servlet规范中包括三个技术:Servlet,Listener和Filter

  1.什么是监听器?

  监听器就是监听某个对象的状态变化的组件,监听器的相关概念:

  事件源:被监听的对象。三个域对象Request,Session,ServletContext。

  监听器:监听事件源对象,事件源对象的状态的变化都会触发监听器,(6+2)

  注册监听器:将监听器与事件源进行绑定。

  响应行为:监听器监听到事件源的状态变化时所涉及的功能代码。

  2.监听器有哪些?

  第一纬度:按照被监听的对象划分:ServletRequest域,HttpSession域,ServletContext域。

  第二纬度:监听的内容:监听域对象的创建和销毁,监听域对象都额属性的变化

            域对象的创建和销毁       域对象的属性的变化

  ServletContext域:ServletContextListener      ServletContextAttributeListener

  HttpSession域:  HttpSessionListener        HttpSessionAttributeListener

  ServletRequest域:ServletRequestListener      ServletRequestAttributeListener

  3.监听三大域对象的创建与销毁的监听器

  (1) 监听器ServletContext域的创建与销毁的监听器ServletContextListener

    1)Servlet域的生命周期

    创建:服务器启动时创建

    销毁:服务器关闭时销毁

  2)监听器的编写步骤

    a.编写一个监听器类去实现监听器接口

    b.覆盖监听器的方法

    c.在web.xml中进行配置(注册)

   3)监听的方法

    ServletContextListener监听器

    public void contextInitialized(ServletContextEvent sce)

    public void contextDestroyed(ServletContextEvent sce)

  4)配置web.xml

    <listener>

      <listener-class>监听器类的名称(全名)</listener-class>

    </listener>

  5)ServletContextListener监听器的主要作用

    a.初始化的工作:初始化对象,初始化数据,加载数据库驱动,连接池的驱动

    b.加载一些初始化的配置文件:spring配置文件

    c.任务调度:定时器(Timer/TimerTask)

  (2)监听HttpSession域的创建与销毁的监听器HttpSessionListener

    1)HttpSession对象的生命周期

      创建:第一次调用request.getSession时创建

      销毁:服务器关闭,Session过期,手动销毁

    2)HttpSessionListener的方法

      创建和销毁

    (3)监听器ServletRequest域创建和销毁的监听器ServletRequestListener

      1)ServletRequest的生命周期

        创建:每一次请求都会创建Request

        销毁:请求结束

      2)ServletRequestListener的方法:

        创建和销毁

    4.监听三大域对象的属性的变化

    (1)域对象的通用方法:

      setAttribute(name,value)

      触发添加属性点额监听器的方法,触发修改属性的监听器的方法

      getAttribute(name)

      removeAttribute(name)

      触发删除属性的监听器的方法

    (2)ServletContextAttributeListener监听器,    

       HttpSessionAttributeListener,       

       ServletRequestAttributeListener

        增删改

    

        

      

  

以上是关于监听器Listener的主要内容,如果未能解决你的问题,请参考以下文章

web.xml监听器 - listener

第7章 监听器Listener

Listener 监听器

监听器Listener

Java中的Listener 监听器

Servlet——Listener监听器