SpringMVC原理&MVC設計思想

什麼是MVC

      MVC是一種架構模式 --- 程序分層,分工合作,既相互獨立,又協同工作

      MVC是一種思考方式 --- 需要將什麼信息展示給用戶? 如何佈局? 調用哪些業務邏輯?


  MVC流程圖如下圖所示

 MVC核心思想:業務數據抽取同業務數據實現相分離


總結:

    模型層(M)       業務數據的信息表示,關注支撐業務的信息構成,通常是多個業務實體的組合

    視圖層(V)       爲用戶提供UI,重點關注數據的呈現

    控制器(C)       接受用戶請求,並調用相應的模型處理

                         (相當於一個總調配中心,有什麼需求,就去調用相應模型進行處理,最後通過視圖給用戶進行展示)


SpringMVC的原理:

    1 首先用戶發出請求,請求到達SpringMVC的前端控制器(DispatcherServlet),

    2 前端控制器根據用戶的url,請求處理器映射器(HandlerMapping)查找匹配該url的handler,並返回一個執行鏈(HandlerExecutionChain),

    3 前端控制器再請求處理器適配器(HandlerAdapter)調用相應的handler進行處理並返回給前端控制器一modelAndView,  

    4 前端控制器再請求視圖解析器(ViewResolver)對返回的邏輯視圖進行解析,

    5 最後前端控制器將返回的視圖進行渲染並把數據裝入到request域,返回給用戶。


  注:DispatcherServlet作爲springMVC的前端控制器,負責接收用戶的請求並根據用戶的請求返回相應的視圖給用戶(分發調度)


  補充

    爲什麼叫前端控制器?前端又是什麼?

   舉個例子:假如你去醫院看病,通過向分診臺的醫院描述自己的病情,就可以得到醫生的指導具體去看外科、內科或者神經科等等,這裏我們的分診臺就扮演着前端控制器(Dispatcher)的角色,也叫做調度器,而各個科室就扮演着控制器(Controller)的角色,因爲分診臺是在具體各個科室之前,所以這個模式就叫做前端控制器。



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章