Session会话时间

理解误区:以前刚学习Servlet的时候认为开启一个新的会话的时候就是在一个session下面,服务器会存储SESSION的信息,客户端浏览器会存储cookie的信息,浏览器关闭后session就销毁,其实不是的,session除了手动销毁和配置了默认的时间去销毁外,仍旧还是存储在服务器端,只是新的请求中cookie信息销毁了,服务器会重新创建一个Sessionid存储在cookie中,根据现有的session去找之前的信息已经匹配不上了,登录校验就是根据这个实现的;

  • 当一个Session开始时,Servlet容器会创建一个HttpSession对象,那么在HttpSession对象中,可以存放用户状态的信息
  • Servlet容器为HttpSession对象分配一个唯一标识符即Sessionid,Servlet容器把Sessionid作为一种Cookie保存在客户端的 浏览器
  • 用户每次发出Http请求时,Servlet容器会从HttpServletRequest对象中取出Sessionid,然后根据这个Sessionid找到相应的HttpSession对象,从而获取用户的状态信息

总结

当在同一个浏览器中同时打开多个标签,发送同一个请求或不同的请求,仍是同一个session;(跨应用程序的session共享是不一样的)

跨应用程序的session共享
按照Servlet规范,session的作用范围应该仅仅限于当前应用程序下,不同的应用程序之间是不能够互相访问对方的session的。各个应用服务器从实际效果上都遵守了这一规范,但是实现的细节却可能各有不同,因此解决跨应用程序session共享的方法也各不相同。

当不在同一个窗口中打开相同的浏览器时,发送请求,仍是同一个session;

当使用不同的浏览器时,发送请求,即使发送相同的请求,是不同的session;

当把当前某个浏览器的窗口全关闭,再打开,发起相同的请求时,就是本文所阐述的,是不同的session,但是它和session的生命周期是没有关系的.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值