SpringMVC的工作流程

spring工作的流程

整個Spring MVC框架中,DispatcherServlet處於核心位置,它負責協調和組織不同組件完成請求處理並返回響應的工作。和大多數Web MVC框架一樣,Spring MVC所有的請求都會通過一個前端控制器Servlet。DispatcherServlet就是 Spring MVC的前端Servlet處理器。具體流程爲:

1、用戶發起請求到前端控制器(DispatcherServlet),該控制器會過濾出哪些請求可以訪問Servlet、哪些不能訪問。就是url-pattern的作用,並且會加載springmvc.xml配置文件。

2、前端控制器會找到處理器映射器(HandlerMapping),通過HandlerMapping完成url到controller映射的組件,簡單來說,就是將在springmvc.xml中配置的或者註解的url與對應的處理類找到並進行存儲,用map<url,handler>這樣的方式來存儲。

3、HandlerMapping有了映射關係,並且找到url對應的處理器,HandlerMapping就會將其處理器(Handler)返回,在返回前,會加上很多攔截器。

4、DispatcherServlet拿到Handler後,找到HandlerAdapter(處理器適配器),通過它來訪問處理器,並執行處理器。

5、執行處理器

6、處理器會返回一個ModelAndView對象給HandlerAdapter

7、通過HandlerAdapter將ModelAndView對象返回給前端控制器(DispatcherServlet)

8、前端控制器請求視圖解析器(ViewResolver)去進行視圖解析,根據邏輯視圖名解析成真正的視圖(jsp),其實就是將ModelAndView對象中存放視圖的名稱進行查找,找到對應的頁面形成視圖對象

9、返回視圖對象到前端控制器。

10、視圖渲染,就是將ModelAndView對象中的數據放到request域中,用來讓頁面加載數據的。

11、通過第8步,通過名稱找到了對應的頁面,通過第10步,request域中有了所需要的數據,那麼就能夠進行視圖渲染了。最後將其返回即可。

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