Session会话与请求域的区别

session会话和请求域(也称为request域)都是用于存储和管理用户特定信息的重要概念,但它们在作用范围和生命周期上有显著的不同。

请求域 (Request Domain)

  1. 作用范围:请求域是面向单次请求的。每次HTTP请求都会创建一个新的request对象,所有的请求参数以及在处理请求过程中产生的数据都可以存储在这个域中。

  2. 生命周期request域的生命周期非常短暂,仅在当前请求的处理过程中有效。一旦请求结束,request对象及其域中的数据就会被销毁。

  3. 数据持久性:存储在request域中的数据仅在当前请求周期内可用。这意味着如果需要在后续请求中访问这些数据,必须通过某种方式(如sessioncookie、数据库等)将数据持久化。

  4. 存储位置request域的数据存储在服务器端,但仅在当前请求的上下文中可见。

   /*
     void setAttribute(String var1, Object var2);
    注意:存取时key值要相同,key-value键值 value 可以是任意类型数据
     */
    // 存入请求域
    req.setAttribute("key","value");
    // 取出数据
    req.getAttribute("key");
演示

在这里插入图片描述
在这里插入图片描述

效果

在这里插入图片描述

Session会话

  1. 作用范围session会话是面向用户的,每个用户在与Web应用程序交互时都有一个独立的session。这意味着对于不同的用户,即使他们同时访问同一页面,他们也有各自独立的session数据。

  2. 生命周期session的生命周期通常比一次请求要长得多。它通常从用户第一次访问某个Web应用开始,直到用户关闭浏览器或session超时为止(默认情况下,session的超时时间为30分钟,但可以通过配置文件更改)。在某些情况下,也可以通过编程方式手动销毁session

// 调用方法销毁
session.invalidate();//手工销毁
// 浏览器关闭,原有的Session会失效,相对于是没了
  1. 数据持久性:由于session的生命周期较长,存储在session中的数据可以跨多个请求持久存在。这对于维护用户登录状态、购物车信息等长期有效的数据非常有用。

  2. 存储位置session数据通常存储在服务器端,以防止数据丢失或被篡改。

  //获取Session对象
HttpSession session=request.getSession();
System.out.println("Id:"+session.getId());//唯一标记,
session.setAttribute("key",value);//以键值对形式存储在session作用域中。
session.getAttribute("key");//通过String类型的key访问Object类型的value
演示

在这里插入图片描述
在这里插入图片描述

效果

在这里插入图片描述

总结

  • session适用于需要跨多个请求持久保存的数据,如用户身份验证信息。
  • request域适用于只在单个请求周期内需要的数据,如表单提交的数据或临时的处理结果。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/750383.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【实战教程】如何使用JMeter来轻松测试WebSocket接口?

1、websocket接口原理 打开网页:从http协议,升级到websocket协议,请求建立websocket连接服务器返回建立成功成功客户端向服务端发送匹配请求服务端选择一个客服上线服务器返回客服id客户端向服务器发送消息服务器推送消息给指定的客服服务器…

EXCEL快速填充空白内容

** EXCEL快速填充空白内容 ** 1.全选所有需要填充的内容,按住电脑的F5或者CTRLG点击定位 2.可以看到空白处被自动选定,之后按电脑和⬆,最后CTRLenter 可以看到空白处已经被填充。

C#——this关键字详情

this关键字 在 C# 中,可以使用 this 关键字来表示当前对象,日常开发中我们可以使用 this 关键字来访问类中的成员属性以及函数。 使用this表示当前类的对象 执行结果 使用 this 关键字串联构造函数 执行结果 使用 this 关键字作为类的索引器 执行结果 …

02逻辑代数与硬件描述语言基础

2.1 逻辑代数(简单逻辑的运算) 2.2 逻辑函数的卡诺图(从图论的角度)化简法 2.3 硬件描述语言Verilog HDL基础(研究生阶段才用得到) 要求: 1、熟悉逻辑代数常用基本定律、恒等式和规则。 2、掌握…

蒸汽架空管道中的关键守护者:滑动管托、导向管托与固定管托

蒸汽架空管道中的关键守护者:滑动管托、导向管托、固定管托与补偿器的重要角色在蒸汽架空管道系统中,每一个组件都扮演着不可或缺的角色,共同确保管道的安全、高效运行。今天,我们就来深入探讨滑动管托、导向管托、固定管托以及补…

用一个实例看如何分享大量照片 续篇二,关于Exif (Exchangeable Image File) - 可交换图像文件

续篇二:说说关于照片隐含的 Exif (Exchangeable Image File) 可交换图像文件 数码照片的Exif 参数有很多,重要的Exif信息:拍摄日期、时间、拍摄器材、GPS信息。 当然这主要对自己的档案有意义,如果放到网上还是建议抹去这些信息。…

50etf期权合约一手多少钱你知道吗?

今天带你了解50etf期权合约一手多少钱你知道吗?50etf期权有不同价值的合约,每手50etf期权合约从几元到几百元再到上千元的都有,具体需要根据投资者选择了什么价值的合约。 50etf期权权利金 50ETF期权合约的权利金是买方需要缴纳的费用&…

Asm动态生成类和get and set方法

asm在解析文件的时候是按照特定顺序进行分析的,首先是visit方法,做类相关的解析,然后是注解,然后是属性,最后才是方法,属性是在所有方法分析前面进行,也就是只有当class文件中的所有属性都遍历完…

GMSB文章五:微生物组差异分析ANCOMBC-2

欢迎大家关注全网生信学习者系列: WX公zhong号:生信学习者Xiao hong书:生信学习者知hu:生信学习者CDSN:生信学习者2 介绍 微生物的物种差异分析是一项关键的生物信息学任务,旨在识别不同生物群落或样本组…

讯飞星火企业智能体平台正式发布,打造每个岗位专属AI助手

大力财经 | 发布 讯飞星火V4.0来了!6月27日,科大讯飞在北京发布讯飞星火大模型V4.0及相关落地应用。讯飞星火V4.0七大核心能力全面提升,整体超越GPT-4 Turbo,在8个国际主流测试集中排名第一,国内大模型全面领先。 大模…

代码随想录算法训练营第三十六天|62.不同路径、 63. 不同路径 II、343.整数拆分(可跳过)、96.不同的二叉搜索树(可跳过)

62.不同路径 题目链接:62.不同路径 文档讲解:代码随想录 状态:还行 思路:当前状态的只有可能是从上面或者左边过来的,所以 dp[i][j] dp[i-1] dp[j-1] 题解: public int uniquePaths(int m, int n) {if (…

入职必备-mac下载安装maven

1、Maven 下载 1.1、官网下载安装包 官网下载链接 历史版本下载: Index of /dist/maven/maven-3/3.8.8/binaries 注意 .bash_profile 文件中的符号可能会影响配置 1.2、解压文件 2、Maven 环境配置 2.1、Java JDK 依赖 配置 maven 环境变量需要先配置好 JDK …

Knife4j 2.2.X 版本 swagger彻底禁用

官方文档配置权限:https://doc.xiaominfo.com/v2/documentation/accessControl.html#_3-5-1-%E7%94%9F%E4%BA%A7%E7%8E%AF%E5%A2%83%E5%B1%8F%E8%94%BD%E8%B5%84%E6%BA%90 通常有时候我们碰到的问题如下: 在开发Knife4j功能时,同很多开发者经常讨论的问…

检索增强生成RAG系列2--提高RAG准确度的关键点

上一章讲到了RAG的基本流程,但是如果只是完成一个基本流程,想要在商业上使用还是不行,因为正常商业上的使用其准确度至少有个90%甚至更高。那么如何提高RAG的准确度,那么需要看看RAG有哪些关键点。 目录 1 RAG结构图2 文档处理3 …

群晖系统百度网盘套件卸载之后无法再次安装 ContainerManager项目无法删除

前言 最近重新组了个NAS,在套件迁移的时候遇到个头疼的问题。在用矿神的百度网盘在迁移的时候出错了,于是我自己删掉baiduapp得容器和镜像然后卸载套件。不知道中间出了啥问题,套件是已经卸载了,但是群晖ContainerManager套件中的…

企业有必要安装数据文件加密软件吗?哇!这么多好处

需要的 一、查看以下分析,便能得出结论 安全防护提升:禁止拷贝、打印、截屏等,还能够设置文件的浏览次数、有效期,提供多层次的文档保护措施。 核心机密保护:企业的核心机密文件、技术资料、客户资料等重要信息是公…

RabbitMQ安装部署

简介 RabbitMQ一款知名的开源消息队列系统,为企业提供消息的发布、订阅、点对点传输等消息服务。 RabbitMQ在企业开发中十分常见,课程为大家演示快速搭建RabbitMQ环境。 安装 rabbitmq在yum仓库中的版本比较老,所以我们需要手动构建yum仓库…

学习分享-Redis 中的压缩列表 (Ziplist)

Redis 中的压缩列表 (Ziplist) 压缩列表 (Ziplist) 是 Redis 内部用于优化小规模数据存储的一种紧凑数据结构。它设计用于高效地存储包含少量元素的列表、哈希表或有序集合,以减少内存占用和提高性能。以下是压缩列表的详细介绍: 1. 压缩列表的结构 压…

mac 安装mysql启动报错 ERROR!The server quit without update PID file

发现问题: mac安装mysql初次启动报错: 一般出现这种问题,大多是文件夹权限,或者以前安装mysql卸载不干净导致。首先需要先确定问题出在哪?根据提示我们可以打开mysql的启动目录,查看启动日志。 问题解决&a…

逆变器使用手册:类型详解、安装要点与维护须知

逆变器随着可再生能源的兴起和移动电源需求的激增已成为连接直流电与交流电世界的桥梁,其重要性不言而喻。无论是太阳能发电系统的高效利用,还是汽车、游艇等移动设备的电力供应,逆变器都扮演着关键角色。然而,正确的使用方法是确…