利用HashMap实现踢人功能(JAVA)

原创 2012年03月22日 19:29:03

其实这是我看到网上一个帖子,根据sessionid任意销毁对应的session,其实就是在打开浏览器的时候利用监听器,创建一个HashMap A 记录下对应的sessionid和session(这步很重要),但是实现踢人功能不能仅仅根据sessionid来销毁session,其实我们可以在创建一个HashMap B,记录下用户标记(如ID)和他的对应sessionid(我们不可能再踢人的时候获取到想要销毁的sessionid),然后只要有用户登录同一个帐号,我们就可以根据id在HashMap B获取到上个sessionid(要踢的人的session),直接销毁session,然后再清除HashMap B上的信息,最后put新来的用户的信息。

代码如下:

1:session监听器 hashmap a这里建立

2ACTION 或servelt

 java.util.HashMap qq=com.sessionlistener.sessionlistener.sessionl;
                      System.out.println("sesssionmap大小"+qq.size());
                      javax.servlet.http.HttpSession ss=(javax.servlet.http.HttpSession)qq.get(sessionid);
      
                      if (ss!=null)
                      {
                           ss.invalidate();
                           System.out.println("有人被踢了");
                     }
       
      
                     pp.put(user.getUserId(), request.getSession().getId());
       
                    user.setUserLastLoginIp(request.getRemoteAddr());   
                    int loginTimes = user.getUserLoginNum();
                    user.setUserLoginNum(loginTimes+1); 
                    DaoFactory.getInstance().getUserDao().update();
         
                    request.getSession().setAttribute("User", user);
                    System.out.println("登录结束后sesssionmap大小"+qq.size());
            }
      
        }
            out.print(user.getUserNickname());
        }
        else
        {
         out.print(1);
        }
      }



相关文章推荐

java实现单一登录 踢人效果

1、建一个session监听类public class SessionListener implements HttpSessionListener{ public static H...
  • hk9024
  • hk9024
  • 2016年07月06日 10:07
  • 835

监听器--显示登陆用户列表,并实现踢人功能

用户:login.jsp à loginServlet à  index.jsp 管理员: listUser.jsp à kickUserServlet 监听器:SessionAttributeL...

Java8的HashMap详解(存储结构,功能实现,扩容优化,线程安全,遍历方法)

原文:Java 8系列之重新认识HashMap,有删改。 JDK1.8对HashMap底层的实现进行了优化,例如引入红黑树的数据结构和扩容的优化等。本文结合JDK1.7和JDK1.8的区别,深入探讨...

js 实现HashMap功能

  • 2012年05月04日 10:31
  • 5KB
  • 下载

利用Java的HashMap 改造C++ 的hash_map

  • 2011年10月26日 17:30
  • 11KB
  • 下载

单一用户登录,即当前用户登录后要踢出前一个登录,即做出踢人效果,如何实现?

单一用户登录,即当前用户登录后要踢出前一个登录,即做出踢人效果,如何实现? 一般情况下,用户登录,有两种方式:cookie方式,session方式。一般情况下,session方式是使用最多的...

Java中用hashmap实现购物车

  • 2016年01月03日 15:55
  • 1KB
  • 下载

JavaWeb-实现多ip、异地 同时登录踢人下线

所用知识点罗列: cookie 、session、serverlet过滤器、serverlet监听器,前提环境是基于Session实现的登录功能(Session中存放了登录者的ip,userName等...
  • zlsdmx
  • zlsdmx
  • 2017年06月23日 18:46
  • 938
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:利用HashMap实现踢人功能(JAVA)
举报原因:
原因补充:

(最多只允许输入30个字)