javaEE进阶

Cookie 是可以伪造的,比如说学生证是可以伪造的

Session 是不可以伪造的,这是学校系统记录在册的

如何获取 Cookie

我们先用 Servlet 原生的获取 cookie 的方式

我们在浏览器进行访问

但是实际上目前是没有 cookie 的,我们按 F12 进行添加

然后再重新访问,就能在 idea 看到 cookie 了

接下来我们用 String 的方式获取 cookie

这样就能获取到 cookie 了

也可以一次性拿两个,自己设置,想拿几个拿几个

我们发现 Servlet 的方式可以拿到所有 cookie ,但是 Spring 的方式只能一个一个地拿 cookie

实际中具体情况具体选择哪种方式

获取 Session

Session 的结构内容如下

这是原始的获取 Session 的方式

刚开始的时候 Session 为空

所以接下来我们先存放一个 Session

运行并且访问之后发现 cookie 中多了一行数据

用 fiddler 抓包就能发现这行数据是怎么来的,服务器告诉客户端要帮我们设置一个cookie,设置的cookie 内容如下,然后客户端接收到之后就会在 cookie 中加入这行内容,这就是 cookie 和 Session的关系,sessionId 可以看做他们俩之间的桥梁

此时就可以 getSession 了

Cookie 和 Session 之间主要是通过 SessionId 关联起来的.SessionId 是 Cookie 和 Session 之间的桥梁

通过 Spring 来获取 Session

此时运行程序之后 Session 就会被清空,所以我们在此之前还需要先进行 setSession,再进行getSession2

下面是另一种方式获得 Session

获取 header

我们先用传统方式获取 user-agent,获取使用的是哪个浏览器

这样我们就拿到了浏览器的信息

下面是使用注解的方式获取 header

相关推荐
PiaoKe___5 小时前
云手机原理与 Python 自动化实战:ADB 批量控制、任务调度与落地建议
服务器·arm开发·python·自动化
Madison-No712 小时前
搭建项目测试环境
linux·运维·服务器·python
+VX:Fegn089512 小时前
计算机毕业设计|基于springboot + vue蛋糕店管理系统(源码+数据库+文档)
前端·数据库·vue.js·spring boot·课程设计
吴声子夜歌13 小时前
Shell编程实例——编写安全的shell脚本(二)
linux·运维·shell
悠悠1213814 小时前
微服务通信别只看性能:REST 与 gRPC 的 6 个选型判断和一次 502 故障复盘
运维·服务器
Nicander14 小时前
我给 Excalidraw 做了一个本地工作区:DrawSpace
前端·开源
云老大-阿里云国际站代理商15 小时前
华为云国际站服务代理商:NAT网关怎么配?多台ECS共用公网IP要注意什么
服务器·华为云·云计算
zx_7414848115 小时前
【Linux入门】Shell 函数、正则表达式与文本处理:cut 与 awk
linux·运维·正则表达式
linux_cfan15 小时前
17 · 引擎适配器全景:HLS/DASH/Vimeo/Mux/Cast
前端·javascript·音视频
Zenova EdgeOS16 小时前
Linux dmesg 工业边缘实战:内核日志过滤、持久化与故障定位
linux·运维·边缘计算·工业边缘·dmesg·内核日志