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);    

      

猜你喜欢

转载自blog.csdn.net/fashion_man/article/details/82557188