当前位置: 首页 > news >正文

Spring 获取Cookie/Session

获取Cookie/Session

  • Cookie & Session
  • 获取Cookie
    • 传统方法获取
    • 使用 Spring 获取 Cookie
  • 获取Session
    • 传统方法
    • 使用 SpringBoot 获取 Session
    • 简洁获取 Session

HTTP协议 自身是属于 无状态协议(默认情况下 HTTP 协议的客户端与服务端的这次通信,和下次的通信之间没有直接的联系)
但是实际上,很多时候都需要知道请求之间的关联关系
例如登录网站成功之后,第二次访问的时候服务器就能知道请求是否已经登陆过了

Cookie & Session

1、用户提供账号和密码,服务器进行验证
2、服务器验证通过,会把信息存储在Session中,通过 Set-Cookie 的方式把 SessionId返回给客户端
3、客户端收到响应,把SessionId存储在 Cookie
4、后续的请求中,客户端带着SessionId去请求(带着Cookie信息去请求)

request.getSession()就是从Cookie中获取SessionId,并根据SessionId获取Session信息

获取Cookie

传统方法获取

传统方法获取 Cookie 就是利用 Servlet
在这里插入图片描述
获取成功
在这里插入图片描述

也可以手动设置 Cookie
在这里插入图片描述
获取成功在这里插入图片描述
在这里插入图片描述

使用 Spring 获取 Cookie

使用 Spring 只能通过注解获取单个 Cookie ,需要以列表形式获取 Cookie 就需要使用传统方法
在这里插入图片描述
获取成功
在这里插入图片描述
先前已经设置好了一个名为 bite 的 Cookie
在这里插入图片描述

获取Session

Sesson的本质就是一个 哈希表,存储了一些键值对结构,Key就是SessionID,Value就是用户信息

传统方法

使用 Servlet 的方式获取 Session


但是 Session 无法像 Cookie 一样可以 无中生有
需要先 设置Session
在这里插入图片描述
设置成功
在这里插入图片描述
然后 获取 Session
在这里插入图片描述

使用 SpringBoot 获取 Session

还是先设置 Session(与传统方法的setSession() 相同)
在这里插入图片描述
然后获取 Session
HttpSesson session 是内置对象,需要就加上,不需要可以不填在这里插入图片描述
获取成功
在这里插入图片描述

简洁获取 Session

使用注解 @SessionAttribute 进行获取
在这里插入图片描述
还是要先 setSession()
在这里插入图片描述
获取成功
在这里插入图片描述


PS:当我加入注解@SessionAttribute 之后,她就成了一个必传的参数,重新启动服务器再次发送请求时会发生错误
在这里插入图片描述
此时需要修改一下源码的值,将她设置为非必传
在这里插入图片描述
再次访问时为null,是因为没有提前setSession(),但是这现在已经不是错误
在这里插入图片描述

相关文章:

Spring 获取Cookie/Session

获取Cookie/Session Cookie & Session获取Cookie传统方法获取使用 Spring 获取 Cookie 获取Session传统方法使用 SpringBoot 获取 Session简洁获取 Session HTTP协议 自身是属于 无状态协议(默认情况下 HTTP 协议的客户端与服务端的这次通信,和下次的通信之间没…...

小红书接口数据查询优化指南

小红书,作为分享生活、购物心得与美妆护肤经验的热门社交媒体平台,对开发者而言,其数据接口具有极高的实用价值。本指南将聚焦于如何通过接口高效查询小红书数据,并提供清晰的步骤与示例代码。 一、前置准备 在深入查询之前&…...

数据结构 - 图

文章目录 一、图的基本概念二、图的储存结构1、邻接矩阵2、邻接表 三、图的遍历1、广度优先遍历2、深度优先遍历 四、最小生成树1、概念2、Kruskal算法3、Prim算法 五、最短路径问题1、单源最短路径--Dijkstra算法2、单源最短路径--Bellman-Ford算法3、多源最短路径--Floyd-War…...

如何在Linux系统中管理和优化Swap空间

如何在Linux系统中管理和优化Swap空间 Swap空间简介 检查Swap空间 创建Swap空间 创建Swap文件 创建Swap分区 配置Swap空间 编辑fstab文件 设置vm.swappiness Swap使用策略 调整vm.vfs_cache_pressure 设置vm.min_free_kbytes Swap空间的监控 使用top命令 使用free命令 Swap…...

瑞格智慧心理服务平台 NPreenSMSList.asmx sql注入漏洞复现

0x01 产品描述: ‌ 瑞格智慧心理服务平台‌是一个集心理测评、心理咨询、心理危机干预、心理放松训练等功能于一体的综合性心理健康服务平台。该平台由北京瑞格心灵科技有限公司开发,旨在为用户提供全方位的心理健康服务。0x02 漏洞描述:…...

大模型是否具备推理能力?解读苹果新论文:GSM-Symbolic和GSM8K

在人工智能领域,大模型的推理能力一直备受关注。OpenAI的GPT-4和其他大模型的表现令人惊叹,但究竟是否具备真正的数学推理和抽象逻辑能力?最近,苹果的研究人员发表了一篇题为“GSM-Symbolic:理解大语言模型中数学推理的…...

自动化部署-02-jenkins部署微服务

文章目录 前言一、配置SSH-KEY1.1 操作jenkins所在服务器1.2 操作github1.3 验证 二、服务器安装git三、jenkins页面安装maven四、页面配置自动化任务4.1 新建任务4.2 选择4.3 配置参数4.4 配置脚本 五、执行任务5.1 点击执行按钮5.2 填写参数5.3 查看日志 六、查看服务器文件七…...

HTB:Analytics[WriteUP]

目录 连接至HTB服务器并启动靶机 1.How many open TCP ports are listening on Analytics? 2.What subdomain is configured to provide a different application on the target web server? 3.What application is running on data.analytical.htb? 4.What version of…...

【每日题解】3211. 生成不含相邻零的二进制字符串

给你一个正整数 n。 如果一个二进制字符串 x 的所有长度为 2 的 子字符串 中包含 至少 一个 "1",则称 x 是一个 有效 字符串。 返回所有长度为 n 的 有效 字符串,可以以任意顺序排列。 示例 1: 输入: n 3 输出&a…...

Nginx、Tomcat等项目部署问题及解决方案详解

目录 前言1. Nginx部署后未按预期显示结果1.1 查看Nginx的启动情况1.2 解决启动失败的常见原因 2. 端口开启问题2.1 Windows环境下的端口开放2.2 Linux环境下的端口开放 3. 重视日志分析3.1 Nginx日志分析3.2 Tomcat日志分析 4. 开发环境与部署后运行结果不同4.1 开发环境与生产…...

【PythonWeb开发】Flask-RESTful参数解析

flask-restful中的reqparse.RequestParser是一个用于解析和验证参数的工具。它可以帮助开发者从请求中提取参数,并确保这些参数符合预期的格式和类型。参数解析的意思就是规范化传入的参数并获取到这些参数。 一、什么是 reqparse.RequestParser? reqpa…...

gcc与mingw64版本介绍

三类编译器 GCC,全称为GNU Compiler Collection,是一个强大的编译器集合,它不仅支持C和C语言,还支持Fortran、Ada、Java等多种编程语言的编译。在GCC工具链中,gcc和g是两个核心的编译器工具。gcc是专门用于编译C语言程…...

CSS3新增长度单位

CSS3新增长度单位 rem:根元素字体的倍数,只与根元素字体大小有关;vw:占视口宽度的百分比;vh:占视口高度的百分比;vmax:占视口中宽和高最大的百分比;vmin:占视…...

【Spring】创建Spring项目前的配置工作

🥊作者:一只爱打拳的程序猿,Java领域新星创作者,CSDN、阿里云社区优质创作者。 🤼文章收录于:Spring 目录 1.下载Spring Initializr 2.配置Spring国内源 3.添加Spring框架的支持(pom.xml) 4.刷新Maven仓…...

docker 安装部署 nginx

命令 docker run \ -p 15008:80 \ --name nginx1.21.6 \ -v /iepms/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \ -v /iepms/nginx/conf/conf.d:/etc/nginx/conf.d \ -v /iepms/nginx/log:/var/log/nginx \ -v /iepms/nginx/html:/usr/share/nginx/html \ -d 192.168.1.103…...

黑马数据库学习笔记

课程地址 (基础篇)MySQL的启动 mysql 默认使用 3306 端口 在 centos下,启动 mysql 数据库:service mysqld start; 查看状态/启动/停止/重启:systemctl status/start/stop/restart mysqld; 登录到mysql数据库&…...

MYSQL-SQL-03-DQL(Data Query Language,数据查询语言)(单表查询)

DQL(数据查询语言) DQL英文全称是Data Query Language(数据查询语言),数据查询语言,用来查询数据库中表的记录。 查询关键字: SELECT 在一个正常的业务系统中,查询操作的频次是要远高于增删改的,当我们去访…...

【数据结构和算法】三、动态规划原理讲解与实战演练

目录 1、什么是动态规划? 2、动态规划实战演练 2.1 力扣题之爬楼梯问题 (1)解题思路1: (2)解题思路2: (3)动态规划(DP):解题思路 (4&#x…...

交叉编译 perl-5.40.0(riscv64)

交叉编译 perl-5.40.0(riscv64) https://arsv.github.io/perl-cross/usage.html https://github.com/arsv/perl-cross 借助 perl-cross 进行交叉编译 https://www.perl.org/get.html#unix_like 这里获取 perl-5.40.0 的源码 https://github.com/arsv/pe…...

Leetcode 搜索旋转排序数组

这段代码是用于解决LeetCode第33题“搜索旋转排序数组”的Java解法。以下是对该算法思想的中文解释: 算法思想 二分查找的基本思路: 由于数组是部分有序的(被旋转过),我们可以利用二分查找的思想,逐步缩小…...

Spring Task—定时任务

Spring Task 是 Spring 提供的一种轻量级定时任务调度功能,内置在 Spring 框架中。与 Quartz 等重量级调度框架相比,Spring Task 使用简便,无需额外依赖,适合在简单的调度任务场景中使用。通过注解配置方式,开发者可以…...

Spring Boot 应用开发概述

目录 Spring Boot 应用开发概述 Spring Boot 的核心特性 Spring Boot 的开发模式 Spring Boot 在企业应用开发中的优势 结论 Spring Boot 应用开发概述 Spring Boot 是由 Pivotal 团队开发的一个框架,基于 Spring 框架,旨在简化和加速基于 Spring …...

Chrome谷歌浏览器加载ActiveX控件之allWebDesktop控件介绍

背景 allWebDesktop控件是一款方便用户在线打开各类文档的OA办公控件。它设计比较轻巧,充分利用计算机程序资源打开文档,并将程序窗口嵌入到allWebDesktop控件区域内,从而实现浏览器内打开各类文档效果。 allWebPlugin中间件是一款为用户提供…...

GitHub Star 数量前 5 的开源应用程序生成器

欢迎来的 GitHub Star 数量排名系列文章的第 7 篇——最受欢迎的应用程序生成器。 之前我们已经详细探讨过:在 GitHub 上最受欢迎的——无代码工具、低代码项目、内部工具、CRUD项目、自部署项目和 Airtable 开源替代品。累计超过 50 个优质项目!&#…...

DBC文件当中新建CANFD等类型的报文

同学最近有添加CANFD报文的需求,需要用到CANFD类型报文的DBC文件,这下就难住我了,我之前用的DBC文件只有“CAN Standard”“CAN Extended”两种类型,压根没见过FD的。 后来他找到了项目之前的DBC,打开来看&#xff0c…...

基于SpringBoot的房地产销售管理系统【附源码】

基于SpringBoot的房地产销售管理系统(源码L文说明文档) 目录 4 系统设计 4.1用户登录功能的详细实现 4.2管理员权限的功能实现 4.2.1客户信息管理功能的详细实现 4.2.2房产管理功能的详细实现 4.2.3预约看房功能的详细实现 4.2.4论…...

圆点虚线 Android

参考 https://blog.csdn.net/l_o_s/article/details/73550876 <com.xxx.wwww.weight.PointDividerViewandroid:layout_width"match_parent"android:layout_height"wrap_content"app:PDbackgroundColor"color/white"app:dotColor"color/…...

贵州鑫宏远农业-始终致力于推动现代农业的科技创新与发展

贵州鑫宏远农业科技有限公司&#xff0c;是一家在高科技农业领域深耕细作、锐意进取的企业。自成立以来&#xff0c;我们始终致力于推动现代农业的科技创新与发展&#xff0c;业务全面覆盖农业科学研发、组织培养生产、专业育苗培植、半成品及成品精细化养护、市场销售以及全方…...

程序员做销售,从代码到客户的逆袭之路

大家好&#xff0c;我是小悟。 在这个互联网风起云涌、技术迭代日新月异的时代&#xff0c;“跨界”已然成为一种新潮流。就好似那从天而降的大侠&#xff0c;一不小心就可能横跨了数个充满奇遇与挑战的领域。 想象一下&#xff0c;一个平日里只跟代码打交道的程序员&#xf…...

Flink CDC系列之:理解学习Kubernetes模式

Flink CDC系列之&#xff1a;理解学习Kubernetes模式 准备会话模式启动会话集群设置 Flink CDC提交 Flink CDC Job Kubernetes 是一种流行的容器编排系统&#xff0c;用于自动化计算机应用程序的部署、扩展和管理。Flink 的原生 Kubernetes 集成允许您直接在正在运行的 Kuberne…...

沈阳网站制作定制厂家/东莞外贸推广公司

http://blog.csdn.net/pipisorry/article/details/36633451 博客内容&#xff1a; &#xff08;个性化&#xff09;推荐系统构建三大方法&#xff1a;基于内容的推荐content-based&#xff0c;协同过滤collaborative filtering&#xff0c;隐语义模型(LFM, latent factor model…...

品牌全案策划案例/上海谷歌seo

1、类加载机制 虚拟机把描述类的数据从Class文件加载到内存&#xff0c;并对数据进行校验、转换解析和初始化&#xff0c;最终形成可以被虚拟机直接使用的Java类型&#xff0c;这就是虚拟机的类加载机制。 2、类加载的时机 类从被加载到虚拟机内存中开始&#xff0c;到卸载出…...

搜索引擎友好的网站有哪些特点/企业网站优化服务

您可以尝试p big 0pe&#xff0c;您要的功能是“加载虚拟软盘和CD映像&#xff0c;然后F5F6加载软盘驱动器&#xff0c;...这是我的计算机驱动程序&#xff0c;不包括超大声卡和图形卡根本不能使用64位&#xff0c;现在安装了32位WIN7&#xff0c;并建议使用驱动程序.我有安装包…...

医疗网站跳出率平均是多少/关键词排名优化技巧

高级可持续威胁(APT)的名字听上去的确很了不起&#xff0c;似乎有关它的一切一定很高端&#xff0c;很复杂。但最近的一份分析报告却显示&#xff0c;有些APT攻击其技术含量还不比不上普通的恶意软件。 “这有点违反普通人的直觉&#xff0c;大部分人都被好莱坞电影错误的引导了…...

温州网站制作案例/成都关键词快速排名

EJ Technologies JProfiler(Java剖析工具)r是一个功能强大的工具&#xff0c;您可以使用EJ Technologies JProfiler以动态的方式分析基于Java的应用程序&#xff0c;并使您能够分析它们&#xff0c;从而优化性能。基本简介JProfiler是一个全功能的Java剖析工具(profiler)&#…...

做独立网站需要注意什么好/网站推广方式组合

String str; str&#xff1d;str.substring(int beginIndex);截取掉str从首字母起长度为beginIndex的字符串&#xff0c;将剩余字符串赋值给str&#xff1b; str&#xff1d;str.substring(int beginIndex&#xff0c;int endIndex);截取str中从beginIndex开始至endIndex结束时…...