標籤:
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>
Web中的監聽器【Listener】