**cookie**

Cookie对象

  • 浏览器的一种技术
  • 通过服务器的程序能将一些只须保存在客户端,或者 在客户端进行处理的数据,放在本地的计算机上,不需要通过网络传输;
  • cookie的大小在4kb左右,每个浏览器在同一域名下能存放cookie数量是有限的,谷歌浏览器大概是50个。
  • Cookie不跨浏览器,换电脑也无效。
  • Cookie 的格式:键值对用“=”链接,多个键值对间通过“;”隔开

优缺点:

  •  提高网页的效率,减轻服务器的负载。
    
  •  安全性较差。
    

1、创建Cookie

  •  Cookie cookie = new Cookie("cookie的名称","cookie的值");
    
  •  注:键和值都是字符串,不支持中文
    

2、发送cookie

  •  response.addCookie(cookie对象);
    

3、获取cookie

  •  request.getCookies();  返回的是所有的cookie的数组 
    

4、Cookie的到期时间设置

  •  注:Cookie是浏览器技术,关闭服务器不会影响cookie的变化
    
  •  到期时间,到期时间用来指定该 cookie 何时失效。
    
  •  默认为当前浏览器关闭即失效。
    
  •  手动设定 cookie 的有效时间(通过到期时间计算)
    
  •  通过 setMaxAge(int time);方法设定 cookie 的最大有效时间,以秒为单位。"int time" 大于 0 的整数,表示存储的秒数;  "int time"若为负数,则表示不存储该 cookie;若为 0, "int time" 则删 除该 cookie。
     	负整数: cookie 的 maxAge 属性的默认值就是-1,表示只在浏览器内存中存活,一旦关闭浏览器窗口,那么 cookie 就会消失。
     	正整数: 表示 cookie 对象可存活指定的秒数。当生命大于 0 时,浏览器会把 Cookie 保存到硬盘上,就算关闭浏览器,就算重启客户端电脑,cookie 也会存活相应的时间。
     	零: cookie 生命等于 0 是一个特殊的值,它表示 cookie 被作废!也就是说,如果原来浏览器已经保存了这个 Cookie,那么可以通过 Cookie 的setMaxAge(0)来删除这个 Cookie。 无论是在浏览器内存中,还是在客户端硬盘上都会删除这个 Cookie。
    

5、 Cookie 的路径

  •   正常情况下,cookie只有当前的服务器下才能访问,如果需要在别的服务器进行访问则需要设置他的路径为:  cookie. setpath (" / "); 	
    
  •   当访问的路径包含了 cookie 的路径时,则该请求将带上该 cookie;如果访问路径不包含 cookie 路径,则该请求不会携带该 cookie
    

6、Cookie 中中文问题

  •   Cookie 中不能出现中文,如果有中文则通过 URLEncoder.encode()来进行编码,
    
    name=URLEncoder.encode(name,"UTF-8");
    value=URLEncoder.encode(value,"UTF-8");
    
  •   获取时通过 URLDecoder.decode()来进行解码。
    
    if(cookie != null){
    	for(cookie coo : cookies ){
    		String name =URLDecoder.decode(coo.getName(), "UTF-8")
    	}
    }
    

7、Cookie的覆盖

  •   如果出现相同的cookie名称,则会覆盖原来的cookie(在相同的domain和path下)
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值