Session的跟踪机制

 
     cookie英文意思是甜点的意思,我们可以在Web应用程序中可以使用cookie在客户端保持HTTP状态信息。cookie相当于是web服务器送给客户端浏览器的甜点。至于什么时候送,送什么样的甜点,有效期是多常时间,完全由服务器来决定。这就像我们刚入学的时候,班主任就会给你办一张听课证,听课证上面有你的相关的信息,以后每次到学校来都要戴着听课证。听课证就是学校送给你的cookie。在web应用程序中,服务器会发送一些cookie到客户端浏览器,以后每次访问web服务器,都会把cookie放到请求头中发送到服务器。那么浏览器如何来保存服务器送给它的cookie呢?有两种方式:1.每打开一个浏览器窗口,你就会发现在任务管理器中多了一个进程,这说明这个浏览器窗口在内存中有自己的内存地址空间,那么web服务器送过来的cookie就可以存放在内存中,这种存放在内存中的cookie我们称之为临时cookie,当我们把这个浏览器窗口关闭后,操作系统会回收它所占用的内存空间,所以存储在内存中的cookie也被释放了。2.如果服务器设置了cookie的有效时间,这时,浏览器会把这个cookie保存在客户端的本地磁盘上。在windows操作系统中在C:/Documents and Settings/Administrator/Cookies目录中,这里的Administrator是windows是用Administrator用户登录的。如果是用其它用户登录,则Administrator换成这个登录名。
­
    刚才我们把cookie比喻成听课证,那么session就是你的学生档案,这个档案是存放在学校的。session是一种将会话保存在服务器端的技术。用来跟踪用户。session通常借住cookie来传递会话标识号。
­
    Servlet API规范中定义了一个Httpsession接口,该接口中定义了各种管理和操作会话状态的方法。一个Httpsession对象就相当于档案袋,它是保持会话状态信息的存储结构。一个客户端在web服务器对应一个各自的HttpSession对象。由于创建HttpSession对象会消耗服务器内存资源,web服务器并不会在客户端开始访问它时就创建HttpSession对象。只有客户端访问某个特殊的Servlet程序,并且这个Servlet程序决定与客户端开启一个会话时,web应用程序才会创建一个与客户端对应的HttpSession对象,并为这个HttpSession对象分配一个独一无二的会话标识号(SessionID),然后在响应消息中将这个会话标识号传递给客户端。客户端需要记住这个SessionID,并在后续的每次访问请求中把这个SessionID传递给服务器,服务器程序依据回传的SessionID就知道这次请求是那个客户端发送的,从而选择与之对应的HttpSession对象
­
    web应用程序创建了与某个客户端对应的HttpSession对象之后,只要没有超出一个限定的空闲时间段,HttpSession对象就驻留在web服务器内存之中。HttpSession接口中定义了一个setAttribute方法将对象存储到HttpSession对象中,相当于往档案袋中放入档案信息。还定义了一个getAttribute来取得放进去的对象。
­
    session是实现网上商城的购物车的最佳方案    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值