Session的生命周期

       Session存储在服务器端,为了防止在服务器的内存中(为了高速存取)Sessinon在用户访问第一次访问服务器时创建,

注:需要注意只有访问JSP、Servlet等程序时才会创建Session,只访问HTML、IMAGE等静态资源并不会创建Session,可调用request.getSession(true)强制生成Session。

  Session什么时候失效?

  1. 服务器会把长时间没有活动的Session从服务器内存中清除,此时Session便失效。Tomcat中Session的默认失效时间为20分钟。

  2. 调用Session的invalidate方法。

       Session相对浏览器来说:

      虽然Session保存在服务器,对客户端是透明的,它的正常运行仍然需要客户端浏览器的支持。Session不能依据HTTP连接来判断是否为同一客户,可以用Cookei来作为标示,因此服务器向客户端浏览器发送一个名为JSESSIONID的Cookie,它的值为该Session的id(也就是HttpSession.getId()的返回值)。Session依据该Cookie来识别是否为同一用户。

Cookie是服务器自动生成的,仅当前浏览器内有效,并且各浏览器窗口间不共享,关闭浏览器就会失效。浏览器窗口内的链接所打开的子窗口会共享父窗口的Cookie

       注:新开的浏览器窗口会生成新的Session

       如果客户端浏览器将Cookie功能被禁用,或者不支持Cookie怎么办?

例如,绝大多数的手机浏览器都不支持Cookie。Java Web提供了另一种解决方案:URL地址重写

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值