2 hunterlew hunterlew 于 2016.03.11 22:42 提问

怎么检测到客户端关闭浏览器页面并销毁session? 10C

如题,系统要求某页面在同一时间只能一个人使用。目前只能提供一个jsp链接让用户退出的时候点击去销毁,但大部分用户会直接关浏览器吧。有什么方法可以检测到用户退出页面呢(暂不考虑掉电、死机等问题了)?
背景:因为系统页面是与实际硬件相连的,所以每一次只能让一个用户进来操作,否则就乱套了。

4个回答

harryqqai
harryqqai   2016.03.11 23:02

我的做法是客户端在规定的时间内没有操作行为就自动销毁SESSION,客户端重新登陆后方可使用。

hunterlew
hunterlew java中有相应的函数吗?
接近 2 年之前 回复
yzsunlight
yzsunlight   2016.03.11 23:24

放在Application 里判断即可

yzsunlight
yzsunlight 回复hunterlew: 用application类,去做管理。控制只能一个人操作
一年多之前 回复
yzsunlight
yzsunlight 回复hunterlew: 用application类,去做管理。控制只能一个人操作
一年多之前 回复
yzsunlight
yzsunlight 回复hunterlew: application 是应用程序级别的存储,你可以考虑用application处理你这块逻辑
接近 2 年之前 回复
hunterlew
hunterlew 没懂...
接近 2 年之前 回复
oyljerry
oyljerry   Ds   Rxr 2016.03.12 09:25

这个需要用超时机制 没法直接获取客户端信息

hunterlew
hunterlew 目前用的这个方法
接近 2 年之前 回复
showbo
showbo   Ds   Rxr 2016.03.12 11:07

父页嵌套一个全屏的iframe,然后操作的页面放到iframe里面,这样在iframe里面操作

父页添加onbeforeunload事件,如果用户刷新父页就提示是否退出,在onunload中用个同步ajax注销掉session

简单来说就是父页一定不允许刷新或者跳转操作,出现这个情况就直接注销掉。iframe赋值跳转之类的操作

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!