图解session事理
前面讲了cookie天生机制:java servlet条记:图解cookie事理(比如上岸时的记住密码)
同时,也用cookie写了一个上岸时记住用户名和密码的小例子:java中用cookie实现上岸时记住密码(附源码)
本日来说说java servlet中一个非常非常主要的工具,那便是session。
一、健身房的储物柜考虑这个场景:
李佳汜到健身房去练胸肌,首先领了钥匙,然后进了换衣间,把衣服,裤子,手机,钱包都放在盒子里面。
毛竞也到健身房,去练翘臀。首先领了钥匙,然后 进了换衣间,把衣服,裤子,手机,《Java 21天从入门到精通》也放在了一个盒子里,但是这个盒子是和李佳汜的是不同的。
健身房,就相称于做事器,盒子,便是会话Session。
切换到我们常见的购物网站的场景
李佳汜上岸天猫之后,在购物车里看到的物品是烛炬和皮鞭
毛竞上岸天猫之后,在购物车里看到的物品是手铐和《Java 21天从入门到精通》
二、什么是sessionSession对应的中文翻译是会话。
会话指的是从用户打开浏览器访问一个网站开始,无论在这个网站中访问了多少页面,点击了多少链接,都属于同一个会话。 直到该用户关闭浏览器为止,都属于同一个会话。
三、创建sessionsession.setAttribute(\"大众name\"大众, \公众teemo\"大众);
session工具保存数据的办法,有点像Map的键值对(key-value)
\"大众name\"大众是键,\公众teemo\"大众 是值
四、获取session
session.getAttribute(\"大众name\"大众);
通过session,根据\"大众name\公众 取出对应的名称
五、session和cookie的关系
回到健身房的储物柜这一段:
李佳汜和毛竞都有自己的盒子,那么他们怎么知道哪个盒子是自己的呢?
通过钥匙就能找到自己的盒子了。
盒子对应做事器上的Session。
钥匙对应浏览器上的Cookie。
六、session事理示意图七、如果没有cookie,session怎么事情如果浏览器把cookie功能关闭,那么做事端就无法获取jsessionid,每一次访问,都会天生一个新的session工具。
为理解决这个问题,可以利用
response.encodeURL(\公众getSession.jsp\"大众))
response.encodeURL方法会把getSession.jsp这个url转换为
getSession.jsp;jsessionid=22424AEA86ADBE89F335EEB649D997A8
通过这个办法,提交jsessionid到做事器。 做事器根据这个jsessionid匹配到对应的session. 与session干系的功能,就可以正常事情了。
八、session的有效期
比如登录一个网站,登录后,在短韶光内,依然可以连续访问而不用重新登录。
但是较永劫光不登录,依然会哀求重新登录,这是由于做事真个session在一段韶光不该用后,就失落效了。
这个韶光,在Tomcat默认配置下,是30分钟。
可以通过 d:/tomcat/conf/web.xml 中的session-config 配置进行调度
感谢你长得这么俊秀还来看我的文章,喜好就点关注哦!