SpringMVC介紹
1.控制轉發的DispatcherServlet
運行過程如下:
- 接受客戶端的請求
- 由DispatcherServlet控制器通過查詢已有的HandlerMapping,從而找到對應的url轉發對象
- 獲取轉發對象即目標的Controller類,進行接受參數、處理數據、返回結果。
- 處理返回的結果,可以返回ModelAndView對象、數據集等
- DispatcherServlet根據結果調用對應的ViewResolver視圖解析器,進而找到視圖等信息。
- 把視圖、數據集返回給客戶端進行展示、響應。
2.視圖ViewResolver
在配置文件中定義ViewResolver信息,可以找到對應的頁面,從而展示信息。比如prefix、suffix,前者控制view路徑,後者控制頁面的後綴類型jsp/html等。
3.註解
- @Controller
註冊bean到上下文中,需要配置信息進行掃描。 - @RequestMapping
定義URL請求路徑,屬性包括value即路徑、method處理的請求HTTP方法(POST、GET),來自頁面的URL通過DispatcherServlet跳轉到目標位置。 - @ResponseBody
請求數據處理後一般需要返回結果信息,該註解將結果信息轉換格式返回給調用對象。 - @RequestBody
- @ModelAttribute
註釋方法參數或方法,可以用於接受來自頁面的實體對象信息。 - @RequestParam
用於處理接受來自頁面的參數信息,比如單個String、多個String、Map對象包裹的信息 - @PathVariable
綁定URL佔位符到入參
4.SpringMVC對比Struts2
- 前者基於方法servlet開發實現,速度較快,url映射到具體方法,可以進行單例開發。
- 後者基於類過濾器實現,速度較慢,多例模式,請求多少創建多少對象。