1、理解session

  • session:会话
  • 一次会话:用户打开浏览器,在进行一些列操作之后,最终将浏览器关闭,这个过程叫做一次会话。会话在服务器端有一个java对象,这个对象叫做session
  • 一次请求:用户在浏览器上点击一下,然后在页面停了下来,可以粗略认为是一次请求,请求对应的服务器端的对象叫做request
  • 一次会话对应N次请求(一次会话包含多个请求)
  • 为什么要session对象来保存会话状态?
    • 因为Http协议是一种无状态协议
      • 无状态:请求的时候,B和S是连接的,但是请求结束之后,连接就断开了(为了减轻服务器的压力)
    • 只要B和S断开了,关闭浏览器这个动作,服务器是不知道的(关闭浏览器和退出账号是不一样的,一个安全,一个不安全)
  • [x] session是以cookie形式保存在浏览器中

    2、语法规范

  • [x] 在java的Servlet规范中,session对应的类名是:HttpSession(jakarta.servlet.http.HttpSession)

  • 获取session对象
    • HttpSession session = request_._getSession();
  • 向会话域中绑定数据
    • session.setAttribute();
  • 从会话域取出数据
    • Object obj = session.getAttribute();