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>
  • 相关阅读:
    状态压缩 + 暴力 HDOJ 4770 Lights Against Dudely
    简单几何(推公式) UVA 11646 Athletics Track
    简单几何(四边形形状) UVA 11800 Determine the Shape
    简单几何(求交点) UVA 11437 Triangle Fun
    计算几何模板
    简单几何(相对运动距离最值) UVA 11796 Dog Distance
    简单几何(求划分区域) LA 3263 That Nice Euler Circuit
    覆盖的面积 HDU
    Desert King 最小比率生成树 (好题)
    约会安排 (区间合并)毒瘤题
  • 原文地址:https://www.cnblogs.com/xiaoxian1369/p/4265639.html
Copyright © 2011-2022 走看看