@RequestMapping("/testCookieValue") public String testCookieValue(@CookieValue(value="JSESSIONID") String id) { System.out.println(id); return "success"; }
获取url的JSESSIONID,但注意的是:id的类型应为String类型,不然报错html
使用Servlet API做为入参java
spring mvc 底层有大量公众业务去处理spring
在有些状况,spring MVC 须要使用Servlert API,spring mvc支持九种类型servlet对象api
HttpServletRequest:请求mvc
HttpServletResponse:响应app
HttpSession:会话jsp
java.security.Frinclpal:受权学习
Locale:本地信息ui
InputStream:输出流url
OutputStream:输入流
Reader:输出流
Writer:输入流
@RequestMapping("/testservletapi") public String testservletapi(HttpServletRequest request,HttpServletResponse reponse) { System.out.println(request); System.out.println(reponse); return "success"; }
处理模型数据
数据模型的定义:http://blog.sina.com.cn/s/blog_76baa3d101010r7o.html
Spring MVC提供了如下几种途径输出模型数据:
-ModelAndView:处理方法返回值类型为ModelAndView时,方法体便可经过该对象添加模型数据
1.控制器处理方法的返回值若是为ModelAndView,则既包含视图信息,也包含模型数据信息。
2.方法的内部,建立ModelAndView对象:
设置视图:
setView(view view);
setViewName(String);
添加模型数据:
addObject(String,Object);
addObjects(Map map);
3.ModelAndView当中的模型数据放到请求范围中:
控制器方法中的返回值类型要注意
@RequestMapping("/testModelAndView") public ModelAndView testModelAndView() { ModelAndView mv = new ModelAndView(); //ModelAndView 模型数据的值是放到Request范围当中 mv.setViewName("success"); mv.addObject("name", "tom"); return mv; }
success.jsp中的获取方法:
<body> ${param.test} </body>
<body> success page,,,,,,, ${requestScope.name } </body>
运行结果:
-Map及Model:入参
org.springframework.ui.Model,org.springframework.ui.ModelMap或java.uti.Map时,处理方法返回时,Map中的数据会自动添加到模型中
-@SessionAttributes:模型中的某个属性暂存到HttpSession中,以便多个请求之间能够共享这个属性
-@ModelAttribute:方法入参标注该注解后,入参对象就会放到数据模型中。
接下来会学习下面几种模型数据的方法