Spring MVC框架簡介
Spring MVC屬於SpringFrameWork的後續產品,Spring MVC框架提供了構建web應用程序的全功能MVC模塊,是一種輕量級Web框架。使用了MVC架構模式的思想,通過把Model,View,Controller分離,將web層進行職責解耦,把複雜的web應用分成邏輯清晰的幾部分,簡化開發。
Spring MVC的主要組件
1、DispatcherServlet前端控制器:
DispatcherServlet整個流程控制的中心,控制其它組件執行,統一調度,降低組件之間的耦合性,提高每個組件的擴展性。他的作用就是接收用戶的請求,然後給用戶響應結果。
2、HandlerMapping處理器映射器:
將指定的請求URL映射爲對應的Handler(控制器),如果映射成功將返回一個HandlerExecutionChain對象(包含一個Handler處理器對象,多個HandlerInterceptor對象),允許存在多個實例。
3、HandlerAdapter處理器適配器:
將Handler包裝爲適配器,從而支持多種類型的處理器。
4、ViewResolver視圖解析器:
通過視圖解析器將ModelAndView對象中的View對象進行解析,得到具體的View。
SpringMVC運行原理/流程
執行流程
1、用戶發送請求到前端控制器DispatcherServlet
2、DispatcherServlet收到請求調用處理映射器HandlerMapping
3、處理映射器根據請求url找到具體的處理器,生成處理器執行鏈HandlerExecutionChain(包含處理器對象和處理器攔截器)返回給DispatcherServlet
4、DispatcherServlet根據處理器Handler獲取對應的適配器
5、HandlerAdapter調用處理器Handler
6、Handler(Controller)執行完成後返回ModelAndView
7、HandlerAdapter返回ModelAndView
8、DispatcherServlet統一將返回的ModelAndView派送到ViewResolve(視圖解析器)解析
9,視圖解析器解析之後返回具體View。
10、DispatcherServlet使用Model中的數據對View進行渲染視圖。
11、DispatcherServlet返回最終結果給客戶端,響應用戶
文章參考:
https://blog.csdn.net/jiadajing267/article/details/81010741