关于session

Session:称为“会话控制”。Session 对象存储特定用户会话所需的属性及配置信息。

(1)当用户在应用程序的 Web 页之间跳转时,存储在 Session 对象中的变量将不会丢失,而是在整个用户会话中一直存在下去。

(2)当用户请求来自应用程序的 Web 页时,如果该用户还没有会话,则 Web 服务器将自动创建一个 Session 对象。

(3)当会话过期或被放弃后,服务器将终止该会话。

Session 对象最常见的一个用法就是存储用户的首选项。例如,如果用户指明不喜欢查看图形,就可以将该信息存储在 Session 对象中。

 

Session机制:

  • session机制采用的是在服务器端保存 HTTP 状态信息的方案 。
  • 服务器使用一种类似于散列表的结构(也可能就是使用散列表)来保存信息。
  • 当程序需要为某个客户端的请求创建一个session时,服务器首先检查这个客户端的请求里是否包含了一个session标识(即sessionId),如果已经包含一个sessionId则说明以前已经为此客户创建过session,服务器就按照session id把这个session检索出来使用(如果检索不到,可能会新建一个,这种情况可能出现在服务端已经删除了该用户对应的session对象,但用户人为地在请求的URL后面附加上一个JSESSION的参数)。如果客户请求不包含sessionId,则为此客户创建一个session并且生成一个与此session相关联的sessionId,这个session id将在本次响应中返回给客户端保存。
 

 

 HTTP session的生命周期

1.         HttpSession对象的创建

当客户端浏览器第一次访问服务器时,服务器为每个浏览器创建不同的HttpSession对象。在服务器端使用request.getSession()方法来获得HttpSession对象,并以此来使用HttpSession接口为我们提供的防法

 

2.         HttpSession对象的使用

在创建HttpSession对象后,使用该对象进行数据的存取,以进行数据的传递。在此过程中我们常用的方法如下。

(1) void setAttribute(String name,Object value);进行数据的保存。

(2) Object getAttribute(String name):进行数据的读取。

 

3.         HttpSession对象的结束

在以下3种情况下,可以结束session。

(1) 关闭浏览器,结束session

(2) 调用HttpSession的invalidate()方法,删除HttpSession对象和数据

(3) 两次访问时间间隔大于session定义的非活动时间间隔。

在session结束时,服务器会清空当前浏览器相关的数据信息。

参考:https://blog.csdn.net/yuchao2015/article/details/55806504

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值