參考鏈接:
http://www.tuicool.com/articles/7Rjiiy
核心處理流程
具體步驟:
1挎袜、 首先用戶 發(fā)送請求—— >DispatcherServlet , 前端控制器收到請求后自己不進行處理谤饭,而是委托給其他的解析器進行處理曙痘,作為統(tǒng)一訪問點,進行全局的流程控制晒旅;
2富稻、 DispatcherServlet —— >HandlerMapping 掷邦, HandlerMapping 將會把請求映射為 HandlerExecutionChain 對象(包含一個 Handler 處理器(頁面控制器)對象、多個 HandlerInterceptor 攔截器)對象椭赋,通過這種策略模式抚岗,很容易添加新的映射策略;
3哪怔、 DispatcherServlet —— >HandlerAdapter 宣蔚, HandlerAdapter 將會把處理器包裝為適配器,從而支持多種類型的處理器认境,即適配器設(shè)計模式的應(yīng)用胚委,從而很容易支持很多類型的處理器;
4叉信、 HandlerAdapter —— > 處理器功能處理方法的調(diào)用亩冬, HandlerAdapter 將會根據(jù)適配的結(jié)果調(diào)用真正的處理器的功能處理方法,完成功能處理硼身;并返回一個 ModelAndView 對象(包含模型數(shù)據(jù)硅急、邏輯視圖名);
5佳遂、 ModelAndView 的邏輯視圖名—— > ViewResolver 营袜, ViewResolver 將把邏輯視圖名解析為具體的 View,通過這種策略模式丑罪,很容易更換其他視圖技術(shù)荚板;
6、 View —— > 渲染 巍糯,View 會根據(jù)傳進來的 Model 模型數(shù)據(jù)進行渲染啸驯,此處的 Model 實際是一個 Map 數(shù)據(jù)結(jié)構(gòu),因此很容易支持其他視圖技術(shù)祟峦;
7罚斗、 返回控制權(quán)給 DispatcherServlet , 由 DispatcherServlet 返回響應(yīng)給用戶宅楞,到此一個流程結(jié)束针姿。
總結(jié):核心開發(fā)步驟
1、 DispatcherServlet 在 web.xml 中的部署描述厌衙,從而攔截請求到 Spring Web MVC
2距淫、 HandlerMapping 的配置,從而將請求映射到處理器
3婶希、 HandlerAdapter 的配置榕暇,從而支持多種類型的處理器
4、 ViewResolver 的配置,從而將邏輯視圖名解析為具體視圖技術(shù)
5彤枢、 處理器(頁面控制器)的配置狰晚,從而進行功能處理