@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:方法入參標註該註解後,入參對象就會放到數據模型中。
接下來會學習下面幾種模型數據的方法