Spring MVC的加載流程如下:
客戶端發(fā)送請求,請求被DispatcherServlet捕獲。
DispatcherServlet根據(jù)請求的URL找到對應(yīng)的HandlerMapping,確定請求對應(yīng)的Handler。
HandlerAdapter將請求轉(zhuǎn)發(fā)給對應(yīng)的Handler。
Handler執(zhí)行業(yè)務(wù)邏輯,處理請求。
Handler返回一個ModelAndView對象,包含數(shù)據(jù)和視圖名。
HandlerAdapter將ModelAndView對象返回給DispatcherServlet。
DispatcherServlet根據(jù)視圖名找到對應(yīng)的ViewResolver,確定視圖的具體路徑。
ViewResolver將視圖名解析為具體的視圖對象。
View對象負責(zé)渲染模型數(shù)據(jù),生成最終的HTML或其他格式的響應(yīng)。
View將渲染后的響應(yīng)返回給DispatcherServlet。
DispatcherServlet將響應(yīng)返回給客戶端。
整個過程中,DispatcherServlet充當(dāng)了前端控制器的角色,負責(zé)協(xié)調(diào)各個組件的工作,處理請求和返回響應(yīng)。 HandlerMapping負責(zé)將請求URL映射到具體的Handler,HandlerAdapter負責(zé)將請求轉(zhuǎn)發(fā)給Handler并處理返回結(jié)果,ViewResolver負責(zé)將視圖名解析為具體的視圖對象,View負責(zé)渲染模型數(shù)據(jù)生成響應(yīng)。