Http 监听器


用来监听特定对象的创建或销毁、属性的变化的!
是一个实现特定接口的普通java类!

Servlet中哪些对象需要监听?
  • request / session / servletContext
    • 分别对应的是request监听器、session相关监听器、servletContext监听器
监听器(listener)

监听器接口:

  • 监听对象创建/销毁的监听器接口

    • Interface ServletRequestListener 监听request对象的创建或销毁
    • Interface HttpSessionListener 监听session对象的创建或销毁
    • Interface ServletContextListener 监听servletContext对象的创建或销毁
  • 监听对象属性的变化

    • Interface ServletRequestAttributeListener 监听request对象属性变化: 添加、移除、修改
    • Interface HttpSessionAttributeListener 监听session对象属性变化: 添加、移除、修改
    • Interface ServletContextAttributeListener 监听servletContext对象属性变化
  • session相关监听器

    • Interface HttpSessionBindingListener 监听对象绑定到session上的事件
    • Interface HttpSessionActivationListener(了解) 监听session序列化及反序列化的事件
生命周期监听器

声明周期监听器: 监听对象的创建、销毁的过程!
监听器开发步骤:

  1. 写一个普通java类,实现相关接口;
  2. 配置(web.xml)
ServletRequestListener

监听request对象的创建或销毁

public class MyRequestListener implements ServletRequestListener {
    @Override
    public void requestDestroyed(ServletRequestEvent servletRequestEvent){
        System.out.println("MyRequestListener.requestDestroyed()");
    }

    @Override
    public void requestInitialized(ServletRequestEvent servletRequestEvent){
        System.out.println("MyRequestListener.requestInitialized()");
    }
}
    <listener>
        <listener-class>com.flynn.MyRequestListener</listener-class>
    </listener>
HttpSessionListener

监听session对象的创建或销毁。

ServletContextListener

监听servletContext对象的创建或销毁

属性监听器

监听:request/session/servletContext对象属性的变化!

ServletRequestAttributeListener
HttpSessionAttributeListener
ServletContextAttributeListener

与前文的request对象监听一样的实现

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 监听器(listener) 监听器简介 :监听器就是一个实现特定接口的普通java程序,这个程序专门用于监听另一个...
    奋斗的老王阅读 2,542评论 0 53
  • 本文包括:1、Listener简介2、Servlet监听器3、监听三个域对象创建和销毁的事件监听器4、监听三个域对...
    廖少少阅读 6,118评论 6 28
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,845评论 18 139
  • 一、概述 监听器就是一个实现特定接口的普通java程序,这个程序专门用于监听另一个java对象的方法调用或属性改变...
    yjaal阅读 2,030评论 0 5
  • 今天看到一个比喻说,生娃就像在婚姻中扔了一个手榴弹。等到硝烟散尽的时候,是一副全新面貌。反正不是以前那样了。有人纠...
    鼹鼠阅读 269评论 0 0