本文實例為大家分享了java監聽器實現在線人數統計的具體代碼,供大家參考,具體內容如下
1.在工程中創建監聽類SessionListener 并且實現HttpSessionListener接口,代碼如下
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
import javax.servlet.http.HttpSessionEvent; import javax.servlet.http.HttpSessionListener; public class SessionListener implements HttpSessionListener { private static int count = 0 ; public void sessionCreated(HttpSessionEvent se) { count++; System.out.println( "session創建:" + new java.util.Date()); } public void sessionDestroyed(HttpSessionEvent se) { count--; System.out.println( "session銷毀:" + new java.util.Date()); } public static int getCount() { return count; } } |
2.配置web.xml
1
2
3
4
|
< listener > < description >session監聽器</ description > < listener-class >com.xxx.SessionListener</ listener-class > </ listener > |
3.在JSP頁面中顯示在線人數
1
2
3
4
|
<% int count=com.xxx.SessionListener.getCount(); out.println("在線人數:"+count); %> |
注意:servlet中對session的監聽有很多接口,功能很靈活,最常用的是監聽Session和Attribute。這里要澄清一下概念,servlet中的session監聽和Attribute監聽含義有差別,session監聽指的不是我們一般所理解的放置一個session或者銷毀一個session,這是Attribute監聽的功能,因為servlet中放置session的語法是session.setAttribute(“session名”,要放入的對象)。而session監聽,監聽的是HTTP連接,只要有用戶與server連接,就算連接的是一個空白的jsp頁面,也會觸發session事件,所以此處的session實際上指的是connection,用來統計當前在線用戶數最合適了。
這種實現在線人數統計的方法是不是很特別,希望這篇文章對大家的學習有所幫助,有所啟發。