希望大家再讨论下关于用户退出系统的处理方式

teemai 2010-02-20 09:50:44
用数据库字段(isLogin)来判断的用户是否登录,在用户第一次登录的时候将这个字段的值设为Y,然后用户点击注销按钮退出的话可以很简单的做到将isLogin设为N,而当用户直接关闭浏览器的时候怎么将isLogin字段设为N呢?

...全文
404 23 打赏 收藏 转发到动态 举报
写回复
用AI写文章
23 条回复
切换为时间正序
请发表友善的回复…
发表回复
fix_huang 2012-03-16
  • 打赏
  • 举报
回复
[Quote=引用 22 楼 shihuangtian 的回复:]
引用 21 楼 qjtttt 的回复:
用监听器监听session对象的生命周期,调用到destory方法的时候你把字段改回来就行了


正解!关闭浏览器session也就销毁了。。
[/Quote]

关闭浏览器session销毁了?哥们,你确定你这个说法是吧?
shihuangtian 2011-05-12
  • 打赏
  • 举报
回复
[Quote=引用 21 楼 qjtttt 的回复:]
用监听器监听session对象的生命周期,调用到destory方法的时候你把字段改回来就行了
[/Quote]

正解!关闭浏览器session也就销毁了。。
qjtttt 2010-04-25
  • 打赏
  • 举报
回复
用监听器监听session对象的生命周期,调用到destory方法的时候你把字段改回来就行了
reui 2010-02-22
  • 打赏
  • 举报
回复
别太杞人忧天
同意楼上的....
BearKin 2010-02-22
  • 打赏
  • 举报
回复
引用 18 楼 yxl2005play 的回复:
用监听器可以监听到的,我这里有个系统就是用监听器来搞的


用SESSION的监听器 销毁时执行操作 另外别总想着服务器死机啊什么的 你咋不考虑天上一个闪电把整个办公楼给霹倒呢?
坚持奋斗中1 2010-02-22
  • 打赏
  • 举报
回复
用监听器可以监听到的,我这里有个系统就是用监听器来搞的
liujie616 2010-02-21
  • 打赏
  • 举报
回复
用监听器可以监听到的
teemai 2010-02-21
  • 打赏
  • 举报
回复
引用 7 楼 goodmhjmhj 的回复:
上次我也遇到了这个问题,是统计系统在线人数,老大叫我做,后来还是搞定了,楼主加油
请教下,你是怎么解决的?
wuzhixuexi 2010-02-21
  • 打赏
  • 举报
回复
页面关闭用js判断不了的。
iskyshop 2010-02-21
  • 打赏
  • 举报
回复
这个没有什么特别好的办法,也不可能绝对的准确判断,一般都是判断用户在一定的时间内没有进行打开新的请求则视为已经自动放弃!
leavin521 2010-02-21
  • 打赏
  • 举报
回复
引用 12 楼 an342647823 的回复:
application  应该可以做到的

用户正常退出可以,用户非正常退出呢?你怎么把application中的这个值给remove掉?
forever_ai 2010-02-21
  • 打赏
  • 举报
回复
application 应该可以做到的
teemai 2010-02-21
  • 打赏
  • 举报
回复
引用 6 楼 javagxc 的回复:
用全局缓存判断是否登录最好了,退出的时候就清理缓存里用户的数据
我知道有个application这个全局对象,但是里面什么缓存什么的没接触过,能不能给个简单的例子我看看。谢谢了!!
teemai 2010-02-21
  • 打赏
  • 举报
回复
引用 5 楼 jafapple 的回复:
引用楼主 huxiweng 的回复:用数据库字段(isLogin)来判断的用户是否登录,在用户第一次登录的时候将这个字段的值设为Y,然后用户点击注销按钮退出的话可以很简单的做到将isLogin设为N,而当用户直接关闭浏览器的时候怎么将isLogin字段设为N呢?

不建议用数据库字段!!
个人推荐用application全局缓存登录的用户数据来判断是否已经登录。
退出的时候,把缓存里的用户数据清掉就可以了。
可以在body unload="logout()" 用ajax去调用,搞定。


body unload ="logout()",当用户关闭了浏览器 ajax 那段根本就不执行了,不知道为什么,昨天我就这样做的,ajax调用不到,然后直接在js的 logout() 方法中用window.location = '//这里面是要访问的servlet'还能进入到服务器端处理下。。
teemai 2010-02-21
  • 打赏
  • 举报
回复
引用 4 楼 leavin521 的回复:
如果用户电脑死机了呢
再开机咋办?
我比较菜啊,不知道该怎么解决,向大家请教!!
鲜为人知 2010-02-21
  • 打赏
  • 举报
回复
个人感觉还好QQ的登录方式好,后来的抵消前面的,保证一个账号不重复登陆就可以了
54321 2010-02-21
  • 打赏
  • 举报
回复
上次我也遇到了这个问题,是统计系统在线人数,老大叫我做,后来还是搞定了,楼主加油
javagxc 2010-02-21
  • 打赏
  • 举报
回复
用全局缓存判断是否登录最好了,退出的时候就清理缓存里用户的数据
jafapple 2010-02-21
  • 打赏
  • 举报
回复
引用楼主 huxiweng 的回复:
用数据库字段(isLogin)来判断的用户是否登录,在用户第一次登录的时候将这个字段的值设为Y,然后用户点击注销按钮退出的话可以很简单的做到将isLogin设为N,而当用户直接关闭浏览器的时候怎么将isLogin字段设为N呢?


不建议用数据库字段!!
个人推荐用application全局缓存登录的用户数据来判断是否已经登录。
退出的时候,把缓存里的用户数据清掉就可以了。
可以在body unload="logout()" 用ajax去调用,搞定。
leavin521 2010-02-21
  • 打赏
  • 举报
回复
如果用户电脑死机了呢
再开机咋办?
加载更多回复(3)

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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