java Cookie未显示在请求中
我使用Spring,有两个控制器,其中一个是:
@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页面中,我有一个post请求,该请求转到:
@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!");
}
}
然而,if从未通过。如果我两次转到get控制器,它会识别cookie,但是如果我转到post控制器,它不会通过。其他一切都在post控制器中顺利运行,其他所有任务都做得很好
我通过单击一个按钮转到Post控制器,该按钮调用java脚本中的ajax函数,该函数向该URL发送Post请求。我是不是该拿饼干做点什么?我总是在转到post控制器之前转到GET控制器,以便创建cookie
# 1 楼答案
尝试使用SpringMVC的
@CookieValue(value = "fake_session", defaultValue = "default")
访问post
方法中任何HTTP cookie中的数据集