需求:http是无状态的:服务器无法判断这两次请求是同一个客户端发过来的,还是不同客户端发过来的,所以需要会话技术来解决这个问题
会话跟踪技术
- 客户端第一次发请求给服务器,服务器获取session,获取不到就创建新的session响应给客户端
- 下次客户端给服务器发送请求时,会把session id 带给服务器,那么服务器就能获取到了,那么服务器就会判断这一次请求和上一次请求的是不是同一个客户端,是就用同一个会话(session)
- 常用api:
request.getSession() ->获取当前的会话,没有就创建新的
request.getSession(true) -> 效果和不带参数相同
request.getSession(false) -> 获取当前会话,没有则返回null,不会创建新的
session.getId() ->获取获取session id
…
session 保存作用域
- session保存作用域是和一个具体的session对应的
- session可以保存数据到会话中
- 常用的api:
void session.setAttribute(k,v)
object session.getAttribute(k)
void removeAttribute