1. 程式人生 > >SpringMVC工作原理(1)

SpringMVC工作原理(1)

    大家好,今天和大家分享SpringMVC的相關知識,主要是對SpringMVC的工作原理做一些分析。

    SpringMVC的工作流程如下:

    接下來我們先來對其中的元件以及相應的功能來做簡單介紹:

    元件:

1.DispatcherServlet

DispatcherServlet是我們所說的前端控制器,由框架進行提供,作用是接收請求,返回相應結果,同時負責排程其他元件進行工作,是SpringMVC的核心處理器,相當於SpringMVC的大腦。這個元件存在的意義很大一部分是對其他元件進行了解耦。

2.HandlerMapping

HandlerMapping是處理器對映器,由框架進行提供,負責根據使用者的請求來查詢相應的處理器對使用者請求進行處理,SpringMVC中也提供了不同的對映器以實現不同的對映方式,類似於註解,xml配置檔案,實現介面等方式。

3.HandlerAdapter

HandlerAdapter是處理器介面卡,由框架進行提供,介面卡會按照特定的規則使用處理器,通過介面卡呼叫處理器處理使用者請求的好處在於可以通過擴充套件介面卡的方式來對更多型別的處理器進行呼叫。

4.Handler

Handler是我們常說的處理器,也是我們的後端處理器,需要由開發者根據不同的需求進行開發,但是Handler的開發需要遵從介面卡規則,這樣才能被介面卡進行呼叫,然後去處理使用者相應請求。

5.ViewResolver

       ViewResolver是檢視解析器,負責將處理器返回的結果處理成檢視,檢視解析器首先會根據處理器回傳的邏輯檢視名找到具體的頁面地址,然後生成一個View檢視,最後會將檢視交給前端控制器對檢視進行渲染後將頁面展示給使用者。

6.View

View就是上面所說的檢視,是由開發人員進行開發,由檢視解析器進行渲染的物件。

執行過程

1.使用者傳送請求給前端控制器DispatcherServlet

2.DispatcherServlet接收到使用者請求後,通過呼叫HandlerMapping處理器對映器尋找合適的處理器進行處理。

3.處理器對映器找到具體的處理器後,生成處理器物件以及處理器攔截器,並返回給前端控制器。

4.前端控制器通過呼叫處理器介面卡,將請求交給處理器進行處理。

5.處理器介面卡呼叫具體的處理器對請求進行處理。

6.處理器處理完成後返回ModelAndView。

7.處理器介面卡將處理器返回的ModelAndView返回給前端控制器。

8.前端控制器將ModelAndView交給檢視解析器進行解析。

9.檢視解析器解析之後返回具體的View。

10.前端控制器根據具體的View進行渲染。

11.前端控制器響應使用者請求。

以上就是SpringMVC的簡單處理流程,我們發現核心在於前端處理器,前端處理器的存在將各個元件進行了解耦,並對使用者請求做出相應的響應,也就是說前端處理器成了使用者請求的唯一接收方,至於後續邏輯,則全部進行了封裝,不對外暴露,做了非常好的封閉性。

好了,今天就先分享這些知識,如果大家覺得我們的文章對您有用,請關注我們的公眾號,每天一篇乾貨文章。