会话技术之Session

Session

Session是服务器端技术,利用这个技术,服务器在运行时可以为每一个用户的浏览器创建一个其独享的session对象,由于session为用户浏览器独享,所以用户在访问服务器的web资源时,可以把各自的数据放在各自的session中,当用户再去访问服务器中的其它web资源时,其它web资源再从用户各自的session中取出数据为用户服务。

Session与Cookie的区别

  • Cookie基于浏览器,不安全,大小有限制
  • Session技术把用户的数据写到用户独占的session中(服务器端)。
  • 关闭浏览器Session消亡,没法持久化
  • Session对象由服务器创建,开发人员可以调用request对象的getSession方法得到session对象。
  • session域对象,范围一次会话范围,存个人相关的数据。

Session的使用

  HttpSession session = request.getSession();
  • 如果第一次get,就会创建session,并放入session池中,以后就都从池中取出
  • 响应的时候,会以Cookie的形式把Session在Session池中的Id返回给浏览器,用户下一次请求的时候回带上这个Cookie,如:
    Cookie:JSESSIONID=BE985E34470E2BF96EBC403AAAE7F95B

相关API

  • setAttribute(String name, Object value)
  • Object getAttribute(String name)
  • String getId() 获取seesion的唯一的ID
  • void invalidate() 销毁的session

Session的应用场景

  • 购物车
  • 单点登录(有时间做一下:保存用户登录信息,遍历所有Session,所有Session可保存在Application)

你可能感兴趣的:(会话技术之Session)