Session会话追踪的实现机制

一.概述:

HTTP协议是一个无状态协议,即Web应用程序无法区分收到的两个HTTP请求是否是同一个浏览

器发出的。例如:当一个用户登录成功后,如果他继续请求访问其他页面、当一个用户在操作自己

的购物车时,请求添加购物车然后结账。如果Web程序如何不能区分请求是否为同一用户的,就会

导致混乱,因此在Web应用程序中,我们经常要跟踪用户身份。

为了跟踪用户状态,服务器可以向浏览器分配一个唯一ID——Session ID,并以Cookie的形式发送

到浏览器,浏览器在后续访问时总是附带此Cookie,这样,服务器就可以通过Cookie中的

SessionID识别用户身份。


session:

Session是指使用HttpSession对象实现会话跟踪的技术,是一种在服务器端保持会话跟踪的解决方案。HttpSession对象是javax.servlet.http.HttpSession接口的实例,也称为会话对象。JavaEE的Servlet机制内建了对Session的支持。当我们需要获取Session时,可以通过request请求对象的getSession()方法。

常见操作有:

1.void setAttribute(String name, Object value):将指定Key-Value键值对,存入当前Session会话中。

2.Object getAttribute(String name):按照指定的Key从当前Session会话中获取Value,返回值为Object类型的对象,如果不存在,则返回n

3.void removeAttribute(String name):按照指定的Key从当前Session会话中删除Key-Value键值对。

4.String getId():获取当前Session会话的SESSION ID。

5.long getCreationTime():获取当前Session会话的创建时间。

6.long getLastAccessedTime():获取当前Session会话最后一次请求的访问时间。

cookie:

Cookie英⽂意思是甜点的意思,我们可以在Web应⽤程序中可以使⽤cookie在客户端保持HTTP状态信息。cookie相当于是web服务器送给客户端浏览器的甜点。⾄于什么时候送,送什么样的甜点,有效期是多常时间,完全由服务器来决定。

Cookie在HTTP中通常是用来辨别用户身份,进行会话跟踪而储存在用户本地终端上的数据,一般会加密处理,由用户客户端计算机暂时或永久保存的信息。其结构就是一个键和一个值构成的。随着服务器端的响应发送给客户端浏览器。然后客户端浏览器会把Cookie保存起来,当下一次再访问服务器时把Cookie再发送给服务器。

创建新的Cookie:

百度中的cookie如下:



 

小结:

  • Servlet容器提供了Session机制以跟踪用户;
  • 默认的Session机制是以Cookie形式实现的,Cookie名称为JSESSIONID
  • 通过读写Cookie可以在客户端存储数据


 

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值