我正在使用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。
答案 0 :(得分:0)
尝试使用Spring MVC的@CookieValue(value = "fake_session", defaultValue = "default")
通过post
方法访问任何HTTP cookie中的数据集。