Spring MVC 程序的完整執(zhí)行流程如下
( 1 )用戶通過瀏覽器向服務(wù)器發(fā)送請(qǐng)求,請(qǐng)求會(huì)被 Spring MVC 的前端控制器
DispatcherServlet 所攔截
( 2 ) DispatcherServlet 攔截到請(qǐng)求后笑撞,會(huì)調(diào)用 HandlerMapping 處理器映射器
(3 )處理器映射器根據(jù)請(qǐng)求 URL 找到具體的處理器钓觉,生成處理器對(duì)象及處理器攔截器(如
果有則生成)一并返回給 DispatcherServlet
( 4 ) DispatcherServlet 會(huì)通過返回信息選擇合適的 HandlerAdapter (處理器適配器)
( 5 ) HandlerAdapter 會(huì)調(diào)用并執(zhí)行 Handler (處理器),這里的處理器指的就是程序中編寫
Controller 類荡灾,也被稱之為后端控制器
( 6 ) Controller 執(zhí)行完成后,會(huì)返回一個(gè) ModelAndView 對(duì)象批幌,該對(duì)象中會(huì)包含視圖名或包
EE 企業(yè)銀應(yīng)用開發(fā)放程(
含模型和視圖名
( 7 ) HandlerAdapter ModelAndView 對(duì)象返回給 DispatcherServlet
( 8 ) DispatcherServlet 會(huì)根據(jù) ModelAndView 對(duì)象選擇一個(gè)合適的 ViewReslover (視圖解
析器)
( 9 ) ViewReslover 解析后,會(huì)向 DispatcherServlet 中返回具體的 View (視圖)
( 10 ) DispatcherServlet View 進(jìn)行渲染(即將模型數(shù)據(jù)填充至視圖中)
( 11 )視圖渲染結(jié)果會(huì)返回給客戶端瀏覽器顯示
在上述執(zhí)行過程中皆警, DispatcherServlet HandlerMapping HandlerAdapter ViewResolver
對(duì)象的工作是在框架內(nèi)部執(zhí)行的,開發(fā)人員并不需要關(guān)心這些對(duì)象內(nèi)部的實(shí)現(xiàn)過程信姓,只需要配置
前端控制器( DispatcherServlet ),完成 Controller 中的業(yè)務(wù)處理意推,并在視圖中 (View) 中展示
相應(yīng)信息即可