欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 综合教程 >内容正文

综合教程

监听Listener的简介及分类

发布时间:2023/12/31 综合教程 42 生活家
生活随笔 收集整理的这篇文章主要介绍了 监听Listener的简介及分类 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

一、监听器简介

  > Listener是JavaWeb中三大组件之一。Servlet、Filter、Listener

  > 三大组件都有的共同特点,都需要实现一个接口,并在web.xml文件配置。

    监听器:朝阳群众

    监听对象:明星

    监听的事件:干坏事

    调用方法:报警

  > JavaWeb中的监听器的监听对象是谁?

    ServletContext

    HttpSession

    ServletRequest

  >编写一个监听器的步骤:

      1.创建一个类并实现一个接口。

      2.在web.xml文件中注册监听器。

二、监听器分类

  > JavaWeb中的监听器共有三种,共8个监听器

  1、生命周期监听器,监听三个对象的创建和销毁的事件。[3个]

  2、 属性监听器,监听三个对象中属性的变化。[3个]

  3、session对象监听器,将它session中的属性,以及session的活化和钝化。【2个】

  1、生命周期监听器

    ServletContextListener——ServletContext生命周期监听器

        1. void contextDestroyed(ServletContextEvent sce) ——该方法在ServletContext对象销毁前调用

        2. void contextInitialized(ServletContextEvent sce) ——该方法在ServletContext对象创建之前调用

        3.ServletContextEvent 对象可以获取到ServletContext对象

          ServletContextEvent.getServletContext();

    HttpSessionListener——HttpSession生命周期监听器  

        1. void sessionCreated(HttpSessionEvent se) —— 该方法在Session创建时调用

        2. void sessionDestroyed(HttpSessionEvent se) ——在session销毁时调用  

        3. HttpSessionEvent ——可以获取HttpSession对象

    ServletRequestListener——ServletRequest生命周期监视器

        1. void requestDestroyed(ServletRequestEvent sre) ——在request对象销毁时调用

        2. void requestInitialized(ServletRequestEvent sre) ——在request对象创建时调用

  2.属性监听器

      > 属性监听器,监听三个域中的属性的变化:添加一个属性,替换一个属性,移除一个属性

    ServletContextAttributeListener——监听ServletContext中的属性的变化

        1.void attributeAdded(ServletContextAttributeEvent scab) —— 当向ServletContext中添加属性时调用

        2.attributeRemoved(ServletContextAttributeEvent scab) —— 移除属性时调用

        3.attributeReplaced(ServletContextAttributeEvent scab) ——替换一个属性时调用

    HttpSessionAttributeListener

        1.void attributeAdded(HttpSessionBindingEvent se)

        2.void attributeRemoved(HttpSessionBindingEvent se)

        3.void attributeReplaced(HttpSessionBindingEvent se)

          参数类型:HttpSessionBindingEvent

              1.可以获取到属性名 getName()

              2.可以获取属性的旧值 getValue()

              3.可以获取到HttpSession对象 getSession();

    ServletRequestAttributeListener
        1.void attributeAdded(ServletRequestAttributeEvent srae)

        2.void attributeRemoved(ServletRequestAttributeEvent srae)

        3.void attributeReplaced(ServletRequestAttributeEvent srae)

> 以下两个监听器监听session域中的属性的。

  3、HttpSessionBindingListener
      > 监听session域中某一个类的实例的添加和移除。

      > 该接口由JavaBean来实现,不需要再web.xml文件配置

    1.valueBound(HttpSessionBindingEvent event) ——当该类的实例,作为属性设置进session域中时调用

    2.valueUnbound(HttpSessionBindingEvent event) ——当该类的实例,从session域中被移除时调用

  4、HttpSessionActivationListener

      监听session域中的某类属性,和session一起活化和钝化的事件。

      该接口由JavaBean来实现,同样不需要再web.xml中配置

    1.void sessionDidActivate(HttpSessionEvent se) ——当前对象和session一起被活化到内存时调用

    2.void sessionWillPassivate(HttpSessionEvent se) ——当前对象和session一起钝化到硬盘时调用

总结

以上是生活随笔为你收集整理的监听Listener的简介及分类的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。