HttpSessionListener做在线人数统计的问题

ni19860609 2008-08-29 05:00:15
我用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();
}

如果我在同一个浏览器登陆了两个用户,那第一个登陆的用户是不是成了在线状态了,其实是没在线的。
...全文
91 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
ni19860609 2008-09-03
  • 打赏
  • 举报
回复
虽然没满意的答案 还是谢谢了
Warrior_hsn 2008-08-30
  • 打赏
  • 举报
回复
给你一个网址,http://java.ccidnet.com/art/3737/20040607/470065_1.html,网页末尾部分有教你怎么做。
ni19860609 2008-08-29
  • 打赏
  • 举报
回复
类是这样的SessionListener implements HttpSessionListener
方法用 public void sessionDestroyed(HttpSessionEvent se)

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧