MVC是指模型(model)-視圖(view)-控制器(controller)的縮寫, 一種軟體設計典範, 用一種業務邏輯、資料、介面顯示分離的方法組織代碼, 將業務邏輯聚集到一個部件裡面, 在改進和個性化定制介面及使用者交互的同時, 不需要重新編寫業務邏輯。 MVC被獨特的發展起來用於映射傳統的輸入、處理和輸出功能在一個邏輯的圖形化使用者介面的結構中。
前端控制器
上圖是前端控制器的原理圖
舉個例子:
前端控制器很類似醫院的分診台。
在前端控制器模型中各個角色的作用:
MVC本質
什麼是MVC
業務資料的資訊表示, 關注支撐業務的資訊構成, 通常是多個業務實體的組合。
Controller——控制器
調用業務邏輯產生合適的資料
MVC是一種架構模式和思考方式Spring MVC——DispatcherServlet——前端控制器Spring MVC——Controller
Spring MVC——HandlerAdapter
Spring MVC沒有控制器介面,是通過注解的方式表示某個類是控制器,所以需要適配為控制器。
HandlerAdapter是Spring MVC內部使用的,Spring MVC會把控制器和後面要介紹的HandlerInterceptor包裝為HandlerAdapter。
Spring MVC——HandlerInterceptorSpring MVC——HandlerMapping
DispatcherServlet會通過HandlerMapping把控制器和HandlerInterceptor包裝為HandlerExecutionChain
。
Spring MVC——HandlerExecutionChainSpring MVC——ModelAndViewSpring MVC會把Model和Map封裝為ModelAndView
:
Spring MVC——ViewResolverSpring MVC——View
Spring MVC——總體架構圖
Java程式師學習交流群515675832,既有技術大佬,又有老司機開車,各位對Java感興趣的可以來交流學習一下,快樂與技術一起進步。
Spring MVC——DispatcherServlet——前端控制器Spring MVC——ControllerSpring MVC——HandlerAdapter
Spring MVC沒有控制器介面,是通過注解的方式表示某個類是控制器,所以需要適配為控制器。
HandlerAdapter是Spring MVC內部使用的,Spring MVC會把控制器和後面要介紹的HandlerInterceptor包裝為HandlerAdapter。
Spring MVC——HandlerInterceptorSpring MVC——HandlerMapping
DispatcherServlet會通過HandlerMapping把控制器和HandlerInterceptor包裝為HandlerExecutionChain
。
Spring MVC——HandlerExecutionChainSpring MVC——ModelAndViewSpring MVC會把Model和Map封裝為ModelAndView
:
Spring MVC——ViewResolverSpring MVC——View
Spring MVC——總體架構圖
Java程式師學習交流群515675832,既有技術大佬,又有老司機開車,各位對Java感興趣的可以來交流學習一下,快樂與技術一起進步。