在退出登录时只是简单的跳到登录界面的 jsp 中,而没有把 session 中的数据清空,这样就会造成非常大的漏洞,你虽然退出了,但是你登录的数据还存在 session 中,所以就需要在你退出登录的时候把 session 中的数据清空,然后再跳到登录的 jsp 页面中。
1、首先在你点击退出的时候跳转到 servlet 中对 session 进行操作
exit.onclick = function () {
var result = confirm("确定要退出吗");
if(result){
window.location.href = "http://localhost:8080/login/OutLogin";
}
}
2、在退出登录的方法里面,运用 removeAttribute 对 session 进行清除,之后再跳转到登录页面
/**
* 顾客退出登录
* @param req
* @param res
* @throws Exception
*/
public void OutLogin(HttpServletRequest req, HttpServletResponse res) throws Exception{
req.getSession().removeAttribute("customer");
res.sendRedirect("/userLogin.jsp");
}
Session 使用细节
(1)Session 钝化、活化:
钝化:在服务器正常关闭后,Tomcat 会自动将 Session 数据写入硬盘的文件中
活化:再次启动服务器之后,从文件加载数据到 Session 中
(2)Session 销毁
1、默认情况下,无操作,30分钟自动销毁
2、调用 Session 对象的 invalidate() 方法
以上就是小编结合笔记和实际问题对清除 session 的一些见解,希望可以帮助到大家,也希望大家批评指正,一起进步。