我在一个struts中action中设置cookies的值并根据cookies的名字得到cookies的值为什么得不到?代码如下:
WebUtil.addCookie(response, "productViewHistory", 1, 30*24*60*60);//把值1设置到名字为productViewHistory的
cookies中去。
System.out.println(WebUtil.getCookieByName(request, "productViewHistory"));其中里面的方法是得到名字为productViewHistory的cookies的值打印出来是null.不知道,麻烦大家指点

解决方案 »

  1.   

    addCookie
    getCookieByName
    两个方法的代码都贴出来,这样没人看的出来。
      

  2.   

     public static void addCookie(HttpServletResponse response, String name, String value, int maxAge) {        
            Cookie cookie = new Cookie(name, value);
            cookie.setPath("/");
            if (maxAge>0) cookie.setMaxAge(maxAge);
            response.addCookie(cookie);
        }
        
        /**
         * 获取cookie的值
         * @param request
         * @param name cookie的名称
         * @return
         */
        public static String getCookieByName(HttpServletRequest request, String name) {
         Map<String, Cookie> cookieMap = WebUtil.readCookieMap(request);
            if(cookieMap.containsKey(name)){
                Cookie cookie = (Cookie)cookieMap.get(name);
                return cookie.getValue();
            }else{
                return null;
            }
        }
      

  3.   

    又出来个readCookieMap,建议用debug设置断点,一行行运行看看
      

  4.   

    可能你的浏览器禁用了cookies了,只说可能