天天看點

SpringMvc執行原理

SpringMvc執行原理

1.<code>DispatcherServlet</code> 表示前端控制器 是整個SpringMvc的控制中心 使用者送出請求 DispatcherServlet接受請求并攔截

假設請求的url http://localhost:8080/SpringMVC/hello

url拆分成三部分

http://localhost:8080 伺服器域名

SpringMVC部署在伺服器上的web站點

hello表示控制器

url表示為 請求位于伺服器localhost:8080上的SpringMVC站點的hello控制器

2.<code>HandlerMapping</code>(處理器映射器) <code>DispatcherServlet</code>調用<code>HandlerMapping</code> HandlerMapping根據url查找<code>Handler</code>

3.<code>HandlerExecution</code> 表示具體的Handler 根據url查詢控制器

4.<code>HandlerExecution</code>将解析後的資訊傳給<code>DispatcherServlet</code>

5.<code>HandlerAdapter</code>表示處理器擴充卡 按照特定的規則去執行handler

6.<code>Handler</code>讓具體的controller執行

7.<code>Controller</code>傳回具體的資訊給<code>HandlerAdapter</code> 如ModelAndView

8.<code>HandlerAdapter</code>将視圖邏輯名或者模型傳遞給<code>DispatcherServlet</code>

9.<code>DispatcherServlet</code> 調用<code>viewResolver</code>(視圖解析器)來解析<code>HandlerAdapter</code>傳遞的視圖

10.<code>viewResolver</code>将解析的視圖名稱傳遞給<code>DispatcherServlet</code>

11.<code>DispatcherServlet</code>根據解析的視圖結果 調用具體的視圖

12.最後呈現在電腦上給使用者看

<code>HandlerMapping</code>是根據url查找控制器的

<code>HandlerAdapter</code>是執行控制器邏輯 并拿到傳回結果的

<code>viewResolver</code>是解析視圖名稱的

<code>DispatcherServlet</code>拿到最後的結果傳回出去給使用者看

即使再小的帆也能遠航

上一篇: QBC查詢
下一篇: HelloSpring