退出登录时清空session中的数据

在退出登录时只是简单的跳到登录界面的 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分钟自动销毁

退出登录时清空session中的数据_第1张图片

2、调用 Session 对象的 invalidate() 方法

以上就是小编结合笔记和实际问题对清除 session 的一些见解,希望可以帮助到大家,也希望大家批评指正,一起进步。

你可能感兴趣的:(JavaWeb,servlet,服务器,运维,idea)