• 监听器


    1.Servlet监听器

      servlet中定义的一种特殊类,用于监听web应用中的ServletContext,HttpSession,ServletRequest等域对象的创建与销毁事件,以及监听这些域对象的属性发生修改的事件。

    二:对象建立销毁监听器

    2.ServletContextListener

      监听ServletContext对象被创建或者销毁的servlret监听器

      实现:

        创建一个实现ServletContextListener的类,并且实现其中的两个方法。

        在web.xml中配置Lister:

          <listener>

             <listener-class>.........</>

          </>

      是最最常用的Listener,可以在当前WEB应用被加载时对当前web应用的相关资源进行初始化操作:连接数据池,创建spring ioc,读取当前web应用的初始化参数

      API:

        contextInitialized(ServletContextEvent sce)

        contextDestoryed(ServletContextEvent sce)

      ServletContextEvent:

        里面只有getServletContext方法。

    3.ServletRequestListener,HttpSessionListener

      与上面的类似。

    4.生命周期

      request:是一个请求,当一个响应返回时,被销毁。当发一个请求时创建。

        请求转发只是一个request。

        重定向是两个request。

      Session:

        第一访问WEB应用一个JSP或Servlet时,且该JSP或者Servlet中还需要创建session对象,此时服务器会创建一个session对象。

        销毁:过期,调用invalidate方法,当前web应用被卸载,关闭浏览器不意味着这session销毁。

      application:

        贯穿当前web应用的生命周期。

    三:域对象中属性的变更的事件监听器

    1.接口

      ServletContextAttributeListener

      HttpSessionAttributeListener

      ServletRequestAttributeListener

    2.在web.xml中配置

      <listener>

        <listener-class>......</>

      </>

    3.监听事件

      添加属性

      替换属性

      移除属性

    4.以ServletContextAttributeEvent API 说明

      getName:获取属性的名字

      getValue:获取属性的值

    四:sessioin绑定的事件监听器

    1.介绍

      servlet规范中定义了两个特殊的监听器接口来帮助JavaBean对象了解自己在session域中的这些状态。

      HttpSessionBindingListener,HttpSessionActivationListener,实现这两个接口的类不需要web.xml中注册。

    2.HttpSessionBindingListener接口

      可以感知被绑定到session中和从session中删除的事件

      API:

        valueBand(HttpSessionBingEvent)

        valueUnBand(HttpSessionBingEvent)

    3.HttpSessionActivationListener接口

      监听实现了该接口和Serializable接口的java类对象随session钝化和活化事件

      活化:从磁盘中读取session对象

      钝化:向磁盘中写入session对象

      不需要在web.xml中配置。

      API:

        sessionWillPassivate(HttpSessionEvent):在钝化前被调用

        sessionDidActivate(HttpSessionEvent):在活化后被调用

       HttpSessionEvent:

        里面有getSession()方法。

      

  • 相关阅读:
    1860 最大数
    1164 统计数字
    1063 合并果子
    1098 均分纸牌
    2806 红与黑
    1168 火柴棒等式
    1910 递归函数
    2774 火烧赤壁
    2017.0705.《计算机组成原理》-存储器
    2017.0704.《计算机组成原理》-动态RAM
  • 原文地址:https://www.cnblogs.com/juncaoit/p/7627246.html
Copyright © 2020-2023  润新知