java - 设置 Cookie 在 Spring web-mvc 4 中不起作用

标签 java spring spring-mvc cookies

我需要在我的登录 Controller 中设置一个带重定向的 cookie。我使用下面的代码来设置 cookie。

@RequestMapping("/fbresponse")
public String getToken(@RequestParam(required = false, value = "code") String code, HttpServletResponse sResponse) {
    sResponse.addCookie(new Cookie("logged", "123"));
    return "redirect:"+user.getLastPage();
}

在我的索引中,我尝试使用以下代码检索 cookie:

@RequestMapping("/")
public String getIndex(@CookieValue(value="logged", required=false)String test){
    user.setLastPage("/");
    loginCheck();
    System.out.println(test);
    return "index";
}

但它始终返回 null。我尝试返回新的 ModelAndView。它也没有用,因为我需要模型中的一些组件,所以它不符合我的要求。 如何设置和检索 cookie?是否可以通过重定向来做到这一点?

更新 我的登录 Controller 中有类级别的@RequestMapping。

@Controller
@RequestMapping("/login")
public class LoginController {

   @RequestMapping("/fbresponse")
   public String getToken(@RequestParam(required = false, value = "code") String code, HttpServletResponse sResponse) {
       sResponse.addCookie(new Cookie("logged", "123"));
       return "redirect:"+user.getLastPage();
   }
}

当我删除类级别请求映射时,添加 cookie 会起作用。如何使用类级别请求映射正确添加 cookie?

最佳答案

您需要set the path cookie,否则它仅对当前路径有效。

关于java - 设置 Cookie 在 Spring web-mvc 4 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35828087/

相关文章:

java - 多种颜色/笔画手势和在同一个 GestureOverlayView 中持续绘图

java - Spring Data JPA - 编写复杂的查询方法

java - Spring RESTful Webservice - 返回没有模型对象的 JSON

触发了 hibernate 实体拦截器但设置值不保存

java - 如何在 java spring 下拉列表中使用颜色

java - 更改 JFileChooser 的外观

java - 使用 Jackson 从 POJO 创建 JSON,但其结构不符合要求

java - 您必须为 TextView 错误提供资源 ID

java - 编码问题: "São Paulo" becomes "S%C3%A3o%20Paulo" then "São Paulo"

java - Eclipse 找不到 Spring 配置文件