1、理解session
- session:会话
- 一次会话:用户打开浏览器,在进行一些列操作之后,最终将浏览器关闭,这个过程叫做一次会话。会话在服务器端有一个java对象,这个对象叫做session
- 一次请求:用户在浏览器上点击一下,然后在页面停了下来,可以粗略认为是一次请求,请求对应的服务器端的对象叫做request
- 一次会话对应N次请求(一次会话包含多个请求)
- 为什么要session对象来保存会话状态?
- 因为Http协议是一种无状态协议
- 无状态:请求的时候,B和S是连接的,但是请求结束之后,连接就断开了(为了减轻服务器的压力)
- 只要B和S断开了,关闭浏览器这个动作,服务器是不知道的(关闭浏览器和退出账号是不一样的,一个安全,一个不安全)
- 因为Http协议是一种无状态协议
-
2、语法规范
[x] 在java的Servlet规范中,session对应的类名是:
HttpSession(jakarta.servlet.http.HttpSession)
- 获取session对象
HttpSession session = request_._getSession();
- 向会话域中绑定数据
session.setAttribute();
- 从会话域取出数据
Object obj = session.getAttribute();