java(B/S结构的系统问题)

问一下,B/S机构的系统,在关闭浏览器后,还能在数据库里更改用户的登录状态吗?也就是说,在用户关闭浏览器后,我要让数据库里该用户的登录状态更改为“未登录”,有办法实现吗?... 问一下,B/S机构的系统,在关闭浏览器后,还能在数据库里更改用户的登录状态吗?也就是说,在用户关闭浏览器后,我要让数据库里该用户的登录状态更改为“未登录”,有办法实现吗?
嗯 ,你这个是可以监控浏览器是否关闭,但是关闭浏览器以后logoff.action不会执行啊 ,我也就无法更改数据库里的数据啦!

那样也不好啊,如果我在设定时间内关闭浏览器然后再登陆的话,状态仍然会显示为“已登录”啊!真是麻烦,不知道那些论坛是怎么做的,那个上面可以显示在线用户。
展开
 我来答
ncicheng
2009-09-10 · TA获得超过197个赞
知道小有建树答主
回答量:167
采纳率:100%
帮助的人:166万
展开全部
有,就是在相关页面添加js脚本,监控浏览器是否被关闭.即可
代码如下:
<script language=javascript>
function window.onbeforeunload()
{
if (event.clientY<0 ){
alert('你正在退出!!!');
document.forms[0].action = "<%=request.getContextPath()%>/logoff.do";
document.forms[0].submit(); }
}
</script>

action不执行,主要是因为该页面没有form。这个你可以在该页面添加一个form即可.
如:
<html:form action="/logoff.do">
//其他东西
</html:form>
百度网友a45dec8
2009-09-10 · TA获得超过335个赞
知道小有建树答主
回答量:207
采纳率:80%
帮助的人:140万
展开全部
可以跟session那样吧,这样过一段时间用户没有操作,我们就更改用户的登录状态。
如果是监视浏览器的关闭,我觉得不是很好,因为很难保证一定会被执行,正常关闭还好说,如果是非正常关闭,那就难办了。
所以我觉得像session那样,说不定会更好些

那你结合session一起判断就是了,因为重新打开的话,是重新产生一个新的session

其实根本没有毕业将登陆状态保存到数据库中去,直接保存到session中就可以了,这样就没有以上的问题了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式