JavaWeb中Session会话管理,理解Http无状态处理机制
注:图片如果损坏,点击文章链接:https://www.toutiao.com/i6512955067434271246/
2、《Servlet部署描述符》
3、《通过了解Servlet和Http之间的关系,了解web中http通信使用》
4、《通过了解Servlet和Http之间的关系,了解web中http通信使用(二)》
5、《Servlet生命周期》
6、《Servlet全局信息共享域对象ServletContext》
在计算机网络应用中,Session被称为“会话”
Session直接翻译成中文,
具体到Web应用中,Session指的就是从用户浏览某个Web应用,从进入Web应用到浏览器关闭所经过的这段时间,即用户浏览这个Web应用所花费的时间
需要注意的是Session对应的是一个用户,当有新的用户进来是新的Session。
A用户 A 会话(Session)
B用户 B 会话(Session)
A会话和B会话两者同时存在,不冲突
那为什么要有Session呢?
这是因为一个Http的特性:无状态。
总结就是:Web应用使用了一个无状态的协议。
但在我们实际中,用户访问Web应用,第一次输入账户密码,获取到了想到的资源,比如某个图片,下次想要一个文本,又去访问Web应用,这个时候Web应用使用了无状态协议,把它忘了,让它再输入一次账户密码,也就是说用户访问一万次,要输入一万次账户密码,用户可能会崩溃。
针对这种情况,Web应用提供了一种“会话机制”,存储特定的用户会话信息,为每个用户保存一个会话对象
那我们在Java中如何使用呢?我们先看一种实现
现在一个Servlet中存放Session,在另外一个获取,然后输出
获取
页面访问地址
此时服务器是没有内容输出
我们打开浏览器访问一次
然后我们点击提交,查看服务器内容
然后我们再访问第二个Servlet
然后我们再看服务器
已经获取到了,我们再启动一个谷歌浏览器访问第二个Servlet
我们回车访问,再看服务器,是获取不到Session的值的
所以Session是和用户关联的(一个浏览器就是一个用户)
【推荐】国内首个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语句:使用策略模式优化代码结构