SpringMVC
用戶發(fā)送請(qǐng)求到中央控制器控制器笆搓,DispacherServlet实愚。
中央控制層:DispacherServlet(請(qǐng)求獲取Handler)
DispacherServlet 請(qǐng)求尋找執(zhí)行類Handler。
處理器映射器:HandlerMapping
負(fù)責(zé)尋找執(zhí)行類Handler
返回執(zhí)行結(jié)果(返回chain畸写,chain里有攔截器驮瞧,攔截器中有Handler)
DispacherServlet獲取返回的chain后:
請(qǐng)求執(zhí)行Handler
交給處理器適配器(HandlerAdapter)
HandlerAdapter 執(zhí)行Controller
返回結(jié)果ModelAndView(Model中是數(shù)據(jù),view是視圖艺糜,跳轉(zhuǎn)到哪個(gè)頁面)
HandlerAdapter 調(diào)用Controller里邊的方法
方法返回ModelAndView剧董,然后將ModelAndView反回DispacherServlet
DispacherServlet拿到ModelAndView后,交給ViewResolver:
視圖解析器(ViewResolver)破停,解析視圖翅楼,解析出真正的物理視圖,返回執(zhí)行結(jié)果View真慢。
DispacherServlet拿到view后毅臊,請(qǐng)求渲染視圖,jstl來解析渲染黑界。然后DispacherServlet返回渲染結(jié)果管嬉。
SpringMVC執(zhí)行流程
MVC設(shè)計(jì)模式
MVC設(shè)計(jì)模式
SpringMVC執(zhí)行流程
SpringMVC執(zhí)行流程.png
結(jié)合配置文件解析
代碼執(zhí)行流程.png