2
我需要在登录控制器中设置一个带重定向的cookie。我使用下面的代码来设置cookie。设置Cookie在春季web-mvc中不工作4
@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?有没有可能用重定向做到这一点?
UPDATE 我在我的登录控制器中有class级别的@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与类级别请求映射?
您可能需要设置Cookie的路径:http://docs.oracle.com/javaee/6/api/javax/servlet/http/Cookie.html#setPath%28java.lang.String%29 –
它纠正了这个问题。你可以请添加这个答案,以便我可以接受它。 – paarandika