www.8029.com-首页

教育行业A股IPO第一股(股票代码 003032)

全国咨询/投诉热线:400-618-4000

传智教育|传智播客

一样的教育,不一样的品质

全国校区

 

什么是Session技术?Session用户信息储存过程?

更新时间:2021年07月22日16时40分 来源:传智教育 浏览次数:

好口碑IT培训

当大家去医院就诊时,医院都会给就诊病人发放就医卡,卡上只有卡号,而没有其它信息。但病人每次去该医院就诊时,只要出示就医卡,医务人员便可根据卡号查询到病人的就诊信息。Session技术就好比医院发放给病人的就医卡和医院为每个病人保留病例档案的过程。当浏览器访问Web服务器时,Servlet容器就会创建一个Session对象和ID属性,其中,Session对象就相当于病历档案,ID就相当于就医卡号。当客户端后续访问服务器时,只要将标识号传递给服务器,服务器就能判断出该请求是哪个客户端发送的,从而选择与之对应的Session对象为其服务。

需要注意的是,由于客户端需要接收、记录和回送Session对象的ID,因此,通常情况下,Session是借助Cookie技术来传递ID属性的。

为了大家更好的理解Session,接下来,以网站购物为例,通过一张图来描述Session保存用户信息的原理,具体如图1所示。

1626942154201_什么是Session.jpg

图1 Session保存用户信息的过程

在图1中,用户甲和乙都调用buyServlet将商品添加到购物车,调用payServlet进行商品结算。由于甲和乙购买商品的过程类似,在此,以用户甲为例进行详细说明。当用户甲访问购物网站时,服务器为甲创建了一个Session对象(相当于购物车)。当甲将Nokia手机添加到购物车时,Nokia手机的信息便存放到了Session对象中。同时,服务器将Session对象的ID属性以Cookie (Set-Cookie: JsessionID=111)的形式返回给甲的浏览器。当甲完成购物进行结账时,需要向服务器发送结账请求,这时,浏览器自动在请求消息头中将Cookie (Cookie: JsessionID=111)信息回送给服务器,服务器根据ID属性找到为用户甲所创建的Session对象,并将Session对象中所存放的Nokia手机信息取出进行结算。




猜你喜欢:

为什么禁用cookie后session也不能用了?怎么解决?

Localstorage、sessionStorage、cookie三者有什么区别?

Hibernate中如何获取与线程绑定的session源码解析

传智教育java开发高手班

www.8029.com|www.8029.com

XML 地图 | Sitemap 地图