Session之基础知识
思考两个问题:
1. 大家在网上买东西,张三和李四他们购买的商品不一样,他们的购物车中显示的商品也不一样,这是怎么实现的?
2. 不同的用户登录网站后,不管该用户浏览该网站的哪个页面,都可以显示登录人的名字,同样可以随时去查看自己的购物车中的商品,这是怎么实现的?
Session技术
Session是服务器端技术,利用这个技术,服务器在运行时可以为每一个用户的浏览器创建一个其独享的session对象,由于session为用户浏览器独享,所以用户在访问服务器的web资源时,可以把各自的数据放在各自的session中,当用户再去访问服务器中的其它web资源时,其它web资源再从用户各自的session中取出数据为用户服务。
当用户打开浏览器,访问某个网站操作session时,服务器就会在服务器的内存为该浏览器分配一个session对象,该session对象被这个浏览器独占。
这个session对象也可以看做是一个容器,session默认存在时间为30min,你可以修改。
看如下示意图:
Session可以用来做什么
- 网上商城中的购物车
- 保存登录用户的信息
- 将某些数据放入到Session中,供同一用户的各个页面使用
- 防止用户非法登录到某个页面!
如何理解Session
session不是特别好理解,你可以把session看做是一容器类似于HashMap,有两列。每一行就是session的一个属性。
每个属性包含两个部分,一个是该属性的名字(String),另外一个是它的值(Object)
名字String | 值Object |
---|---|
那么,如果同一个用户浏览器,向session设置一个属性的时候,如果名字相同,会出现什么情况?
结论:跟Cookie一样,这个值会更新,会替换为新的值
Session基本使用
- 得到session