通過前端控制器源碼分析Spring mvc執(zhí)行過程.
第一步:前端控制器接收請求,會調(diào)用doDispatch
方法.
DispatcherServlet
第二步:前端控制器調(diào)用處理器映射器,來查找Handler.
DispatcherServlet
會調(diào)用這個方法來返回一個
HandlerExecutionChain
對象,我們繼續(xù)跟蹤源碼發(fā)現(xiàn)最后執(zhí)行的是AbstractHandlerMapping
第三步:調(diào)用處理器適配器執(zhí)行Handler,并返回ModelAndView
DispatcherServlet
第四步:視圖渲染,將Model數(shù)據(jù)填充到Request域.
當(dāng)執(zhí)行完Handler后會調(diào)用 2 代碼
DispatcherServlet
然后會執(zhí)行如下方法
DispatcherServlet
然后我們再進入這個方法中
DispatcherServlet
第一個方法 是得到一個view對象
第二個方法 是調(diào)用view的渲染方法,將Model數(shù)據(jù)放到Request域.