【Java Web 系列】Session的原理分析和使用细节

一、Session原理分析

Session是基于Cookie实现的

  1. 当客户端第一次请求会话对象时,服务器会创建一个 Session 对象,并为该 Session 对象分配一个唯一的 SessionID (用来标识这个 Session 对象);
  2. 服务器将 SessionID 以 Cookie(Cookie 名称为:“ JSESSIONID ”,值为 SessionID 的值,如 Set-Cookie:JESSIONID=10 )的形式发送给客户端浏览器;
  3. 客户端浏览器再次发送 HTTP 请求时,会将携带 SessionID 的 Cookie (如 cookie: JESSIONID=10 )随请求一起发送给服务器;
  4. 服务器从请求中读取 SessionID,然后根据 SessionID 找到对应的 Session 对象。
  • 在 同一次会话中 ,多次请求获取的是 同一个Session对象

注意:

  • 流程中的 Cookie 是容器自动生成的,它的 maxAge 属性取值为 -1,表示仅当前浏览器有效。
  • 浏览器关闭时,对应的 Session 并没有失效,但
阅读终点,创作起航,您可以撰写心得或摘录文章要点写篇博文。去创作
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Java中,记录和管理用户会话的状态是通过Web Session来实现的。每当用户访问一个网站时,服务器会为该用户创建一个新的Web Session,并将该Session的唯一标识符存储在用户的浏览器中。这个唯一标识符通常是一个会话ID(Session ID),它可以用来识别用户的会话。 在一个Web应用程序中,可能会有多个用户同时使用,每个用户都有自己的Web Session。这意味着每个用户的会话数据是独立存储的,一个用户访问自己的会话数据不会影响其他用户的会话数据。这样可以确保用户之间的数据隔离和安全性。 当用户在应用程序中进行操作时,比如登录、提交表单等,服务器会根据用户的会话ID找到相应的Web Session,并从会话中获取或保存数据。这个过程是非常快速和高效的,因为服务器可以根据会话ID直接定位到用户的会话数据,而不需要遍历整个应用程序的所有会话。 由于每个用户的会话数据是独立存储的,所以不同用户之间的会话数据是不相通的。即使两个用户同时访问相同的页面或执行相同的操作,它们的会话数据也是分开的,互不干扰。 总之,Java中的Web Session是用来记录和管理用户会话状态的,并且不同用户的会话数据是独立存储的。这一机制确保了用户之间数据的隔离和安全性,并且可以高效地访问和操作用户的会话数据。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

JavaMonsterr

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值