Cookie未显示在请求中

时间:2019-02-21 01:12:25

标签: java spring cookies

我正在使用Spring,并且有2个控制器,其中一个是:

@RequestMapping("/meni/{id}")
    public String meni(@PathVariable String id, Model model, HttpServletRequest request, HttpServletResponse response){
 cookie = new Cookie("fake_session",id);
 cookie.setMaxAge(30*60);
 response.addCookie(cookie);
 return "meni";

}

然后在“ meni”静态HTML页面中,我有一个发帖请求,发至:

@PostMapping("/index/{id}")
    public void post(@PathVariable String id,@RequestBody TestDTO testDTO, HttpServletResponse response, HttpServletRequest request){
         Cookie [] cookies = request.getCookies();
 for (int i=0;i<cookies.length;i++){
        Cookie cookie = cookies[i];
        if (cookie.getName().equals("fake_session")){
             System.out.println("Same cookie!");
                }


}

但是,如果永远都不会通过。如果我两次进入get控制器,它将识别cookie,但是如果我进入post控制器,则if不会被传递。其他所有内容都在Post Controller中顺利运行,它可以很好地完成所有其他任务。

我通过单击在Java脚本中调用ajax函数的按钮转到Post控制器,该脚本向该URL发送POST请求。我想在那里做些饼干吗?我总是先去到GET控制器,再去到post控制器,以便创建cookie。

1 个答案:

答案 0 :(得分:0)

尝试使用Spring MVC的@CookieValue(value = "fake_session", defaultValue = "default")通过post方法访问任何HTTP cookie中的数据集。