什麼是SpringMVC?
SpringMVC是Spring家族中提供的一個實現Web MVC設計模式的輕量級Wed框架,他與Struts2同樣,都屬於MVC框架(Model View Controller,是模型(model)-視圖(view)-控制器(controller)的縮寫,),可是隻不過Struts2是老框架,已經被淘汰了。SpringMVC主要完成C(控制器)的做用,可是器性能筆Strust2好不少。前端
做用:從請求中接受傳入的參數;將底層傳回的參數結果返回前臺頁面進行展現。後端
SpringMVC具備什麼特色?
- 是Spring框架的一部分,能夠方便的使用Spring框架的其餘功能
- 靈活性好,易於與其餘框架集成
- 提供了一個前端控制器DispatcherServlet,使開發人員更加方便,無需本身開發前端控制器對象
- 能夠自動的綁定用戶輸入,能夠正確的進行數據類型轉換
- 內置了常見的校驗器,能夠校驗用戶輸入,若是輸入不正確會自動重定向到輸入表單
- 支持國家化能夠根據用戶位置顯示多國語言
- 支持多種試圖技術,它支持jsp,Velocity和FreeMark的視圖技術
- 使用基於xml配置文件,在編譯後,不須要從新編譯程序
SpringMVC的工做流程?

- 經過瀏覽器向服務器發送請求,請求會被SpringMVC的前端控制器DispacherServlet攔截
- DispacherServlet攔截請求後會調用HanderMapping處理器映射器
- 處理器映射器會根據請求URL找到具體的處理器,生成處理器對象幾處理器攔截器(若是有則生成)一併返回給DipacherServlet;
- DispacherServlet會根據返回的信息選擇合適的HanderAdapter(處理器適配器)
- HanderAdapter會調用執行Hander(處理器),這裏的處理器指得就是程序中編寫的Controller類,也被稱之爲後端控制器
- Controller執行完後會返回一個ModelAndView對象,該對象中包含視圖名或包含模型和視圖名
- HandlerAdapter將ModleAndView對象返回給DispatcherServlet
- DispacherServlet會根據ModleAndView選擇一個合適的ViewReslover(視圖解析器)
- ViewReslover解析後,會向DispatcherServlet中返回具體的View(視圖);
- DispatcherServlet對View進行渲染(即將模型數據填充至視圖中);
- 視圖渲染結果會返回給客戶端瀏覽器顯示。
工做流程簡易版:設計模式
