如何知道所有在线的用户 (保存所有在线登录人信息,此处为后台人员)

增加以下代码:
登录中:
   //用户信息
  loginhou hou =   loginhoumapper .findbyname(name);         
    //获得全局变量中增加用户信息
    ServletContext sc = session.getServletContext();
     Map map = (Map) sc.getAttribute( "loginhous"  );
    map.put(hou.getId(), hou);
 
session监听器中:
public  void  sessionDestroyed(HttpSessionEvent se) {
          HttpSession session = se.getSession();
          loginhou loginhou = (loginhou) session.getAttribute( "loginhou"  );
 
            // 获得全局变量中删除用户信息
          ServletContext sc = session.getServletContext();
           Map map = (Map ) sc.getAttribute( "loginhous"  );
          map.remove(loginhou.getId());
          
}
ServletContext监听器中:
      public  void  contextInitialized(ServletContextEvent arg0) {
            /**
           * 启动服务器时,
           * 往ServletContext对象set(初始化)一个对象,
           * 这个对象的含义是,
           * 保存所有在线后台用户的信息
           * 结构:
           * ServletContext     全应用变量
           *        ↓                                 绑定名: loginhous
           *      Map        所有后台用户的信息
           *        ↓                                      绑定名: loginhous的id
           *    loginhou         用户的信息
           */
          ServletContext sc = arg0.getServletContext();
           Map map =  new  HashMap<String, loginhou>();
          sc.setAttribute(  "loginhous" , map);
     }
 
     

转载于:https://www.cnblogs.com/jia1994/p/4261821.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值