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>
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。