監聽器也叫Listener,是Servlet的監聽器,它可以監聽客戶端的請求、服務端的操作等。通過監聽器,可以自動激發一些操作,比如監聽在線的用戶的數量。
例:ServletContextListener監聽ServletContext對象。
新建一個web項目
創建CountUtils和ListenerTest類並編寫代碼
配置web.xml
編寫jsp頁面
運行代碼並訪問(兩個人同時訪問)
常用的監聽接口:
ServletContextAttributeListener監聽對ServletContext屬性的操作,比如增加、刪除、修改屬性。
ServletContextListener監聽ServletContext對象。
當創建ServletContext時,激發contextInitialized(ServletContextEvent sce)方法;
當銷毀ServletContext時,激發contextDestroyed(ServletContextEvent sce)方法。
HttpSessionListener監聽HttpSession的操作:
當創建一個Session時,激發sessionCreated(HttpSessionEvent se)方法;
當銷毀一個Session時,激發sessionDestroyed(HttpSessionEvent se)方法。
HttpSessionAttributeListener監聽HttpSession中的屬性的操作:
當在Session增加一個屬性時,激發attributeAdded(HttpSessionBindingEvent se)方法;
當在Session刪除一個屬性時,激發attributeRemoved(HttpSessionBindingEvent se)方法;
當在Session屬性被重新設置時,激發attributeReplaced(HttpSessionBindingEvent se) 方法。