JavaWeb三大组件 —— Listener八大监听器概括

JavaWeb三大组件:Servlet、Listener、Filter,其中Servlet在之前的博文中已经做了较为详细的讲解,下面开始拆解Listener监听器。

Listener:监听器
    1.它是一个接口,内容由我们来实现;
    2.它需要注册在事件源上,例如注册在按钮上;
    3.监听器中的方法,会在特殊事件发生时被调用!

JavaWeb中的八大监听器,三大域对象各有一个生命周期监听器和属性操作监听器,共计6个;还有2个与HttpSession相关的感知型监听器。
    事件源(监听对象):三大域!
        ServletContext
            1.生命周期监听器:ServletContextListener,它有两个方法,一个在出生时调用,一个在死亡时调用;
                void contextInitialized(ServletContextEvent sce):创建ServletContext时调用
                void contextDestroyed(ServletContextEvent sce):销毁ServletContext时调用
            2.属性监听器:ServletContextAttributeListener,它有三个方法
                void attributeAdded(ServletContextAttributeEvent event):添加属性时调用;
                void attributeReplaced(ServletContextAttributeEvent event):替换属性时调用;
                void attributeRemoved(ServletContextAttributeEvent event):移除属性时调用;
        HttpSession
            1.生命周期监听器:HttpSessionListener,它有两个方法,一个在出生时调用,一个在死亡时调用;
                void sessionCreated(HttpSessionEvent se):创建session时调用
                void sessionDestroyed(HttpSessionEvent se):销毁session时调用
            2.属性监听器:HttpSessioniAttributeListener,它有三个方法
                void attributeAdded(HttpSessionBindingEvent event):添加属性时调用
                void attributeReplaced(HttpSessionBindingEvent event):替换属性时调用
                void attributeRemoved(HttpSessionBindingEvent event):移除属性时调用
        ServletRequest
            1.生命周期监听器:ServletRequestListener,它有两个方法,一个在出生时调用,一个在死亡时调用;
                void requestInitialized(ServletRequestEvent sre):创建request时调用
                void requestDestroyed(ServletRequestEvent sre):销毁request时调用
            2.属性监听器:ServletRequestAttributeListener,它有三个方法
                void attributeAdded(ServletRequestAttributeEvent srae):添加属性时调用
                void attributeReplaced(ServletRequestAttributeEvent srae):替换属性时调用
                void attributeRemoved(ServletRequestAttributeEvent srae):移除属性时调用
        感知型监听器(都与HttpSession相关)
            HttpSessionBindingListener:添加到javabean上,javabean就知道自己是否添加到session中了。
            HttpSessionActivationListener:Tomcat在钝化和活化session时,javabean感知到了后调用
            它用来添加到JavaBean上,而不是添加到三大域上!
            这两个监听器都不需要在web.xml中注册!

猜你喜欢

转载自blog.csdn.net/weixin_42472048/article/details/82931015