zoukankan      html  css  js  c++  java
  • Web中的监听器【Listener】

         Servlet监听器:Servlet规范中定义的一种特殊类,它用于监听Web应用程序中的ServletContext、HttpSession和ServletRequest等域对象的创建与销毁事件,以及监听这些域对象中的属性发生修改的事件。

        ServeltContextListener接口: 其用于监听ServletContext对象的创建和销毁事件。

    当ServletContext对象被创建时,激发contextInitialized(ServletContextEvent sce)方法

    当ServletContext对象被销毁时,激发contextDestroyed(ServletContextEvent sce)方法
     

    package com.wangzhu.listener;
    
    import javax.servlet.ServletContextEvent;
    import javax.servlet.ServletContextListener;
    
    /**
     * Servlet监听器:Servlet规范中定义的一种特殊类,它用于监听Web应用程序中的ServletContext、<br/>
     * HttpSession和ServletRequest等域对象的创建与销毁事件,以及监听这些域对象中的属性发生修改的事件。<br/>
     * 
     * ServeltContextListener接口<br/>
     * 其用于监听ServletContext对象的创建和销毁事件。<br/>
     * 当ServletContext对象被创建时,激发contextInitialized(ServletContextEvent sce)方法<br/>
     * 当ServletContext对象被销毁时,激发contextDestroyed(ServletContextEvent sce)方法<br/>
     * 
     * Servlet的监听器Listener<br/>
     * 随Web应用的启动而启动,只初始化一次,并随Web应用的停止而销毁<br/>
     * 
     * @author wangzhu
     * @date 2015-2-1上午12:20:42
     * 
     */
    public class MyServletContextListener implements ServletContextListener {
    
        /**
         * 应用监听器的初始化方法
         */
        @Override
        public void contextInitialized(ServletContextEvent sce) {
            System.out.println("MyServletContextListener contextInitialized");
        }
    
        /**
         * 应用监听器的销毁方法
         */
        @Override
        public void contextDestroyed(ServletContextEvent sce) {
            System.out.println("MyServletContextListener contextDestroyed");
        }
    
    }

       HttpSessionListener接口:其用于监听HttpSession对象的创建和销毁
    当创建一个Session时,激发sessionCreated(HttpSessionEvent se)方法
    当销毁一个Session时,激发sessionDestroyed(HttpSessionEvent se)方法

    package com.wangzhu.listener;
    
    import javax.servlet.http.HttpSessionEvent;
    import javax.servlet.http.HttpSessionListener;
    
    /**
     * HttpSessionListener接口<br/>
     * 其用于监听HttpSession对象的创建和销毁<br/>
     * 当创建一个Session时,激发sessionCreated(HttpSessionEvent se)方法<br/>
     * 当销毁一个Session时,激发sessionDestroyed(HttpSessionEvent se)方法<br/>
     * 
     * @author wangzhu
     * @date 2015-2-1下午3:48:10
     * 
     */
    public class MyHttpSessionListener implements HttpSessionListener {
    
        @Override
        public void sessionCreated(HttpSessionEvent se) {
            System.out.println("MyHttpSessionListener sessionCreated");
        }
    
        @Override
        public void sessionDestroyed(HttpSessionEvent se) {
            System.out.println("MyHttpSessionListener sessionDestroyed");
        }
    
    }

       ServletRequestListener接口: 其用于监听ServletRequest对象的创建和销毁
    当创建一个ServletRequest时,激发requestInitialized(ServletRequestEvent sre)方法
    当销毁一个ServletRequest时,激发requestDestroyed(ServletRequestEvent sre)方法

    package com.wangzhu.listener;
    
    import javax.servlet.ServletRequestEvent;
    import javax.servlet.ServletRequestListener;
    
    /**
     * ServletRequestListener接口<br/>
     * 
     * 其用于监听ServletRequest对象的创建和销毁<br/>
     * 当创建一个ServletRequest时,激发requestInitialized(ServletRequestEvent sre)方法<br/>
     * 当销毁一个ServletRequest时,激发requestDestroyed(ServletRequestEvent sre)方法<br/>
     * 
     * @author wangzhu
     * @date 2015-2-1下午3:51:31
     * 
     */
    public class MyServletRequestListener implements ServletRequestListener {
    
        @Override
        public void requestDestroyed(ServletRequestEvent sre) {
            System.out.println("MyServletRequestListener requestDestroyed");
        }
    
        @Override
        public void requestInitialized(ServletRequestEvent sre) {
            System.out.println("MyServletRequestListener requestInitialized");
        }
    
    }

    Web.xml中配置如下:

      
        <!--ServletContext监听器-->
        <listener>
            <listener-class>com.wangzhu.listener.MyServletContextListener</listener-class>
        </listener>
        
        <!--HttpSession监听器-->
        <listener>
            <listener-class>com.wangzhu.listener.MyHttpSessionListener</listener-class>
        </listener>
        
        <!--ServletRequest监听器-->
        <listener>
            <listener-class>com.wangzhu.listener.MyServletRequestListener</listener-class>
        </listener>
  • 相关阅读:
    shell 脚本编程学习
    LMH6505 vs AD8336
    ubuntu 8.04 NFS服务的配置(转)
    新博客开张了!
    基于ARMlinux环境下的音频系统开发
    可恶的英语考试
    转HashTable(C#)
    我的手机3300
    高效注册DLL控件 让你的IE浏览器复活
    学习.NET2.0随笔
  • 原文地址:https://www.cnblogs.com/xiaoxian1369/p/4265639.html
Copyright © 2011-2022 走看看