在Spring MVC的3,怎么写一个cookie,同时返回一个ModelAndView

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在Spring MVC的3,怎么写一个cookie,同时返回一个ModelAndView相关的知识,希望对你有一定的参考价值。

参考技术A public class WelcomeController extends AbstractController

@Override
protected ModelAndView handleRequestInternal(HttpServletRequest arg0,
HttpServletResponse arg1) throws Exception
// TODO Auto-generated method stub

Cookie cookie = new Cookie("test", "test");
cookie.setMaxAge(maxTime);

arg1.addCookie(cookie)

System.out.println("welcome");
return new ModelAndView("welcome");


本回答被提问者和网友采纳

Spring MVC @CookieValue注解

@CookieValue的作用

  用来获取Cookie中的值

@CookieValue参数

  1、value:参数名称

  2、required:是否必须

  3、defaultValue:默认值

 

@CookieValue使用案例

1、我们在index.jsp页面中创建cookie值

 1 <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
 2 
 3 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
 4 <html>
 5   <head>
 6       <script type="text/javascript">
 7           document.cookie="name=caoyc;path=/"  
 8           document.cookie="age=18;path=/"  
 9           // 时间可以不要,但路径(path)必须要填写,因为JS的默认路径是当前页,如果不填,此cookie只在当前页面生效!~
10       </script>
11 
12   </head>
13   
14   <body>
15     <a href="testCookie">查看Cookie</a>
16     
17   </body>
18 </html>

 

2、在控制器中

1 @RequestMapping("/testCookie")
2 public String testCookie(@CookieValue(value="name",required=false) String name,
3         @CookieValue(value="age",required=false) Integer age){
4     System.out.println(name+","+age);
5     return "hello";
6 }

 

测试代码

测试1:

我们直接访问http://localhost:8080/springmvc-1/testCookie

输出结果为:null,null

 

测试2:

我们现在访问http://localhost:8080/springmvc-1 这里路径直接对应index.jsp页面

进入页面后通过开发者工具,我们查看到到cookie信息

然后再次访问http://localhost:8080/springmvc-1/testCookie

结果输出:caoyc,18

 

以上是关于在Spring MVC的3,怎么写一个cookie,同时返回一个ModelAndView的主要内容,如果未能解决你的问题,请参考以下文章

ajax请求 spring mvc responsebody 注解的方法 为啥写不了cookie

springmvc model怎么添加cookie

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

spring mvc的拦截器的posthandle怎么用

Spring MVC @CookieValue注解

ios mvc 中model强转换是怎么写的