JavaWeb中Cookie会话管理,理解Http无状态处理机制
注:图片如果损坏,点击文章链接:https://www.toutiao.com/i6512995108961387015/
2、《Servlet部署描述符》
3、《通过了解Servlet和Http之间的关系,了解web中http通信使用》
4、《通过了解Servlet和Http之间的关系,了解web中http通信使用(二)》
5、《Servlet生命周期》
6、《Servlet全局信息共享域对象ServletContext》
7、《Java中Web应用生命周期,对应理解Servlet生命周期》
8、《JavaWeb中Session会话管理,理解Http无状态处理机制》
上一部分我们提到了Session会话管理,这次我们再补充一个Cookie会话管理
首先我们看一下Cookie在Web中的定义:
HTTP允许一个Web服务器在客户机器上存储信息
需要注意的几个特点:
Cookie是有Web服务器的响应发出的
Cookie主要包括:名字、值、过期时间、路径和域。域和路径构成了Cookie的作用范围
Cookie存储在客户的机器上,Session存储在服务器端
我们做一个小练习:写两个Servlet,第一个访问响应到一个Cookie,第二次访问另外一个Sevlet,将其显示出来
然后我们部署访问,点击提交
此时进入第一个Servlet,响应一个cookie,我们按F12打开开发工具,就可以看到我们的cookie了
我们再访问我们的第二个Servlet
回车,可以看到服务器中显示了内容
JSESSIONID是我们前面的练习,带出来的数值,可以暂时不用考虑,此时可以看到Cookie实际上是存在客户端的
我们画个图
如果不设置过期时间,则表示这个Cookie的生命周期为浏览器会话期间,只要关闭浏览器窗口,Cookie就消失了。生命期为浏览器会话期的Cookie被称为会话Cookie,会话Cookie一般不存储在硬盘上,而是在内存中。如果设置过了过期时间,浏览器就会把Cookie保存在硬盘上,关闭再打开浏览器这些Cookie仍然有效
怎么理解呢?
我们访问
然后再访问第二个servlet
此时是可以看到我们的cookie的
但是如果我们关闭浏览器,再访问
此时服务器是没有的
就是说我们关闭了浏览器,Cookie就过期了
如果我们设置了过期时间,过期一天
此时访问浏览器
获取cookie之后,关闭浏览器,再访问
可以看到我们的cookie了
我们来查看下存在我们电脑上的cookie
我是用的是360极速浏览器,点击工具的选项
选择所有cookie
可以看到我们的过期时间
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构