会话追踪技术之Cookie

Cookie概念及其创建

Cookie是什么:

Cookie是浏览器发给服务器的.

Cookie是保存在客户端的小文本,保存的位置分两种:

  • Cookie可能保存在客户端浏览器的所占内存中,关闭浏览器后,Cookie就不存在了
  • Cookie也可能保存在客户PC机的硬盘上,设置有效时间,超过有效时间后失效.

Cookie作用:

简化登录:在Cookie保存的有效时间内,不用密码登录.

记录浏览记录:购物网站,每次登录后,会看到曾经浏览过的商品信息.就会推送你以前浏览过的相关商品种类.

浏览器查看Cookie

**火狐浏览器:**进入页面 —> 当前用户----> 查看页面信息 ---->

  • 权限 ----> 设置Cookie
  • 安全 ----> 隐私和历史记录

Cookie数量: 进入浏览器页面 ---- > 选项 —> Cookie和网站数据 —> 管理数据
在这里插入图片描述

  • 进入网页面 —> 查看元素 ----> (网络 —> Cookie 或 存储 —> Cookie)

在这里插入图片描述

(因为浏览器也想知道用户是谁!所以自带一个JSESSIONID)

Coolie应用场景:

Cookie能够把小文本保存到客户端,在服务器与客户端进行传输。然而,Cookie容易造成信息泄露,另外,客户端可以通过设置阻止Cookie,也可能手工清除Cookie,因此,使用Cookie的原则:

  • 不用cookie保存保密性要求高的信息,例如银行卡密码等
  • 不用cookie实现必要功能,防止cookie被删除后出现错误
  • 可以说:cookie用来实现“锦上添花”的功能,也就是说,一旦cookie被禁止或者被删除,应用依然能正常运行

Cookie类的创建、保存、获取

创建Cookie对象

在servlet API中,存在Cookie类,可以使用new关键字创建Cookie对象

  • Cookie对象是保存一对键值对,都是字符串.
Cookie newCookie = new Cookie("name","value");

Cookie类的其他方法

序号类型方法说明
01voidsetMaxAge(int expiry)设置Cookie的有效期,以秒为单位,Cookie保存在硬盘上(正数),否则保存在内存中(负数)
02voidsetValue(String value)在Cookie创建后,对Cookie进行赋值
03StringgetName()获取Cookie的名称
04StringgetValue()获取Cookie的值
05StirnggetMaxAge()获取Cookie的有效时间,以秒为单位

保存和获取Cookie

  • Cookie要保存到客户端,凡是写到客户端的方法,基本都在响应中.HttpServletResponse中提供了方法,把Cookie保存到客户端
response.addCookie(newCookie)
  • 再次访问与保存Cookie相同域名的网站时,HTTP协议将把有效时间内的Cookie都发送到服务器,容器将把Cookie封装到请求中,HttpServletRequest类提供了获取Cookie对象的方法
Cookie[]   cookies =  request.getCookies();

值得注意的是,在过滤器中,request与response是ServletResponse类型,而获取Cookie需要HttpServletRequest类型需要强制类型转换。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值