qidao007的gravatar头像
qidao007 2017-03-23 11:48:43
退出页面自动清除java session方法

在关闭页面时自动清除Session cookie,页面缓存。
在默认情况下,session对象在关闭浏览器后并不是立刻被销毁,因此,为了考虑系统的安全性,在用户退出时,需要即刻清除session对象,防止他人盗用session对象中的信息。
清除session对象内容的主要方法如下:
(1)、removeAttribute()方法。该方法是用来删除session对象中保存的指定属性信息。
例如:session.setAttribute("name", "iverson");session.removeAttribute("name");
(2)、invalidate()方法。该方法可以清除session对象中的所有信息。
例如:session.invalidate().
通常情况下,关闭浏览器后,session信息需要等到session对象失效后才能清除,如果需要实现关闭浏览器后即可清除session信息,请尝试用以下方法。
<body onbeforeunload="window.location='logout.jsp'">
logout.jsp页面中,可以这么做:<% HttpSession session = request.getSession(); session.invalidate(); %>
现如今,基于MVC架构模式的框架,很多。所以,上述代码,根据所选的MVC框架不同,直接与jsp页面进行分离。

一、清除页面缓存 在jsp页里
//在jsp页里
 <%
 response.setHeader("Pragma","No-cache");
 response.setHeader("Cache-Control","no-cache");
 response.setDateHeader("Expires", 0);
 response.flushBuffer();
 %>
 //在html页里
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">

<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
<META HTTP-EQUIV="Cache-Control" CONTENT="no-cache">
<META HTTP-EQUIV="Expires" CONTENT="0">
[代码] 二、清除cookie
<%
 Cookie killMyCookie = new Cookie("mycookie", null);
killMyCookie.setMaxAge(0);
killMyCookie.setPath("/");
response.addCookie(killMyCookie);
 %>
[代码] 三、清除session
<%@ page language="java" session="false" %>
 <%
 session.invalidate();
 %>


打赏
最近浏览
fwfwcwe  LV1 2022年3月3日
久相伴ii 2021年9月13日
暂无贡献等级
htgxcao 2021年4月22日
暂无贡献等级
mrhaoman  LV11 2021年4月15日
lsshiki 2021年3月22日
暂无贡献等级
1792624151 2021年1月2日
暂无贡献等级
程序员admin  LV4 2020年5月11日
yanchenxu  LV1 2020年4月27日
tianhuiyu 2020年4月26日
暂无贡献等级
songfubin  LV7 2020年3月17日
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友