java cookie 使用方法_JavaWeb之Cookie使用详解

Cookie翻译过来就是饼干。在JavaWeb里面Cookie其实就是一份小数据。是服务器给客户端并且存储在客户端的一份小数据。

3043ed60392cba22859164f01c6426a1.png

1.Cookie的应用场景

自动登录,浏览记录,购物车

2.为什么要有这个Cookie?

http的请求是无状态的。在客户端第二次来访的时候服务器端根本不知道这个客户端有没有来访过。为了更好的交互(自动登录)以及更好地收集用户习惯(浏览记录)。

3.Cookie的简单使用①添加Cookie给客户端

在响应的时候,添加cookieCookie cookie = new Cookie("aa","bb");response.addCookie(cookie);//给响应添加一个cookie客户端收到的信息里面,响应头多了一个字段 Set-Cookie

46ad75977ec271756616abf7f03d41e9.png

②获取从客户端过来的Cookie

Cookie[] cookies = request.getCookies();

if(cookies !=null){

for(Cookie c : cookies){

String cookieName = c.getName();

String cookieValue = c.getValue();

System.out.println(cookieName+"="+cookieValue);

}

}

③Cookie的常用方法

cookie.setMaxAge(60*60*24*7); //设置cookie的有效期,因为关闭浏览器后cookie就没有了

cookie.setValue(newValue);//赋新的值

cookie.setDomain(".xxx.com");//用于指定域名才带上cookie

cookie.setPath("/CookieDemo");//只有访问该域名下的cookieDemo路径地址才会带上cookie

例子一:显示最近访问的时间

判断账号是否正确如果正确,获取cookie。但是得到的cookie是一个数组,我们要从数组里面找到我们想要的对象。如果找到的对象为空,表明是第一次登陆,这是要添加cookie如果找到的对象不为空,表明不是第一次登陆

543952dcd2512bd59ef77ea4f7041935.png

例子二:显示商品浏览记录

60868a2cf64bc4273ef9698f09d4c0ae.png

02c716485201777bebd76eec8a56a8d1.png

如何清除浏览记录呢?

清除浏览记录其实就是清除cookie。cookie是没有什么清除方法的(delete之类)。只有设置maxAge为0。

Cookie cookie = new Cookie("history","");

cookie.setMaxAge(0); //设置立即删除

cookie.setPath("/CookieDemo02");

response.addCookie(cookie);

Cookie的安全问题

由于Cookie会保存在客户端上,所以有安全隐患问题。 还有一个问题就是Cookie的大小与个数有限制。 为了解决这个问题 我们引入了session。在下一篇文章我将给大家介绍session。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值