統計用戶在線登陸人數

  1. 服務器啓動時,開啓一個線程進行記錄,線程對象中定義一個靜態變量
public class ResourceLog implements Runnable {
    public static Map<String, HttpSession> sessionMap = new HashMap<String, HttpSession>();
..........
}

系統啓動執行以下,開啓線程服務器

ResourceLog resourceLog = new ResourceLog();
Thread thr = new Thread(resourceLog, "資源log記錄");
thr.start();
  1. 用戶登陸時,將session保存到Map對象中。
//登陸
HttpSession session = request.getSession();
String sessionId = session.getId();
ResourceLog.sessionMap.put(sessionId, session);
  1. 用戶退出時,將session從Map對象中刪除。 退出包括:正常退出 、異常退出(session超時)
//退出
HttpSession session = request.getSession();
String sessionId = session.getId();
ResourceLog.sessionMap.remove(sessionId);
  1. 獲取當前用戶在線人數爲
ResourceLog.sessionMap.size();
相關文章
相關標籤/搜索