HttpSessionListener做在线人数统计的问题
我用HttpSessionListener做在线人数统计
代码如下:
HttpSession session = se.getSession();
UserInfoBean userInfo=(UserInfoBean)session.getAttribute(ApplicationConstant.KEY_USERINFO);
if(userInfo!=null){
ServletContext context=session.getServletContext();
ForumOnlineService onlineService=ForumOnlineService.getInstance();
TForumOnline online=new TForumOnline();
online.setUserid(userInfo.getUserid());
online.setUsername(userInfo.getUsername());
List listOnlineUser=(List)context.getAttribute(ApplicationConstant.KEY_ONLINE_USER);
onlineService.removeOnlineUser(listOnlineUser, online);
try{
onlineService.logoutOnlineUser(online);
}catch(Exception ex){
ex.printStackTrace();
}
System.out.println("logout userId="+userInfo.getUserid()+" userName="+userInfo.getUsername());
}
System.out.println("session createtime="+session.getCreationTime()+" lasttime="+session.getLastAccessedTime()+" session id="+session.getId());
session.invalidate();
}
如果我在同一个浏览器登陆了两个用户,那第一个登陆的用户是不是成了在线状态了,其实是没在线的。