HandlerMapping、HandlrAdapter.4.0版本可不配置闽寡,用默認的代兵。
SpringMVC應用的開發(fā)步驟
1.通過web.xml配置的前端控制器和攔截器,攔截用戶請求爷狈。
2.定義用戶請求的Handle類植影,可通過實現(xiàn)Controllre類或者@Controller注解,前端控制器分發(fā)請求至Handle(即該Controller類)涎永,前端控制根據(jù)攔截器中uri調用Controller的方法(約定的方式代替配置)思币,處理請求鹿响。
3.Handle處理用戶請求后,返回一個ModelAndView對象谷饿,包含視圖和數(shù)據(jù)惶我。
Spring執(zhí)行的流程
clipboard.png
1.用戶在客戶端發(fā)起請求
2.前端控制器攔截請求
3.解析URL,得到URI博投,調用HandlerMapping得到HandlerExecutionChain(包括:Handler對象和攔截器)
4.前端控制器根據(jù)獲得的Handler(處理映射器),選擇一個合適HandlerAdapter(處理適配器)(存儲多個Handler)绸贡,adapter調用Handler中實際處理請求的方法
5.執(zhí)行Handler,解析參數(shù)
6.執(zhí)行完成返回一個ModelAndView對象(模型數(shù)據(jù)和視圖)
7.根據(jù)ModelAndView對象毅哗,調用的ViewResolver進行對象解析听怕,返回一個填充了模型數(shù)據(jù)的view給前端控制器
8.前端控制器通過ModelAndView來渲染視圖
9.將視圖響應給客戶端