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

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

我正在开发一个 java spring mvc应用程序.我以这种方式在我的控制器的一个方法中设置了一个cookie: @RequestMapping(value = {/news}, method = RequestMethod.GET)public ModelAndView news(Locale locale, Model model, HttpServletResponse respo

我正在开发一个
java spring mvc应用程序.我以这种方式在我的控制器的一个方法中设置了一个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;
}

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

解决方法

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

@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"));

本文来自网络,不代表青岛站长网立场。转载请注明出处: https://www.0532zz.com/html/kaifa/java/20200721/6530.html
上一篇
下一篇

作者: dawei

【声明】:青岛站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

为您推荐

返回顶部