Java學習筆記(十七)-SpringMvc(二)

**

Spring MVC 的請求流程

1.DispatcherServlet
請求離開瀏覽器以後,第一站到達的就是 DispatcherServlet,其會攔截所有的請求,並且將這些請求發送給 Spring MVC 控制器。

<servlet>
    <servlet-name>dispatcher</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
    <servlet-name>dispatcher</servlet-name>
    <!-- 攔截所有的請求 -->
    <url-pattern>/</url-pattern>
</servlet-mapping>

2。處理器映射(HandlerMapping)
DispatcherServlet 會查詢一個或多個處理器映射來確定請求的下一站在哪裏,處理器映射會根據請求所攜帶的 URL 信息來進行決策
3.控制器
一旦選擇了合適的控制器, DispatcherServlet 會將請求發送給選中的控制器,到了控制器,請求會卸下其負載(用戶提交的請求)等待控制器處理完這些信息
4.返回 DispatcherServlet
控制器處理了相應信息後會根據相應model返回信息,這些信息需要以用進行格式化,一般是 HTML,所以,信息需要發送給一個視圖(view)一般用JSP,控制器最後一件事就是將模型數據打包,並且表示出用於渲染輸出的視圖名(邏輯視圖名)。它接下來會將請求連同模型和視圖名發送回 DispatcherServlet
5.視圖解析器
DispatcherServlet 將會使用視圖解析器(view resolver)來將邏輯視圖名匹配爲一個特定的視圖實現,它可能是也可能不是 JSP
6.視圖
最後一站是視圖的實現,在這裏它交付模型數據,請求的任務也就完成了。視圖使用模型數據渲染出結果,這個輸出結果會通過響應對象傳遞給客戶端。
**

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