利用java監(jiān)聽器實現(xiàn)在線人數(shù)統(tǒng)計
本文實例為大家分享了java監(jiān)聽器實現(xiàn)在線人數(shù)統(tǒng)計的具體代碼,供大家參考,具體內(nèi)容如下
1.在工程中創(chuàng)建監(jiān)聽類SessionListener 并且實現(xiàn)HttpSessionListener接口,代碼如下
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創(chuàng)建:" + 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
<listener> <description>session監(jiān)聽器</description> <listener-class>com.xxx.SessionListener</listener-class> </listener>
3.在JSP頁面中顯示在線人數(shù)
<% int count=com.xxx.SessionListener.getCount(); out.println("在線人數(shù):"+count); %>
注意:servlet中對session的監(jiān)聽有很多接口,功能很靈活,最常用的是監(jiān)聽Session和Attribute。這里要澄清一下概念,servlet中的session監(jiān)聽和Attribute監(jiān)聽含義有差別,session監(jiān)聽指的不是我們一般所理解的放置一個session或者銷毀一個session,這是Attribute監(jiān)聽的功能,因為servlet中放置session的語法是session.setAttribute(“session名”,要放入的對象)。而session監(jiān)聽,監(jiān)聽的是HTTP連接,只要有用戶與server連接,就算連接的是一個空白的jsp頁面,也會觸發(fā)session事件,所以此處的session實際上指的是connection,用來統(tǒng)計當前在線用戶數(shù)最合適了。
這種實現(xiàn)在線人數(shù)統(tǒng)計的方法是不是很特別,希望這篇文章對大家的學(xué)習(xí)有所幫助,有所啟發(fā)。
相關(guān)文章
SpringBoot接口調(diào)用之后報404問題的解決方案
這篇文章主要介紹了SpringBoot接口調(diào)用之后報404問題的解決方案,具有很好的參考價值,希望對大家有所幫助。2021-06-06spring注入在有常量的情況下使用@AllArgsConstructor操作
這篇文章主要介紹了spring注入在有常量的情況下使用@AllArgsConstructor操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-09-09mybatis if test判斷BigDecimal遇到的坑及解決
這篇文章主要介紹了mybatis if test判斷BigDecimal遇到的坑及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-03-03Springboot 使用內(nèi)置tomcat禁止不安全HTTP的方法
這篇文章主要介紹了Springboot 使用內(nèi)置tomcat禁止不安全HTTP的方法,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-07-07