1. 程式人生 > >springmvc的核心流程

springmvc的核心流程

簡單的模擬場景:

1.使用者訪問的url,就比如一個人進公司,必須要先經過公司的大門才能進去,請求也是一樣,它必須先經過Dispatcher Servlet的前端控制器, 

2.我們工作需要有工作地點吧(請求需要工作),可是不認路啊(請求需要在哪裡被分析),所以我們需要去找到地圖,然後在地圖上找到地點,在SpringMVC中,從Dispatcher Servlet先找到Handler Mapper,然後Handler Mapper找到工作點的老闆(HandlerAdapter)。

3.我們知道怎麼找到工作點了,而且路徑是從公司大門(Dispatcher Servlet前端控制器)開始的,我們按照地圖(HandlerMapper元件裡面的資訊)的指引找到了安排我們工作的HandlerAdapter。

4.老闆指使我們工作,我們身為員工(Handler,也就是請求所對應的事件),工作的內容就控制層(也就是MVC中的C)下請求url所對應的方法,工作完成之後,我們需要提交工作資料呈現給老闆看(返回ModelAndView物件給HandlerAdapter)

5.之後老闆把你的工作資料貼到公司大門上(將ModelAndView物件返回給DispatcherServlet),再經歷一番修飾後呈現給來往的客人看(使用者) 

詳細的工作流程:

1、使用者傳送請求至前端控制器DispatcherServlet 
2、DispatcherServlet收到請求呼叫HandlerMapping處理器對映器。 
3、處理器對映器根據請求url找到具體的處理器,生成處理器物件及處理器攔截器(二者組成HandlerExecutionChain),並將其一併返回給DispatcherServlet。 


4、DispatcherServlet通過HandlerAdapter處理器介面卡呼叫處理器 
5、執行處理器(Controller,也叫後端控制器)。 
6、Controller執行完成返回ModelAndView 
7、HandlerAdapter將controller執行結果ModelAndView返回給DispatcherServlet 
8、DispatcherServlet將ModelAndView傳給ViewReslover檢視解析器 
9、ViewReslover解析後返回具體View 
10、DispatcherServlet對View進行渲染檢視(即將模型資料填充至檢視中)。 

11、DispatcherServlet對使用者進行響應

看圖瞭解:


注:圖片來源百度,部分文字理解參照部落格園文章和CSDN文章

參考來源:https://www.cnblogs.com/xxzhuang/p/5940709.html