session.invalidate()

本文深入探讨了session.invalidate()方法在退出登录操作中的作用,解释了如何通过解除与session绑定的对象并销毁session来实现用户的安全登出。此外,还提供了一个具体的Spring MVC示例,展示了如何在控制器中实现这一过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天写一个退出登录操作,用到了session.invalidate();

细究了下
public void invalidate()
将session无效化,解绑任何与该session绑定的对象。
在第一次创建一个会话时,服务器会创建一个session对象,同时会生成一个sessionId,并在此次响应中将sessionId 以响应报文的方式传回客户端浏览器内存或以重写url方式送回客户端,来保持整个会话。关闭此浏览器窗口,其内存中的sessionId也就随之销毁。
session.invalidate()是将session设置为失效,一般在退出时使用,但要注意的是:session失效的同时 浏览器会立即创建一个新的session的,你第一个session已经失效了 所以调用它的getAttribute方法时候一定会抛出异常。所以一般用在退出登录操作中。

 /**
     * 退出登录
     */

@RequestMapping(value = "/admin/logout")
    public String logout(HttpSession session){
        session.removeAttribute("user");
        session.invalidate();

        return null;
    }

先把session的user用户移除了,然后再使用 session.invalidate();手动销毁session。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值