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域适用于只在单个请求周期内需要的数据,如表单提交的数据或临时的处理结果。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java中的程序异常处理介绍

一、异常处理机制 Java提供了更加优秀的解决办法:异常处理机制。 异常处理机制能让程序在异常发生时,按照代码的预先设定的异常处理逻辑,针对性地处理异常,让程序尽最大可能恢复正常并继续执行,且保持代码的清晰。 Ja…

算法刷题日志 —— 数组和位运算

文章目录 [461. 汉明距离](https://leetcode.cn/problems/hamming-distance/submissions/542447020/)[448. 找到所有数组中消失的数字](https://leetcode.cn/problems/find-all-numbers-disappeared-in-an-array/submissions/)[136. 只出现一次的数字](https://leetcode.cn/pro…

最长回文串

描述: 最长回文串 思路: 统计每个字母出现次数,如果是偶数,ret x;如果是存在奇数的话,就可以放在中间,ret 1. 代码: class Solution { public:int hash[200];int longestPalindrome(str…

记一次rocketMq根据配置文件读取listener consumerGroup异常

记一次rocketMq根据配置文件读取listener consumerGroup异常 引现象处理 引 rocketMq通常需要配置topic和consumerGroup,而这两个参数往往是不会直接定值写死,而是通过application配置文件配置变量的方式来注入。 现象 今天新增了几个topic和consumer…

AI智能修复视频,垃圾画质也变高清 HD——牛小影

很多时候,从网上下载的视频或监控视频都是模糊的。有什么方法或者软件可以让哪些模糊的视频恢复清晰吗?今天就给大家推荐一个可以使模糊的视频变清晰的软件。 我们都知道用PS或者一些修复工具可以修复模糊的图片,但是很多人不知道的是视频也可…

构建LangChain应用程序的示例代码:46、使用 Meta-Prompt 构建自我改进代理的 LangChain 实现

Meta-Prompt 实现 摘要: 本文介绍了 Noah Goodman 提出的 Meta-Prompt 方法的 LangChain 实现,该方法用于构建能够自我反思和改进的智能代理。 核心思想: Meta-Prompt 的核心思想是促使代理反思自己的性能,并修改自己的指令。…

上班族要怎么挑选智能猫砂盆?今年最受欢迎的牌子都在这里了!

对于上班族来说,猫砂盆里的猫屎到底该如何是好,放到下班回来再铲,猫砂的臭味早就飘满屋子,想立刻铲掉吧,班不要上啦?可是不铲就会生细菌,谁也不想花个几千块去给猫咪看病吧,谁不希望…

运算逻辑符的短路特性

在开发时遇到了这样一个问题: public boolean isPasswordNullOrEmpty(Context context) {return getPassword(context) ! null && !getPassword(context).isEmpty; } 这个方法想要实现的效果是获取一个password是否为空的状态,但会出现报错&am…

Linux:进程和计划任务管理

目录 一、程序和进程 1.1、程序 1.2、进程 1.3、线程 1.4、协程 二、查看进程相关命令 2.1、ps命令(查看静态的进程统计信息) 第一行为列表标题,其中各字段的含义描述如下 2.2、top命令(查看进程动态信息) 2…

商城积分系统的设计方案(上)-- 需求分析

一、背景 用户在参与公司的促销活动,比如邀请用户下单支付,可以获得虚拟货币。它可以用于解锁学习课程。 商品在定价的时候,需支持虚拟货币,用户在购买该商品的时候,可使用虚拟货币进行支付。 在电商体系中&#xf…

等保2.0自查表,扩展部分

等保2.0自查表,扩展部分,参考标准: GB∕T 22239-2019 《信息安全技术 网络安全等级保护基本要求》 GB∕T 28448-2019 《信息安全技术网络安全等级保护测评要求》 云计算安全 层面 控制点 检查项 三级要求 二级要求 安全物理环境 基础…

android:exported=“false“

书籍: 《第一行代码 Android》第三版 开发环境: Android Studio Jellyfish | 2023.3.1 问题: A launchable activity must be exported as of Android 12, which also makes it available to other apps 新建的activity中的android:exp…

PID算法介绍以及代码实现过程说明

写在正文之前 在上一篇文章就说会在这两天会基于PID写一个文章,这里的原理部分值得大家都看一下,代码部分的实现是基于python的,但是对于使用其他编程语言的朋友,由于我写的很通俗易懂,所以也值得借鉴。 一、PID算法…

最大流的学习代码,匹配问题的学习 使用c++

使用一个例子学习最大流和匹配问题&#xff0c;假如某地有n个出租车司机和m个正在打车的乘客&#xff0c;他们应该如何匹配&#xff1b; #include <iostream> // 用于输入输出 #include <vector> // 用于动态数组 #include <queue> // 用于广度优先…

linux基于wifi,Xshell的远程连接

最近有个比赛&#xff0c;要使用ros小车但是系统是ubuntu20.04无桌面系统刚开始接触linux的我啥都不会&#xff0c;就一个简单的连接wifi都搞了3天才搞通。再此进行一个总结。参考博客原文链接&#xff1a;https://blog.csdn.net/qq_51491920/article/details/126221940 一、什…

短说V4.1.5及PC端V3.1.4正式版发布公告

Hi 大家好&#xff0c; 我是给你们带来惊喜的运营小番茄。 本期更新为短说 4.1.5和PC端3.1.4的正式版。 本次修复上个版本中的问题和功能优化&#xff0c;以及新增了如下功能&#xff1a; PC端支持发布秀米帖&#xff0c;可支持部分秀米格式&#xff1b;后台管理类消息新增…

C#中的容器

1、数组 数组是存储相同类型元素的固定大小的顺序集合 声明数组时&#xff0c;必须指定数组的大小 2.数组的插入和删除数据比较麻烦&#xff0c;但是查询比较快 2、动态数组&#xff08;ArrayList&#xff09; 动态数组&#xff1a;可自动调节数组的大小 可以存储任意类型数…

【秋招刷题打卡】Day03-二分系列之-二分答案

Day03-二分系列之-二分答案 给大家推荐一下咱们的 陪伴打卡小屋 知识星球啦&#xff0c;详细介绍 >笔试刷题陪伴小屋-打卡赢价值丰厚奖励 < ⏰小屋将在每日上午发放打卡题目&#xff0c;包括&#xff1a; 一道该算法的模版题 (主要以力扣&#xff0c;牛客&#xff0c;…

43 mysql insert select 的实现

前言 我们这里 来探讨一下 insert into $fields select $fields from $table; 的相关实现, 然后 大致来看一下 为什么 他能这么快 按照 我的思考, 应该里里面有 批量插入才对, 但是 调试结果 发现令我有一些意外 呵呵 果然 只有调试才是唯一的真理 测试数据表如下 CREATE…

数字社交的领航者:解析Facebook的引领作用

在当今数字化社会中&#xff0c;社交网络已经成为了人们日常生活不可或缺的一部分。而在众多社交平台中&#xff0c;Facebook凭借其巨大的用户基础和创新的技术应用&#xff0c;被公认为数字社交领域的领航者之一。本文将深入解析Facebook在数字社交中的引领作用&#xff0c;探…