java中关闭浏览器后怎么清除session?

java中关闭浏览器后怎么清除session?,第1张

session是关闭浏览器才会自动清除的
你的需求可以两个地方设置下就好
1,页面上,每隔一定时间(如5分钟,我想如果你一个页面能让别人停5分钟那你这页面已经很了不起了,所以造成服务器端压力大的情况不太可能),直接X掉时提交一个请求给服务器,下线了,
2在服务器上每隔一定时间查检有哪些客服端是否登录超过一定时间没有发数据回来,如果没就下线了

在默认情况下,session对象在关闭浏览器后并不是立刻被销毁,因此,为了考虑系统的安全性,在用户退出时,需要即刻清除session对象,防止他人盗用session对象中的信息。
清除session对象内容的主要方法如下:
(1)、removeAttribute()方法。该方法是用来删除session对象中保存的指定属性信息。
例如:sessionsetAttribute("name", "iverson");sessionremoveAttribute("name");
(2)、invalidate()方法。该方法可以清除session对象中的所有信息。
例如:sessioninvalidate()
通常情况下,关闭浏览器后,session信息需要等到session对象失效后才能清除,如果需要实现关闭浏览器后即可清除session信息,请尝试用以下方法。
<body onbeforeunload="windowlocation='logoutjsp'">
logoutjsp页面中,可以这么做:<% >session是依赖于cookie的,当你访问一个网站的时候,这个网站的服务器会为你生成一个唯一的session_id存储在客户端浏览器,当你在站内跳转页面的时候,浏览器会自动向服务器发送你的唯一session_id,服务器根据你的session_id获取session信息。
但是当浏览器禁用cookie时,你的服务器无法获取session_id,服务器就无法获取你的session信息,就会导致session失效的问题。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/10639027.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-10
下一篇 2023-05-10

发表评论

登录后才能评论

评论列表(0条)

保存