0

我在我的控制器中设置我的 cookie,返回一个新的模型和视图,cookie 被设置。但是,在任何其他请求上,cookie 都会丢失。

此外,当我将 cookie 重置为其他值时,加载页面时该值不会改变。它在页面刷新后确实会发生变化,并且在任何其他请求时都会再次丢失。

在所有这些多次请求期间,JSESSIONID 保持不变。

在控制器中:

Cookie locationCookie = new Cookie("locCookie", loc);
locationCookie.setMaxAge(60*60*24*365); //one year
response.addCookie(locationCookie);

return FWD_HOME;

在 JSP (FWD_HOME) 中:

<jsp:include page="/WEB-INF/jsp/fragments/header.jsp"></jsp:include>
<jsp:forward page="/HOME"></jsp:forward>

在 JSP(标题)中:

        <%
           Cookie cookie = null;
           Cookie[] cookies = null;
           cookies = request.getCookies();
           String locValue = null;
           if( cookies != null ){
              for (int i = 0; i < cookies.length; i++){
                 cookie = cookies[i];
                 out.print(cookie.getName()+"=");
                 out.print(cookie.getValue()+";");
                 if("locCookie".equals(cookie.getName())){
                     locValue = cookie.getValue();
                 }
              }
          }
           out.print(locValue);
        %>

我在这里做错了什么?

4

1 回答 1

3

我得到了解决方案。连同具有显式域的 localhost 上的 Cookie,将路径设置为“/”使其工作。

于 2013-06-25T18:58:58.020 回答