目录
1. 前言
Session
和 Cookie
的作用有点类似,都是为了存储用户相关的状态信息,是一种会话跟踪技术
Cookie
是存储在本地浏览器,而Session
存储在服务器- 存储在服务器的数据会更加的安全,不容易被窃取,并且
Session
比Cookie
使用方便,Session
可以存储对象,Cookie
只能存储字符串,并且Tomcat 8.x
之后的版本中Cookie
可以存储的字符类型有限制
2. Session
的获取
2.1. request.getSesssion()
- 调用该方法,如果是第一次请求的时候,服务器会创建一个
Session
对象返回 - 如果当前会话已经有了
Session
对象那么getSesssion()
方法直接返回当前的Session
对象
2.2. request.getSession(boolean)
- 当参数为
true
时,与requeset.getSession()
相同 - 参数为
false
,那么如果当前会话中存在Session
对象则返回,不存在返回null
,而不是创建
3. Session
的实现原理
Session
的实现是依赖 Cookie
的
- 用户第一次请求服务器的时候,浏览器将用户信息发送给服务器,服务器根据用户提交的信息,创建对应的
Session
- 请求返回时,将此
Session
的唯一标识信息SessionId
返回给浏览器,浏览器接收到Sessio