java session 生命周期_Java中httpsession生命周期

Java中httpsession生命周期

HttpSession会话范围是某个用户从首次访问服务器开始,到该用户关闭浏览器结束,那么从用户访问到退出浏览器它的生命周期过程如下:

1. 当浏览器A向服务器发送会话请求,并且访问服务器端某个能和浏览器开启会话的servlet程序时,服务器为这次会话创建一个HttpSession对象,并会这次会话分配一个唯一标识号id。并且这个HttpSession对象和这个id唯一对应。

2. HttpSession对象存储在服务器端,通过响应消息把会话标识id传给浏览器A端。

3. 浏览器A只要记住这个会话标识id,并且在后续的访问请求中把这个id传递给服务器,服务器根据这个id就可以判断是哪个浏览器发出的请求,就可以选择它对应的HttpSession对象。

4. 如果在特定时间内,浏览器都没有向服务器发出请求,则认为该浏览器已经关闭,服务器负责销毁这个浏览器对应的HttpSession对象。

5. 当浏览再次向服务器发出请求,服务器重复第一步的操作。

JSP创建session

1. 若当前的JSP是客户端访问的当前WEB应用的第一个资源,且JSP的page指定的session属性值为 false, 则服务器就不会为JSP创建一个 HttpSession对象。

2. 若当前JSP不是客户端访问的当前WEB应用的第一个资源,且其他页面已经创建一个HttpSession 对象,则服务器也不会为当前 JSP 页面创建一个HttpSession对象,而回会把和当前会话关联的那个HttpSession对象返回给当前的JSP页面.

Serlvet创建session

若Serlvet是客户端访问的第一个WEB应用的资源, 则只有调用了request.getSession()或request.getSession(true)才会创建 HttpSession对象。

销毁session

1. 程序调用HttpSession.invalidate()

2. 距离上一次收到客户端发送的session id时间间隔超过了session的最大有效时间

3. 服务器进程被停止

版权声明:本文为JAVASCHOOL原创文章,未经本站允许不得转载。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值