首页 > Web开发 > 详细

HTTP会话的使用与管理

时间:2018-03-14 20:02:46      阅读:72      评论:0      收藏:0      [点我收藏+]

标签:进行   所有   共享   OS   不同的   序列   方式   servlet容器   info   

HTTP会话的使用与管理

一、会话简介

http是无状态协议,需要在http请求中添加一些额外的用于跟踪客户状态的数据来区分不同的用户。

会话机制是用来跟踪客户状态的普遍解决方案。会话是指在一段时间内单位客户与web应用的一连串相关的交互过程。

在购物网上,一个用户从开始购物到最后结账,整个过程为一个会话。

 

二、javax.servlet.http.HttpSession接口

会话开始,servlet创建一个HttpSession对象,该对象存放客户状态信息。每个HttpSession对象有一个唯一的标志符。SessionID

会话运作流程

技术分享图片

 三、生命周期与会话范围

注意区别一下三个范围:

web应用范围:共享数据作为ServletContext对象的属性而存在

请求范围:共享数据作为ServletRequest对象的属性存在

会话范围:浏览器端与一个web应用进行一次会话的过程,共享数据作为HttpSession对象的属性存在

HttpSession接口常见方法

getId():返回sessionID

invalidate():销毁当前的会话,Servlet容器会释放HttpSession对象占用的资源

setAttribute(String name,Object value):将一对name/value属性保存在httpSession对象中

getAttribute(String name):根据Name参数返回保存在HttpSession对象里面的属性值

getAttributeNames():以数组的方式返回HttpSession里面的所有的属性名

四、会话持久化

把内存中的HttpSession对象保存到文件系统或数据库中。

  好处:

    节约内存空间---把处于不活动状态的HttpSession对象转移到文件系统或数据库中,提高对内存资源的利用率。

    确保服务器在重启或单个web应用重启后,能恢复重启前的会话。

servelt对所有可以序列化的属性进行持久化,确保存放在会话范围内的共享数据不会丢失。----可序列化的属性是指属性所属的类实现了java.io.Seralizable接口。

技术分享图片

 

HTTP会话的使用与管理

标签:进行   所有   共享   OS   不同的   序列   方式   servlet容器   info   

原文:https://www.cnblogs.com/taoHongFei/p/8568189.html

(0)
(0)
   
举报
评论 一句话评论(0
0条  
登录后才能评论!
© 2014 bubuko.com 版权所有 鲁ICP备09046678号-4
打开技术之扣,分享程序人生!
             

鲁公网安备 37021202000002号