gpt4 book ai didi

java - 在spring mvc中按名称获取cookie值

转载 作者:IT老高 更新时间:2023-10-28 20:54:37 29 4
gpt4 key购买 nike

我正在开发一个 java spring mvc 应用程序。我以这种方式在我的 Controller 的一个方法中设置了一个 cookie:

@RequestMapping(value = {"/news"}, method = RequestMethod.GET)
public ModelAndView news(Locale locale, Model model, HttpServletResponse response, HttpServletRequest request) throws Exception {

...
response.setHeader("Set-Cookie", "test=value; Path=/");
...

modelAndView.setViewName("path/to/my/view");
return modelAndView;
}

这工作正常,我可以在我的浏览器控制台中看到一个名为 test 和值“value”的 cookie。现在我想在其他方法中按名称获取 cookie 值。如何获取 test cookie 的值?

最佳答案

最简单的方法是在带有 @CookieValue 注释的 Controller 中使用它:

@RequestMapping("/hello")
public String hello(@CookieValue("foo") String fooCookie) {
// ...
}

否则,您可以使用 Spring org.springframework.web.util.WebUtils

从 servlet 请求中获取它
WebUtils.getCookie(HttpServletRequest request, String cookieName)

顺便说一句,粘贴到问题中的代码可以稍微改进一下。而不是使用 #setHeader(),这更优雅:

response.addCookie(new Cookie("test", "value"));

关于java - 在spring mvc中按名称获取cookie值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33118342/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com