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)
网友评论