美文网首页
Http 监听器

Http 监听器

作者: _琳哥 | 来源:发表于2017-11-10 11:55 被阅读26次

    用来监听特定对象的创建或销毁、属性的变化的!
    是一个实现特定接口的普通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对象监听一样的实现

    相关文章

      网友评论

          本文标题:Http 监听器

          本文链接:https://www.haomeiwen.com/subject/wphbmxtx.html