java 设置Cookie值

原文地址:http://blog.csdn.net/lansetiankong12/article/details/52622654

/**

* 读取所有cookie

* 注意二、从客户端读取Cookie时,包括maxAge在内的其他属性都是不可读的,也不会被提交。浏览器提交Cookie时只会提交name与value属性。maxAge属性只被浏览器用来判断Cookie是否过期

* @param request

* @param response

*/

     @RequestMapping("/showCookies")  

        publicvoid showCookies(HttpServletRequest request,HttpServletResponse response ){  

            Cookie[] cookies = request.getCookies();//这样便可以获取一个cookie数组  

            if(null==cookies) {  

                System.out.println("没有cookie=========");  

            }else{  

                for(Cookie cookie : cookies){  

                    System.out.println("name:"+cookie.getName()+",value:"+ cookie.getValue());  

                }  

            }  

        }  

/**

* 添加cookie

* @param response

* @param name

* @param value

*/

     @RequestMapping("/addCookie")  

        publicvoid addCookie(HttpServletResponse response,String name,String value){  

            Cookie cookie = newCookie(name.trim(), value.trim());  

            cookie.setMaxAge(30* 60);// 设置为30min  

            cookie.setPath("/");  

            System.out.println("已添加===============");  

            response.addCookie(cookie);  

        }  

/**

* 修改cookie

* @param request

* @param response

* @param name

* @param value

* 注意一、修改、删除Cookie时,新建的Cookie除value、maxAge之外的所有属性,例如name、path、domain等,都要与原Cookie完全一样。否则,浏览器将视为两个不同的Cookie不予覆盖,导致修改、删除失败。

*/

  @RequestMapping("/editCookie")  

        publicvoid editCookie(HttpServletRequest request,HttpServletResponse response,String name,String value){  

            Cookie[] cookies = request.getCookies();  

            if(null==cookies) {  

                System.out.println("没有cookie==============");  

            }else{  

                for(Cookie cookie : cookies){  

                    if(cookie.getName().equals(name)){  

                        System.out.println("原值为:"+cookie.getValue());  

                        cookie.setValue(value);  

                        cookie.setPath("/");  

                        cookie.setMaxAge(30* 60);// 设置为30min  

                        System.out.println("被修改的cookie名字为:"+cookie.getName()+",新值为:"+cookie.getValue());  

                        response.addCookie(cookie);  

                        break;  

                    }  

                }  

            }  

        }  

/**

* 删除cookie

* @param request

* @param response

* @param name

*/

 @RequestMapping("/delCookie")  

        publicvoid delCookie(HttpServletRequest request,HttpServletResponse response,String name){  

            Cookie[] cookies = request.getCookies();  

            if(null==cookies) {  

                System.out.println("没有cookie==============");  

            }else{  

                for(Cookie cookie : cookies){  

                    if(cookie.getName().equals(name)){  

                        cookie.setValue(null);  

                        cookie.setMaxAge(0);// 立即销毁cookie  

                        cookie.setPath("/");  

                        System.out.println("被删除的cookie名字为:"+cookie.getName());  

                        response.addCookie(cookie);  

                        break;  

                    }  

                }  

            }  

        }  

/**

* 根据名字获取cookie

* @param request

* @param name cookie名字

* @return

*/

  public Cookie getCookieByName(HttpServletRequest request,String name){  

        Map<String,Cookie> cookieMap = ReadCookieMap(request);  

        if(cookieMap.containsKey(name)){  

            Cookie cookie = (Cookie)cookieMap.get(name);  

            returncookie;  

        }else{  

            returnnull;  

        }    

    }  

通常开发时先用以下的代码将获取的cookie进行封装

/**

* 将cookie封装到Map里面

* @param request

* @return

*/

 private Map<String,Cookie> ReadCookieMap(HttpServletRequest request){    

        Map<String,Cookie> cookieMap = newHashMap<String,Cookie>();  

        Cookie[] cookies = request.getCookies();  

        if(null!=cookies){  

            for(Cookie cookie : cookies){  

                cookieMap.put(cookie.getName(), cookie);  

            }  

        }  

        returncookieMap;  

    }  
时间: 2024-10-13 12:12:28

java 设置Cookie值的相关文章

PHP Java 设置cookie方法

  Java Cookie cookie = new Cookie(COOKIE_NAME, encrypt_cookieV); cookie.setMaxAge(60 * 60); cookie.setPath("/"); response.addCookie(cookie); PHP setcookie($cookie_name,$cookie_value,time()+3600*1,'',$headers['HOST']) PHP Java 设置cookie方法,布布扣,bubu

java设置cookie的maxage在ie失效

由上图可以看出设置cookie的时候前两个使用Expires设置后一个使用Max-Age设置. 最终结果: ie下前两过期时间是设置的expires值,而最后一个在ie下却是有效期为当前的session. 解决方法:同时设置 Max-Age和Expires google浏览器和火狐是都可以的. 所以在设置cookie的时候应该两个设置. 另:IE下设置expires 会存在服务器端时间和客户端时间差 难免会影响时间.

Java 之 cookie 记住用户登录时间案例

需求: 1. 访问一个Servlet,如果是第一次访问,则提示:您好,欢迎您首次访问. 2. 如果不是第一次访问,则提示:欢迎回来,您上次访问时间为:显示时间字符串 分析: 1. 可以采用Cookie来完成 2. 在服务器中的Servlet判断是否有一个名为lastTime的cookie 2.1 有:不是第一次访问 1. 响应数据:欢迎回来,您上次访问时间为:2019年10月4日11:50:20 2. 写回Cookie:lastTime=2019年10月4日11:50:01 2.2 没有:是第一

04_HttpResponse对象及使用其设置cookie详解

HttpResponse 对象 Django服务器接收到客户端发送过来的请求后,会将提交上来的这些数据封装成一 个 HttpRequest 对象传给视图函数.那么视图函数在处理完相关的逻辑后,也需要返回一个响应 给浏览器.而这个响应,我们必须返回 HttpResponseBase 或者他的子类的对象. 而 HttpResponse 则是 HttpResponseBase 用得最多的子类.那么接下来就来介绍一 下 HttpResponse 及其子类 1. 常用属性 content:返回的内容. s

js、Java后台设置cookie

概述:小开心下,又学到了点东西 JS设置cookie //添加时间函数 function SetCookie(name, value){ var Days = 30; var exp = new Date(); exp.setTime(exp.getTime() + Days * 24 * 60 * 60 * 1000); document.cookie = name + "=" + escape(value) + ";path=/;expires=" + exp.

JavaScript中设置cookie的值

cookie 与 session 是网页开发中常用的信息存储方式.Cookie是在客户端开辟的一块可存储用户信息的地方:Session是在服务器内存中开辟的一块存储用户信息的地方.JavaScript是运行在客户端的脚本,因此一般是不能够设置Session的,因为Session是运行在服务器端的,而cookie是运行在客户端的,所以可以用JS来设置cookie. 在ITOO项目中,系统需要页面之间的传值,现在假设页面A,和页面B,页面B需要页面A的一个参数,才可以进行后面的操作,那么我们就需要将

java 反射: 当Timestamp类型的属性值为null时,设置默认值

import java.beans.PropertyDescriptor; import java.lang.reflect.Field; import java.lang.reflect.Method; import java.sql.Timestamp; class Person { private String name; private int age; private Timestamp birth; public Timestamp getBirth() { return birth

ThinkPHP源码学习 cookie函数 设置 取值 删除

/** * Cookie 设置.获取.删除 * @param string $name cookie名称 * @param mixed $value cookie值 * @param mixed $option cookie参数 * @return mixed */ 系统内置了一个cookie函数用于支持和简化Cookie的相关操作,该函数可以完成Cookie的设置.获取.删除操作. Cookie设置 cookie('author','津沙港湾','3600'); 执行代码段 $expire =

javascript设置和获取cookie值

//设置cookie function setCookie(name,value,expires,path,domain,secure){ var cookieName = encodeURIComponent(name) + '=' + encodeURIComponent(value); if(expires instanceof Date){ cookieName += ';expires=' + expires; } if(path){ cookieName += ';path=' +