会话跟踪技术session和cookie
随笔链接:
Cookie
- 1.什么是Cookie
- 2.Cookie的创建和服务器的获取
Session
-
1.什么是Session
-
2.Session的创建和获取
-
3.Session域数据的处理
-
4.Session的生命周期
-
5.关于Session的两个问题
会话跟踪技术Session和Cookie:
Cookie
1.什么是Cookie
2.Cookie的创建和服务器的获取
Cookie的创建过程:
- 创建Cookie
Cookie cookie = new Cookie("key",value);
- 给客户端响应Cookie对象,通知客户端保存Cookie
response.addCookie(cookie);
服务器获取Cookie:
//服务器获取Cookie Cookie[] cookies = request.getCookies();
Session
1.什么是Session
- Session:Session 服务器端会话技术,在一次会话的多次请求间共享数据,将数据保存在服务器端的对象HttpSession中
2.Session的创建和获取
Session的创建和获取的api是一样的
request.getSession()
-
-
之后调用都是获取前面创建好的 Session 会话对象
3.Session域数据的处理
使用HttpSession对象处理数据时常用的三个api
-
根据指定的属性名称获取指定的值,返回结果是Object需要强转
-
绑定数据到此会话上,数据格式键/值对,name属性名 value属性值
-
移除绑定的数据,根据键(属性名)移除
4.Session的生命周期
因为在 Tomcat 服务器的配置文件 web.xml中默认有以下的配置,它就表示配置了当前 Tomcat 服务器下所有的 Session 超时配置默认时长为:30 分钟
<session-config> <session-timeout>30</session-timeout> </session-config>
管理Session的生命周期时常用的三个api:
-
设置 Session 的超时时间(以秒为单位),超过指定的时长,Session 就会被销毁,值为负数时永不超时
-
获取 Session 的超时时间
-
让当前 Session 会话马上超时无效
5.关于Session的两个问题
1.当客户端关闭后,服务器不关闭,两次获取session是否为同一个?
-
-
如果需要相同,则可以创建Cookie,键为JSESSIONID,设置最大存活时间,让cookie持久化保存
2.客户端不关闭,服务器关闭后,两次获取的session是同一个?
-
-
session的钝化:
-
在服务器正常关闭之前,将session对象序列化到硬盘上
-
-
session的活化:
-
在服务器启动后,将session文件转化为内存中的session对象
-
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)