会话技术之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)
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 从三月份找实习到现在,面了一些公司,挂了不少,但最终还是拿到小米、百度、阿里、京东、新浪、CVTE、乐视家的研发岗...
    时芥蓝阅读 42,473评论 11 349
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,796评论 19 139
  • HTTP cookie(也称为web cookie,网络cookie,浏览器cookie或者简称cookie)是网...
    留七七阅读 18,266评论 2 71
  • 有很多文件不必使用git管理。例如Eclipse或其他IDE生成的项目文件,编译生成的各种目标或临时文件等。 使用...
    Ten_Minutes阅读 6,509评论 0 4
  • 【每日一思】时间的价值。今天想让大家好好畅想和烧脑一下:你现在时薪是多少?(你的工资/你真正工作的时间)你认为自己...
    柚子粒阅读 1,618评论 0 0