1种是 关闭浏览器 时触发浏览器的 window.onbeforeunload事件 清空session
但是关闭浏览器有很多 方法第二种 看到这个 不错要判断客户是否已经关闭浏览器只能通过间接的方法来做,比如在客户端放个小iframe,这个iframe里的页面定时的去服务端请求一个页面,这个页面就是用来刷新这个客户端的session的最新时间,在服务端作个论询,看哪个session的最后更新时间超时了,就认为这个session对应的客户端超时了可是服务端代码 不知道怎么实现 谁有类似的例子 能给份不?
但是关闭浏览器有很多 方法第二种 看到这个 不错要判断客户是否已经关闭浏览器只能通过间接的方法来做,比如在客户端放个小iframe,这个iframe里的页面定时的去服务端请求一个页面,这个页面就是用来刷新这个客户端的session的最新时间,在服务端作个论询,看哪个session的最后更新时间超时了,就认为这个session对应的客户端超时了可是服务端代码 不知道怎么实现 谁有类似的例子 能给份不?
解决方案 »
- java web中怎么样在页面中显示数据库中的数据啊
- 如何搭建JSF2.0+RichFaces4.0的环境?
- 如何将对象序列化到Cookie
- 求教:Hibernate异常Could not execute JDBC batch update
- 关于properties文件路经问题
- 决不放弃
- 使用JAVA客户端如何调用WEB SERVICE方法
- 请教运行Axis的例子attachments时遇到的问题
- Jboss-tomcat调试servlet出错误?
- 字符相关(考考菜鸟)
- 如何在客户端通过Dwr实现无刷新验证‘验证码’是否正确?
- 大虾!spring 定时任务执行方法过程中,有没有可能获取到前台数数据,或者一个js接口的数据
使用监听器的话嘛还是很可以的
你也可以按照ls的做一个在线列表,不过这需要客户端的支持
也就是说你需要做一个客户端,而服务端需要另外开启线程进行轮询
如果客户端异常关闭例如网线断了什么的,就不好办了
你可以使用监听器进行制作
试试吧
我的意思每创建个session都将用户的信息同样保存一份到application中(application保存全部用户的信息 用个集合或者MAP) 然后每次更新时间是针对SESSION的对象更新时间的 更新完毕后通过application将所有的用户的信息都读出来挨个检查 可惜我没做过类似的东西 只是有这个想法 session和application中持有同样的对象信息 更改一个application里应该也能更改吧
用监听器实现也行 因为我不知道LZ所谓的用户状态是存储在数据库中还是什么其他地方