使用監聽器實現一個統計網站線上人數的示例
阿新 • • 發佈:2019-01-09
(1)建立一個監聽器實現類
要大致統計一個網站的線上人數,首先,可以通過ServletContextListener監聽,當Web應用上下文啟動時,在ServletContext中新增一個List,用來準備存放線上的使用者名稱;然後,可以通過HttpSessionAttributeListener監聽,當用戶登入成功把使用者名稱設定到Session中時同時將使用者名稱存放到ServletContext中的List列表中;最後通過HttpSessionListener監聽,當用戶登出會話時將使用者名稱從應用上下文範圍中的List列表中刪除。
所以,編寫OnLineListener類實現ServletContextListener、HttpSessionAttributeListener、HttpSessionListener介面,具體程式碼如下:
(2)在web.xml中註冊監聽器
監聽器實現好後,還需要在web.xml檔案中進行註冊才能起作用,只需要在web.xml中像如下新增元素即可
<!-- 註冊一個監聽器 -->
<listener>
<!-- 指定監聽器實現類的全限定名 -->
<listener-class>
com.web.servlet.OnlineListener
</listener-class>
</listener
最後,我們建立幾個Servlet來測試這個監聽器實現的功能。
處理使用者登入的Servlet類程式碼:
處理使用者登入Servlet的類程式碼
然後建立一個index.html檔案,用來供使用者登入,程式碼如下:
把WEB部署到Tomcat容器總,並啟動。開啟瀏覽器訪問即可