小小梦里花007 2016-12-16 08:06 采纳率: 25%
浏览 1100

java 系统关闭事件如何浏览器相关的触发

有一个系统a,当系统a关闭时,会触发一些事件;
现在的问题是:如何准确触发?

一般关闭系统有几种方式:
1. 大家习惯直接点击浏览器页面的“×”来关闭;
2.点击系统里的“退出系统”按钮来关闭;

点击浏览器页面的×来关闭时:
在jsp页面设置:window.close() window.beforeload()啥的,但这个我用ie浏览器能触发,而且这个能触发不是很稳定,时灵时不灵的;其他浏览器里window方法不管用;这个好像跟浏览器兼容性有关;
用HttpSessionListen来监听,但session的生命周期是设定好的特定时间,你不能保证客户一定是在这个时间里退出系统的,这两者没法同步,逻辑上没法用;

故想问问大家都是怎么处理的?
这个功能是为了做单点登录功能,单点登录的基本逻辑是:一个用户登录后把门锁着,禁止其他地点的同一用户再登录,等这一用户退出时,得把门打开,允许其他地的同一用户登录;所以用户退出时得把门打开,难点在如何判定捕捉到用户退出事件;

  • 写回答

1条回答 默认 最新

  • 我爱娃哈哈 2016-12-16 14:50
    关注

    数据库可以记录该账号用户最后退出时间,然后别的地点同一账号登录的时候把当前账号的最后退出时间取出来进行判断,如果没有退出时间说明该账号正在登陆,如果有时间就说明没有登录 就可以登录

    评论

报告相同问题?

悬赏问题

  • ¥88 找成都本地经验丰富懂小程序开发的技术大咖
  • ¥15 如何处理复杂数据表格的除法运算
  • ¥15 如何用stc8h1k08的片子做485数据透传的功能?(关键词-串口)
  • ¥15 有兄弟姐妹会用word插图功能制作类似citespace的图片吗?
  • ¥200 uniapp长期运行卡死问题解决
  • ¥15 请教:如何用postman调用本地虚拟机区块链接上的合约?
  • ¥15 为什么使用javacv转封装rtsp为rtmp时出现如下问题:[h264 @ 000000004faf7500]no frame?
  • ¥15 乘性高斯噪声在深度学习网络中的应用
  • ¥15 关于docker部署flink集成hadoop的yarn,请教个问题 flink启动yarn-session.sh连不上hadoop,这个整了好几天一直不行,求帮忙看一下怎么解决
  • ¥15 深度学习根据CNN网络模型,搭建BP模型并训练MNIST数据集