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

前端之家收集整理的这篇文章主要介绍了java – 在spring mvc中按名称获取cookie值前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在开发一个 java spring mvc应用程序.我以这种方式在我的控制器的一个方法中设置了一个cookie:
  1. @RequestMapping(value = {"/news"},method = RequestMethod.GET)
  2. public ModelAndView news(Locale locale,Model model,HttpServletResponse response,HttpServletRequest request) throws Exception {
  3.  
  4. ...
  5. response.setHeader("Set-Cookie","test=value; Path=/");
  6. ...
  7.  
  8. modelAndView.setViewName("path/to/my/view");
  9. return modelAndView;
  10. }

这是正常的,我可以在浏览器控制台中看到一个具有名称测试和值“value”的cookie.现在我想通过其他方法的名字获取cookie值.如何获得测试cookie的价值?

解决方法

最简单的方法是在带有@CookieValue注释的控制器中使用它:
  1. @RequestMapping("/hello")
  2. public String hello(@CookieValue("foo") String fooCookie) {
  3. // ...
  4. }

否则,可以使用Spring org.springframework.web.util.WebUtils从servlet请求中获取

  1. WebUtils.getCookie(HttpServletRequest request,String cookieName)

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

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

猜你在找的Java相关文章