1. 程式人生 > >【Spring MVC】深度探險SpringMVC(二)——框架介紹

【Spring MVC】深度探險SpringMVC(二)——框架介紹

一、前言

      從這篇部落格開始小編就正式向打擊介紹一下SpringMVC這個輕量級的框架,既然是輕量級自然就可以單獨使用了。也許你可能問為什麼要使用Spring MVC,Struts 2.x不才是主流嗎?我調查了一下,2014-2015年之間前10名基於Java的Web框架中,Spring MVC位列首位。

這裡寫圖片描述

二、什麼是MVC?

      在介紹Spring MVC之前呢,咱們得先說一下MVC,這個老設計模式了。

      MVC 是一種使用 MVC(Model View Controller 模型-檢視-控制器)設計建立 Web 應用程式的模式:

  • Model(模型)表示應用程式核心(比如資料庫記錄列表)。

  • View(檢視)顯示資料(資料庫記錄)。

  • Controller(控制器)處理輸入(寫入資料庫記錄)。


這裡寫圖片描述

三、什麼是SpringMVC?

這裡寫圖片描述

3.1 步驟:

      第一步:發起請求到前端控制器(DispatcherServlet)

      第二步:前端控制器請求HandlerMapping查詢Handler,可以根據xml配置、註解查詢

      第三步:處理器對映器HandlerMapping向前端控制器返回執行

      第四步:前端控制器呼叫處理器介面卡去執行Handler

      第五步:處理器介面卡去執行Handler

      第六步:handler執行完,給介面卡返回modelandview

      第七步:處理器介面卡向前端控制器返回modelAndview,modelandview是 springmvc框架的底層物件,包括Model和view

      第八步:前端控制器請求檢視解析器去進行檢視解析,根據邏輯檢視名稱解析成真正的檢視(jsp)

      第九步:檢視解析器向前端控制器返回view

      第十步:前端控制器進行檢視渲染,檢視渲染將模型資料(modelAndview)填充到request域

      十一步:前端控制器向用戶響應結果


這裡寫圖片描述

3.2 元件:

      1.前端控制器DispatcherServlet(不用程式設計師開發)

作用:接收請求,響應結果,相當於轉發器,有了他,減少其他元件的耦合度。

      2.處理器對映器 HandlerMapping(不)

作用:根據請求的URl查詢handler。

      3.處理器介面卡 handlerAdapter(不)

作用:按照特定規則(handlerAdapter要求的規則)執行handler。

      4.處理器Handler(開發)

作用:編寫handler時按照HandlerAdapter的要求去做,這樣介面卡才可以正確執行Handler。

      5.檢視解析器 view resolver(不)

作用:進行檢視解析,根據邏輯檢視名解析成真正的檢視(view)。

      6.檢視view(開發)

作用:一個介面,實現類支援不同的view型別。

3.3 個人理解

      前端控制器就相當於CPU,而處理器對映器就相當於處理的對映表,當我們的請求傳達到前端控制器的時候,前端控制器就會檢視對映表,看要把這個請求給那個部件處理。

      當確定後,就會呼叫處理器對映器,把資訊處理給他,讓他來執行最後的處理器,當處理完畢後,就會把資訊返回出來。重新給前端控制器。

      這個時候就應該把資料顯示的到使用者介面了,所以前端控制器會通過呼叫檢視解析器來對要顯示的檢視進行解析。然後檢視渲染顯示檢視。

四、小結

      個人感覺springMvc的框架職責單一體現的非常淋漓盡致。每個部件都有自己單獨唯一的功能,這也就讓springMvc的系統更加的有水品,好拓展。非常的方便。我們要做到的就是要深刻的理解一下框架的各個部件,不同的部件的功能,以後開發學習的時候會更加的得心應手。