JavaWeb之監聽器案例講解
1. 監聽器
實現一個監聽器的接口;(有n種監聽器)
1.1 編寫一個監聽器(實現監聽器接口)
OnlineCountListener .java
package com.tian.listener; import javax.servlet.ServletContext; import javax.servlet.http.HttpSessionEvent; import javax.servlet.http.HttpSessionListener; //統計網站在線人數 : 統計session public class OnlineCountListener implements HttpSessionListener { //創建session監聽: 看你的一舉一動 //一旦創建Session就會觸發一次這個事件! public void sessionCreated(HttpSessionEvent se) { ServletContext ctx = se.getSession().getServletContext(); System.out.println(se.getSession().getId()); Integer onlineCount = (Integer) ctx.getAttribute("OnlineCount"); if (onlineCount == null) { onlineCount = new Integer(1); } else { int count = onlineCount.intValue(); onlineCount = new Integer(count + 1); } ctx.setAttribute("OnlineCount", onlineCount); } //銷毀session監聽 //一旦銷毀Session就會觸發一次這個事件! public void sessionDestroyed(HttpSessionEvent se) { ServletContext ctx = se.getSession().getServletContext(); Integer onlineCount = (Integer) ctx.getAttribute("OnlineCount"); if (onlineCount == null) { onlineCount = new Integer(0); } else { int count = onlineCount.intValue(); onlineCount = new Integer(count - 1); } ctx.setAttribute("OnlineCount", onlineCount); } /* Session銷毀: 1. 手動銷毀 getSession().invalidate(); 2. 自動銷毀 web.xml <session-config> <!--1分鐘後session自動銷毀--> <session-timeout>1</session-timeout> </session-config> */ }
1.2 配置監聽器
web.xml
<!--註冊監聽器--> <listener> <listener-class>com.tian.listener.OnlineCountListener</listener-class> </listener>
1.3 啟動服務器
到此這篇關於JavaWeb之監聽器案例講解的文章就介紹到這瞭,更多相關JavaWeb之監聽器內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- Java實現統計在線人數功能的方法詳解
- Java Session會話追蹤原理深入分析
- Javaweb會話跟蹤技術Cookie和Session的具體使用
- JavaWeb的監聽器和過濾器你瞭解嗎
- Request與Session的存值取值操作