我们已经知道如何使用session了,但我们知道,在session中值是不能一直存放的,所以这次我们就来了解下该如何清空session的值。
Session值清空
在java中,session清空有着这么两种情况:
1.session.removeAttribute("sessionname")
用来清除SESSION中某个属性.
2.session.invalidate()
让SESSION失效.
我们可以使用getAttributeNames来得到所有属性名,然后再removeAttribute
例如:public void removeSessionAttributr(HttpServletRequest request)
{
Enumeration em = request.getSession()
.getAttributeNames();
//得到session中所有的属性名
while (em.hasMoreElements())
{
request.gteSession()
.removeAttribute(em.nextElemet()
.toString());
//遍历删除session中的值
}
}
现在我们用一个实例来更加清楚的了解一下该如何清空session值
如:退出登录清空session
1)、首先获取项目路径
2)、设置页面退出按钮安全退出 <
script >
//退出系统的方法
function logout()
{
location.href = "/logout.do";
}
3)、后台代码编写@RequestMapping("/logout")
public void logout(HttpServletRequest request, HttpServletResponse response)
{
request.getSession()
.invalidate();
try
{
request.getRequestDispatcher("/login.jsp")
.forward(request, response);
}
catch (Exception e)
{
e.printStackTrace();
}
}
4)、退出登录后让浏览器后退按钮失效(记得在登录页面编写)
$(function(){
if(window.history && window.history.pushState){
$(window).on("popstate", function(){
window.history.pushState("forward", null, "#");
window.history.forward(1);
});
}
window.history.pushState("forward", null, "#"); //在IE中必须得有这两行
window.history.forward(1);
});
以上就是关于如何清空session值的所有内容,如还需要了解更多编程常见问题及答案的详情,就请持续关注本网站吧。
推荐阅读: