码迷,mamicode.com
首页 > 其他好文 > 详细

session学习

时间:2020-03-03 00:44:44      阅读:74      评论:0      收藏:0      [点我收藏+]

标签:用户   列表   数据   32位   tps   Nid   意思   服务器   nbsp   

session的意思就是会话,这里和cookie一样也是一种会话跟踪技术,与cookie存放在本地不同session是存放在服务器当中的。

1)seesion可以跨请求,HttpSession当中具有三个方法,对session当中的数据进行操作。

增加:session.setAttribute

读取:session.getAttribute

删除:session.removeAttribute 

对于request.getSession();方法,如果没有session则会自动创建session,可以通过设置request.getSession(false);来只读不建。

2)一个会话对应一个session,工作原理:

①写入session列表

服务器对session是以map的形式管理的,这个map被称为session列表。该map的key是一个32位长度的随机串,被称为JSessionID,value则是session对象的引用(存在于堆当中)。

当用户第一次提交请求时,服务器执行到request.getSession()方法后会自动生成一个Map.Entry对象,key为根据算法形成的JSessionID,value则是新创建的session对象。

②服务器生产并发送cookie

将seesion信息写入session列表后,系统还会将"JSessionID"作为name,JSessionID的值作为value,以cookie的形式存放到响应头中,发送到客户端。

③客户端接收并发送cookie

客户端接收到这个cookie之后将其存放到缓存当中,当用户提交第二次请求时,会将缓存当中的这个cookie随着请求头,一起发送到服务器。

④从session列表中查询

服务端从请求中读取到客户端发送来的cookie,并根据JSessionID的值从session列表中查询相应key对应的session对象,再去session域属性进行读写操作。

3)session的失效

可以设置session的失效时间,应用于在某个网页长时间没有操作会弹出重新登录等。

session的失效标志着会话的结束。对于用户来说关闭浏览器标志着会话的结束,但是session的失效才标志着会话的结束。

 

session学习

标签:用户   列表   数据   32位   tps   Nid   意思   服务器   nbsp   

原文地址:https://www.cnblogs.com/yamiya/p/12399084.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!