一、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()的区别相关推荐

  1. JavaWeb 后端 三 之 Response Request 学习笔记

    一.响应对象 Response(重点:HTTP协议响应部分) 查看 HttpServletResponse set是 有这个头 修改 没有添加一个新的 和 add 有点小区别 案例: 1. 字节流向客 ...

  2. JavaWeb 后端 三 之 Response Request

    1. 响应对象 Response(重点:HTTP协议响应部分) 查看 HttpServletResponse set是 有这个头 修改 没有添加一个新的 和 add 有点小区别 案例: 1.1 字节流 ...

  3. session.invalidate()和session.removeAttribute()的区别

    1.理清概念 要明白这两个方法的区别,首先需要弄清楚这两个对象的概念. 1.1.关于session session是一种保存在服务端的,用于记录用户状态的对象. 用户状态可能有很多种,如登录用户名,登 ...

  4. 从request获取各种路径request.getRealPath()

    1.此方法已过时,现在可替换的实现方法有 request.getSession().getServletContext().getRealPath("/") 在Servlet 里用 ...

  5. 说说Request.Params[key]和Request[key]

    摘要 其实你一看到,就应该会想到,这个不简单吗,不就是服务端接收参数的两种方式吗?是的.在asp.net编程中,QueryString.Form.Cookie是三种比较常见的接收客户端参数的方式.Qu ...

  6. ServletActionContext.getRequest().getSession() 和 ActionContext.getContext().getSession()的区别

    ServletActionContext.getRequest().getSession() 和 ActionContext.getContext().getSession() ActionConte ...

  7. 安装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 ...

  8. response.sendRedirect(url)与request.getRequestDispatcher(url).forward(request,response)的区别

    response.sendRedirect(url)跳转到指定的URL地址,产生一个新的request,所以要传递参数只有在url后加参数,如: url?id=1. request.getReques ...

  9. java中的request对象_java中request对象各种方法的使用实例分析

    本文实例讲述了java中request对象各种方法的使用.分享给大家供大家参考,具体如下: request对象是从客户端向服务器端发出请求,包括用户提交的信息以及客户端的一些信息.request对象是 ...

最新文章

  1. 如何设计出优秀的Restful API?
  2. SQLStoredProc调用数据库存储过程
  3. oracle怎么小数中多余的零,关于小数中0的处理
  4. 数组|leetcode27.移除元素
  5. 设计模式_第二篇_策略模式
  6. Java基础语法之Map
  7. python-OpenCV之numpy数组操作
  8. Python headers not found错误解决办法
  9. (12)VHDL组合逻辑
  10. cf有没有linux版本,急切求助万能的吧友 !!! Linux系统能玩穿越火线吗 好
  11. python 初始化数组_Python里面这些点,据说90%的新手都会一脸懵逼
  12. 关于计算机算法学习路线(持续更新)
  13. spring事务出现的超卖问题
  14. 反垃圾邮件技术介绍和部署思路
  15. 基于 Openocd 和 FT2232H 的 ARMv8(Coretex-A53)调试
  16. [异常] Encountered a duplicated sql alias [name] during auto-discovery of a native-sql query;
  17. 【大猛子与曾经的无趣生活】
  18. 【粤教版必修一《数据与计算》】知识总结
  19. 一文带你理顺C++中的const
  20. 机器学习中的数学——距离定义(九):测地距离(Geodesic Distance)

热门文章

  1. 5招教你卫浴间的防潮装修
  2. ZYS的黄金——解题报告
  3. Android SurfaceView简例
  4. 我在HIT第一次.net实验中用到的sql语句
  5. 手机C语言编程软件c4droid试用
  6. 计算机右键管理提示没有关联应用,win7系统右键计算机管理提示“该文件没有与之关联的程序”的修复步骤...
  7. 极客时间:《一个草根创业者的40岁人生复盘》阅读笔记
  8. KSO-Could not load file or assembly ‘Microsoft.Bcl.AsyncInterfaces, Version=1.0.0.0, Culture=neutral
  9. Java变量和变量命名规则
  10. 会议室预约系统遇到的问题