Topic: 求助jsp聊天室中刷新和用户退出的问题 |
Print this page |
1.求助jsp聊天室中刷新和用户退出的问题 | Copy to clipboard |
Posted by: beingo Posted on: 2005-10-10 17:18 我下了一个JSP的聊天室,他是每过5秒自动刷新一次,所以就算用户关闭浏览器后,超过了session.timeout的时间,这个用户也在在线列表里,有什么办法解决这个问题呢, 改变刷新机制?还是做一个关闭浏览器后就自动退出的方法? 请高手帮我写出一段代码来实现(就是怎么解决这个问题),谢谢了,很急的 |
2.Re:求助jsp聊天室中刷新和用户退出的问题 [Re: beingo] | Copy to clipboard |
Posted by: rebirth Posted on: 2005-10-14 10:23 1、可以设置一个静态的session注册器,类型可以是Map等。如 static Map reg_session=new HashMap(); key 是 userId ,value是一个自定义的java类型 这个java类型至少下面一些属性 public class SessionType(){ private java.util.Date opertime;//最近一次动作时间 private Long timeout;//超时时间。 private HttpSession session;//用户session } 然后写个类提供方法: register(...) //用户登录时将新的session注册进去, 如果已经存在,将session置无效,从map中去掉。这样可以防止重复登录。 unregister(...)//用户退出时将session从map中去掉。 updateoper(...)//用户做了动作后更新他的最近一次动作时间 scan(...)//每隔一定的时间扫描一次(可以在刷新时做,不过做得太频繁可能影响效率),将超时的用户用Map中去掉。 (写方法时注意同步控制) 2、在聊天室的主页面的unload方法调用一个logout.jsp,在这个jsp中调用unregister(...)方法将注册的session去掉。 3、显示在线列表是通过遍历reg_session来进行。 4、如果是session自动超时时也要调用logout.jsp将该session从reg_session中去掉。 |
3.Re:求助jsp聊天室中刷新和用户退出的问题 [Re: beingo] | Copy to clipboard |
Posted by: beingo Posted on: 2005-10-17 16:35 明白了,谢谢了 |
Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1 客服电话 18559299278 客服信箱 714923@qq.com 客服QQ 714923 |