JavaWeb:Cookie的细节

Cookie的操作:

1:创建Cookie对象:

Cookie cookie = new Cookie(String name, String value);

              参数:  name:该当前Cookie取一个唯一的名字

                           value:存储在Cookie的共享数据,只能是String类型。  

Cookie cookie = new Cookie("currentName", "Jack");

2:把Cookie放入响应中,响应给浏览器,把共享的数据存储在浏览器中。

response.addCookie(cookie);

3:获取Cookie以及获取Cookie中的数据。

      因为Cookie存在请求头中,所以应该通过request去获取。

Cookie[] cs = req.getCookies();

       获取当前Cookie的名字:

String name = cookie对象.getName();

       获取当前Cookie的值:

String value = cookie对象.getValue();

4. Cookie的中文问题:

       在Cookie中属性名和属性值都不能使用中文。

String msg = "西门吹雪";

 

// 编码
String ret = URLEncoder.encoding(msg, "UTF-8");

       

 // 解码
String str = URLDecoder.decode(ret, "UTF-8");

5. 修改Cookie中指定属性名的属性值:

     需求:修改Cookie cookie = new Cookie("currentName", "Jack");

     方式1:创建一个同名的新的Cookie。

Cookie c = new Cookie("currentName", "Lucy");

     方式2:获取该Cookie对象,通过setValue方法,重新设置新的value值。                 

Cookie对象.setValue("新的值");

      注意:重新设置属性值后需要重新把Cookie放入响应中:

resp.addCookie(c);

6:Cookie的分类(会话Cookie和持久化Cookie):

       会话Cookie:关闭浏览器之后,Cookie就销毁了。

       持久化Cookie:Cookie可以保存指定的时间段(3天,一周,一个月)。

       设置Cookie的最大存活时间:Cookie对象.setMaxAge(int seconds);

               seconds == 0 :删除Cookie。

               seconds < 0   :会话Cookie。

               seconds > 0   :存储指定的秒数。

7:删除Cookie:Cookie对象.setMaxAge(0);    

      

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值