public static final String foodshop_cookie_email = "foodshop.email";
public static final String foodshop_cookie_password = "foodshop.password";public void addCookie(HttpServletResponse response, User user) throws IOException{
String email = URLEncoder.encode(user.getEmail(), "UTF-8");
Cookie e_cookie = new Cookie(foodshop_cookie_email, email);
e_cookie.setMaxAge(60 * 60 * 24 * 14);
response.addCookie(e_cookie);
String password = URLEncoder.encode(user.getPwd(), "UTF-8");
Cookie p_cookie = new Cookie(foodshop_cookie_password, password);
p_cookie.setMaxAge(60 * 60 * 24 * 14);
response.addCookie(p_cookie);
}
上述添加cookie之后,我使用Cookie[] cookies = request.getCookies();来取得所有的cookie
但是,所得到的cookie中,并没有我之前添加的名为【foodshop_cookie_email】,【foodshop_cookie_password】的cookie。
麻烦大神,问什么会取不到呢cookie

解决方案 »

  1.   

    会不会是你的cookie存储的路径不对,setPath?
      

  2.   

    能说的具体点么,第一次接触这个用cookie做自动登录,有点迷糊
      

  3.   

    cookie取出来的是对象,cookies[i].getValue()才是cookie值
      

  4.   

    这个我知道,现在就是在匹配的时候
    for (Cookie cookie : cookies) {
    System.out.println("cookie: " + cookie.getName());
    if (foodshop_cookie_email.equalsIgnoreCase(cookie.getName())) {
    String value = cookie.getValue().toString();
    if (StringUtils.isNotBlank(value)) {
    username = URLDecoder.decode(value, "UTF-8");

    }
    }
    }
    根本进不到标红的代码块
      

  5.   

    看一下System.out.println("cookie: " + cookie.getName());是什么啊?
      

  6.   

    System.out.println("cookie: " + cookie.getName());
    当cookies遍历完结,也没有出现标示为foodshop_cookie_email ,foodshop_cookie_password 的cookie
      

  7.   

    Cookie p_cookie = new Cookie(foodshop_cookie_password, password);
    response.addCookie(p_cookie);
    之后紧跟
    Cookie[] cookies = request.getCookies();
    cookies中没有标示为foodshop_cookie_password的cookie
      

  8.   

    可能是你当前的请求的url和你的cookies的路径不一致,找不到cookies,最好把cookies 的路径设置成根路径,也就是“/”
      

  9.   

    1.没保存进去,2.取值方法不对。其实,你保存后再到浏览器看看有没有这个cookies不就行了吗,如果有,那只能说你取值有问题。
      

  10.   

    添加cookie没错,运行一下,打开浏览器,查看一下,看看添加上没有Cookie
      

  11.   

    你在浏览器上先看看cookie有没有添加进去