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信息。
JavaWeb:request.getSession().invalidate()与request.getSession().removeAttribute()的区别相关推荐
- JavaWeb 后端 三 之 Response Request 学习笔记
一.响应对象 Response(重点:HTTP协议响应部分) 查看 HttpServletResponse set是 有这个头 修改 没有添加一个新的 和 add 有点小区别 案例: 1. 字节流向客 ...
- JavaWeb 后端 三 之 Response Request
1. 响应对象 Response(重点:HTTP协议响应部分) 查看 HttpServletResponse set是 有这个头 修改 没有添加一个新的 和 add 有点小区别 案例: 1.1 字节流 ...
- session.invalidate()和session.removeAttribute()的区别
1.理清概念 要明白这两个方法的区别,首先需要弄清楚这两个对象的概念. 1.1.关于session session是一种保存在服务端的,用于记录用户状态的对象. 用户状态可能有很多种,如登录用户名,登 ...
- 从request获取各种路径request.getRealPath()
1.此方法已过时,现在可替换的实现方法有 request.getSession().getServletContext().getRealPath("/") 在Servlet 里用 ...
- 说说Request.Params[key]和Request[key]
摘要 其实你一看到,就应该会想到,这个不简单吗,不就是服务端接收参数的两种方式吗?是的.在asp.net编程中,QueryString.Form.Cookie是三种比较常见的接收客户端参数的方式.Qu ...
- ServletActionContext.getRequest().getSession() 和 ActionContext.getContext().getSession()的区别
ServletActionContext.getRequest().getSession() 和 ActionContext.getContext().getSession() ActionConte ...
- 安装nrm,报错request@2.88.2: request has been deprecated, see https://github.com/request/request/issu
安装nrm,请求被拒绝:fetchMetadata: WARN deprecated request@2.88.2: request has been deprecated 先切换到淘宝镜像源: np ...
- response.sendRedirect(url)与request.getRequestDispatcher(url).forward(request,response)的区别
response.sendRedirect(url)跳转到指定的URL地址,产生一个新的request,所以要传递参数只有在url后加参数,如: url?id=1. request.getReques ...
- java中的request对象_java中request对象各种方法的使用实例分析
本文实例讲述了java中request对象各种方法的使用.分享给大家供大家参考,具体如下: request对象是从客户端向服务器端发出请求,包括用户提交的信息以及客户端的一些信息.request对象是 ...
最新文章
- 如何设计出优秀的Restful API?
- SQLStoredProc调用数据库存储过程
- oracle怎么小数中多余的零,关于小数中0的处理
- 数组|leetcode27.移除元素
- 设计模式_第二篇_策略模式
- Java基础语法之Map
- python-OpenCV之numpy数组操作
- Python headers not found错误解决办法
- (12)VHDL组合逻辑
- cf有没有linux版本,急切求助万能的吧友 !!! Linux系统能玩穿越火线吗 好
- python 初始化数组_Python里面这些点,据说90%的新手都会一脸懵逼
- 关于计算机算法学习路线(持续更新)
- spring事务出现的超卖问题
- 反垃圾邮件技术介绍和部署思路
- 基于 Openocd 和 FT2232H 的 ARMv8(Coretex-A53)调试
- [异常] Encountered a duplicated sql alias [name] during auto-discovery of a native-sql query;
- 【大猛子与曾经的无趣生活】
- 【粤教版必修一《数据与计算》】知识总结
- 一文带你理顺C++中的const
- 机器学习中的数学——距离定义(九):测地距离(Geodesic Distance)
热门文章
- 5招教你卫浴间的防潮装修
- ZYS的黄金——解题报告
- Android SurfaceView简例
- 我在HIT第一次.net实验中用到的sql语句
- 手机C语言编程软件c4droid试用
- 计算机右键管理提示没有关联应用,win7系统右键计算机管理提示“该文件没有与之关联的程序”的修复步骤...
- 极客时间:《一个草根创业者的40岁人生复盘》阅读笔记
- KSO-Could not load file or assembly ‘Microsoft.Bcl.AsyncInterfaces, Version=1.0.0.0, Culture=neutral
- Java变量和变量命名规则
- 会议室预约系统遇到的问题