利用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
  • 1334

JavaEE——在线人管理系统(显示在线人数、在线人详细信息、管理员踢人)

这篇博客是filter、listener和servlet技术的相关总结,实现了简单的显示在线人数、在线人详细信息、管理员踢人功能下面是详细代码web.xml ...
  • wangjian_an
  • wangjian_an
  • 2016年08月20日 15:28
  • 1277

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

  • 2011年11月24日 19:49
  • 362KB
  • 下载

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

所用知识点罗列: cookie 、session、serverlet过滤器、serverlet监听器,前提环境是基于Session实现的登录功能(Session中存放了登录者的ip,userName等...
  • zlsdmx
  • zlsdmx
  • 2017年06月23日 18:46
  • 1721

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

其实这是我看到网上一个帖子,根据sessionid任意销毁对应的session,其实就是在打开浏览器的时候利用监听器,创建一个HashMap A 记录下对应的sessionid和session(这步...
  • linshaoxu123
  • linshaoxu123
  • 2012年03月22日 19:29
  • 502

Java做的Swing聊天程序,支持私聊/群聊/踢人

  • 2010年08月18日 17:22
  • 367KB
  • 下载

JavaWeb实例:记录在线人员信息,管理员可以踢人

总的需求:   1、使用HttpSessionListener记录在线人数。 2、使用HttpSessionAttributeListener记录登录人数。 3、 将用户踢出系统。     成果展示:...
  • zuosixiaonengshou
  • zuosixiaonengshou
  • 2016年12月17日 11:07
  • 1361

java HashMap的简单实现

package com.other.test; import java.util.HashMap; /** * HashMap的简单实现 * @author txxs * */ public...
  • maoyeqiu
  • maoyeqiu
  • 2015年10月23日 17:01
  • 1669

用JAVA写的一个简单的聊天室

  • 2009年03月06日 21:50
  • 1011KB
  • 下载

JavaWeb-网站在线用户信息、网站访问量以及管理踢出用户实例

转载请注明出处: http://blog.csdn.net/qq_26525215 本文源自【大学之旅_谙忆的博客】 这个稍微比上个版本做得完善了一点,用了JavaBean来封装用户信息,添加了一...
  • qq_26525215
  • qq_26525215
  • 2016年08月20日 16:59
  • 4861
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:利用HashMap实现踢人功能(JAVA)
举报原因:
原因补充:

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