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>

 

你可能感兴趣的:(listener)