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

关闭浏览器有多种方式,比如:直接X掉,或者按ALT+F4,或者双击左上角的IE小图标,或者收藏夹链接另一网站,或者我刚刚登陆,但我按返回,退回到别的网站,或者是任务栏中右键点关闭,等多种关闭方式。那么我怎么才能在关闭浏览器之后将session清除呢?目的:我是想统计我程序在线的准确人员,在出现问题时可以很好的提示他们。求各大侠给点意见或者答案。

首先我想说明下、session是有服务器也就是Web容器创建的、使用request.getSession()来获取HttpSession对象、使用session.setAttribute()进行数据的保存、而使用session.getAttribute()来获取session内保存的数据、 在以下三种情况下、都可以结束session一、关闭浏览器、二、调用HttpSession的invalidate()方法、删除HttpSession对象和数据、三、两次访问时间间隔大于session定义的非活动时间间隔、注意:在session结束时、服务器会清空当前浏览器相关的数据信息、 祝君好运、谢谢、
温馨提示:内容为网友见解,仅供参考
第1个回答  2015-06-17
使用浏览器的事件(关闭浏览器要做的动作),然后通过ajax清楚session,和退出的做法一样
第2个回答  推荐于2016-02-16

    session只和服务器有关;

    cookie和浏览器有关;

    所以关闭浏览器,服务器照样可以remove,session,不需要操心。

    HttpSession sessoion = request.getSession();

    session.removeAttribute("username");

第3个回答  2013-07-18
seesion的作用在一个会话,你浏览器启动的那一刻,服务器为你创建,关闭的时候为你销毁,不用你管的

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

java 中用户退出之后怎样删除登陆的数据
两种简单方式:在点击退出之后,手动的去调用一个方法,通过用户ID去删除该条数据 如果使用Spring的话,写一个AOP,在检测到用户登出之后,自动去删除数据

jsp关闭浏览器时,如何清空session
jsp关闭浏览器时,清空session的方式如下:function window.onUnload(){var newWindow;if((window.screenLeft>=10000 && window.screenTop>=10000)||event.altKey){ newWindow=window.open('destorys.jsp','网页名称','width=0,height=0,top=4000,left=4000');\/\/新窗口将在视区之外打开 newWindow....

java的session什么时候清空
严格的讲,做不到这一点。可以做一点努力的办法是在所有的客户端页面里使用javascript代码window.oncolose来监视浏览器的关闭动作,然后向服务器发送一个请求来删除session。但是对于浏览器崩溃或者强行杀死进程这些非常规手段仍然无能为力。4、有个HttpSessionListener是怎么回事 你可以创建这样的listener去监控...

javascript清除session的问题
if 关闭浏览器的事件中可以这样写:if session("pagecount")= 1 then '这里清除session else session("pagecount")= session("pagecount")-1 end if 这样可以实现当关闭最后一个窗口时清除session.当然,这些还要加上对用户的判断,可以实现对特定用户用行特定清除.而不是所有用户.还打可实现,...

java 关闭服务器重启,打开新浏览器,session总是存在
这个并不是session存在,你服务器重启了,session肯定就失效了,我们一般出现这样的情况如果用的是tomcat,就在配置文件中配置一下

Java:session中的invalidate()的作用是什么呢?求解
在退出时,开发者有两种选择来处理session:一是清空session中的所有数据,二是直接调用invalidate()方法来销毁会话。通常,推荐直接使用invalidate(),这样可以避免用户在退出后通过浏览器后退功能,依然能够无需重新登录就能访问站点,从而提供更好的用户体验。总之,invalidate()的作用是终止当前会话,强迫浏览...

java web程序spring mvc 如何解决用户重复登录
这个,session存储登录信息,是有过期时间的默认是30分钟吧,你可以做在登录的时候进行一个session用户判断就可以解决重复登录问题,注销时,将session中用户清除,关闭浏览器一般不用做处理的。

java,cookie不是一般在浏览器关闭时被删除吗,那他怎样保存用户的历史...
五、cookie的发送1.创建Cookie对象2.设置最大时效3.将Cookie放入到HTTP响应报头如果你创建了一个cookie,并将他发送到浏览器,默认情况下它是一个会话级别的cookie:存储在浏览器的内存中,用户退出浏览器之后被删除。如果你希望浏览器将该cookie存储在磁盘上,则需要使用maxAge,并给出一个以秒为单位的...

java中session存放在哪儿
session存放在服务器内存中,并不是在浏览器所在的机器上。Session的id保存在客户机的cookie中。

相似回答