JavaWeb:request.getSession().invalidate()与request.getSession().removeAttribute()的区别

一、Session是什么?

Session对象存储特定用户会话所需的属性及配置信息。

当用户在应用程序的Web页之间跳转时,存储在Session对象中的变量将不会丢失,而是在整个会话中一直存在下去。当用户请求来自应用程序的Web页面时,如果该用户还没有会话,则Web服务器将自动创建一个Session对象。当会话过期或者被放弃后,服务器将终止该会话。

我们在编写JavaWeb程序时,经常用Session来保存一些信息,最常见的就是保存用户的登录信息。既然我们用Session来保存信息,那么也会遇到删除Session信息的情况,比如说:用户退出。我们就需要删除掉服务器中存储用户登录信息的Session。

删除Session有两种方式,分别是:

(1)request.getSession().invalidate()

(2)request.getSession().removeAttribute()

接下来以一个列子介绍一下两者的区别。

例子:现在系统中有两个用户同时登录,那么系统将保存两个用户的信息。

HttpSession session = request.getSession();
session.setAttribute("user1",User1);
session.setAttribute("user2",User2);

一、request.getSession().invalidate()

作用:销毁当前会话域中的所有属性。 

如果我们现在调用request.getSession().invalidate()函数,两个用户的Session信息将全部被清除。

二、request.getSession().removeAttribute()

作用:销毁当前会话域中的一个属性。

而如果我们想只消除user1的Session信息而保留user2的Session信息,则可使用request.getSession().removeAttribute()函数。

session.removeAttribute("user1");

运行这一行代码将会销毁user1的Session信息。

  • 8
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值