SpringMVC框架(1)之(總目錄)
阿新 • • 發佈:2018-12-08
1. SpringMVC框架基礎:
- SpringMVC框架
MVC在 B/S系統中的應用
原理:前端控制器、處理器對映器、處理器介面卡、檢視解析器 - 入門程式
常用的處理器對映器和處理器介面卡
(網址: https://blog.csdn.net/qq_41029923/article/details/84451512 )
註解方式(重點)
(網址: https://blog.csdn.net/qq_41029923/article/details/84584790 )
SpringMVC與Mybatis整合
(網址: https://blog.csdn.net/qq_41029923/article/details/84587924 - 註解開發基礎
(網址:https://blog.csdn.net/qq_41029923/article/details/84634506 )
常用的註解使用
引數繫結
(網址:https://blog.csdn.net/qq_41029923/article/details/84785078 )
自定義引數繫結
(網址:https://blog.csdn.net/qq_41029923/article/details/84788444 ) - SpringMVC與 Struts區別
(網址:https://blog.csdn.net/qq_41029923/article/details/84858431 )
2. SpringMVC框架進階:
- 使用 SpringMVC上傳圖片
(網址:https://blog.csdn.net/qq_41029923/article/details/84858713 ) - SpringMVC中Json(@RequestBody和@ResponseBody)
(網址:https://blog.csdn.net/qq_41029923/article/details/84870551 ) - validation校驗器
(網址:https://blog.csdn.net/qq_41029923/article/details/84874358 ) - 異常處理器
- Restful支援
- 攔截器
1. SpringMVC框架
SpringMVC 是 Spring的一個模組,基於 MVC設計架構,提供 WEB層解決方案;
MVC 是一個設計模式,在B/S系統中應用;
(B/S系統模型無法將資料推送到檢視中,只能通過控制器將資料填充到 View;只有在 C/S系統模型中才能將資料推送到檢視中;)
MVC 模型圖:
SpringMVC圖:
第一步: 使用者發出 Request請求,請求到 DispatchServlet前端控制器;
第二步:DispatchServlet前端控制器 請求 HandlerMapping處理器對映器來查詢 Handler(DispatchServlet前端控制器相當於中央排程器,降低了元件之間的耦合度);
第三步:HandlerMapping處理器對映器 根據 URL及一些配置(XML、註解)查詢到 Handler,將 Handler返回給 DispatchServlet前端控制器;
第四步: 使用 HandlerAdapter處理器介面卡擴充套件不同的 Handler的執行方式;
第五步:HandlerAdapter處理器介面卡 執行 Handler後端控制器;
第六步:Handler處理器(後端控制器) 返回 ModelAndView(ModelAndView是 SpringMVC的一個物件,對 Model和 View進行封裝);
第七步: HandlerAdapter處理器介面卡返回 ModelAndView給 DispatchServlet前端控制器;
第八步: DispatchServlet前端控制器呼叫 ViewResolver檢視解析器,解析生成 View(View是 SpringMVC檢視封裝物件);
第九步:ViewResolver檢視解析器 返回 View給 DispatchServlet前端控制器;
第十步: DispatchServlet前端控制器對 View進行檢視渲染,將資料填充;
第十一步: DispatchServlet前端控制器向用戶響應結果;
DispatchServlet:前端控制器,由SpringMVC提供;
HandlerMapping:處理器對映器,由SpringMVC提供;
HandlerAdaptor:處理器介面卡,由SpringMVC提供;
Handler:處理器(後端控制器),需要程式設計師;
ViewResolver:試圖解析器,由SpringMVC提供;
View:真正檢視,需要程式設計師完成;