在默认的情况下,Session对象在关闭浏览器后并不是立即就被销毁,所以对系统的安全性肯定会有影响,因此考虑到系统的安全性,我们可以用一些方法实现在用户退出时,清除Session对象,这样就有效的防止他人盗用Session对象中的信息。
清除Session对象内容的方法如下:
1、使用removeAttribute()方法
使用此方法可以删除Session对象中保存的指定属性的信息。代码如下:
session.setAttribute("name","tom");
session.removeAttribute("name");
2、使用invalidate()方法
使用此方法可以清除Session对象中的所有信息,代码如下:
session.invalidate();
一般情况下,在关闭浏览器后,session信息需要等到Session对象失效才能清除,如果需要实现关闭浏览器时就立刻清除Session,可以使用下面的方法:
<body οnbefοreunlοad="window.location='logout.jsp'">
在上述代码中,通过onbeforeunload事件属性捕获关闭事件,然后调用logout.jsp页面代码进行处理。在logout.jsp里面可以销毁Session对象,代码如下:
<%
HttpSession session = request.getSession();
session.invalidate();
%>
本文转自:http://www.51songl.com/how-to-clear-the-exit-sign-in-session.html