您的位置:首页 > 编程语言 > Java开发

统计用户在线登录人数

2017-02-16 00:00 288 查看
摘要: 直接统计当前session的数量(需要每次登录时保存)

服务器启动时,开启一个线程进行记录,线程对象中定义一个静态变量

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();


用户登录时,将session保存到Map对象中。

//登录
HttpSession session = request.getSession();
String sessionId = session.getId();
ResourceLog.sessionMap.put(sessionId, session);


用户退出时,将session从Map对象中删除。
退出包括:正常退出 、异常退出(session超时)

//退出
HttpSession session = request.getSession();
String sessionId = session.getId();
ResourceLog.sessionMap.remove(sessionId);


获取当前用户在线人数为

ResourceLog.sessionMap.size();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java 在线人数 统计
相关文章推荐