1. 程式人生 > >使用監聽器實現一個統計網站線上人數的示例

使用監聽器實現一個統計網站線上人數的示例

(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容器總,並啟動。開啟瀏覽器訪問即可