一、框架結構前端
二、框架流程程序員
(1) 用戶發送請求至前端控制器DispatcherServletspring
(2) DispatcherServlet收到請求URL調用HandlerMapping處理器映射器。後端
(3) 處理器映射器根據請求url找到具體的處理器,生成處理器對象及處理器攔截器(若是有則生成)一併返回給DispatcherServlet。mvc
(4) DispatcherServlet經過HandlerAdapter處理器適配器調用處理器app
(5) 執行處理器(Controller,也叫後端控制器)。框架
(6) Controller執行完成返回ModelAndViewjsp
(7) HandlerAdapter將controller執行結果ModelAndView返回給DispatcherServleturl
(8)DispatcherServlet將ModelAndView傳給ViewReslover視圖解析器spa
(9) ViewReslover解析後返回具體View
(10) DispatcherServlet對View進行渲染視圖(即將模型數據填充至視圖中)。
(11)DispatcherServlet響應用戶
三、組件說明
如下組件一般使用框架提供實現:
用戶請求到達前端控制器,它就至關於mvc模式中的c,dispatcherServlet是整個流程控制的中心,由它調用其它組件處理用戶的請求,dispatcherServlet的存在下降了組件之間的耦合性。
HandlerMapping負責根據用戶請求找到Handler即處理器,springmvc提供了不一樣的映射器實現不一樣的映射方式,例如:配置文件方式,實現接口方式,註解方式等。
Handler 是繼DispatcherServlet前端控制器的後端控制器,在DispatcherServlet的控制下Handler對具體的用戶請求進行處理。因爲Handler涉及到具體的用戶業務請求,因此通常狀況須要程序員根據業務需求開發Handler。
經過HandlerAdapter對處理器進行執行,這是適配器模式的應用,經過擴展適配器能夠對更多類型的處理器進行執行。
View Resolver負責將處理結果生成View視圖(JSP,freemarker),View Resolver首先根據邏輯視圖名解析成物理視圖名即具體的頁面地址,再生成View視圖對象,最後對View進行渲染將處理結果經過頁面展現給用戶。
springmvc框架提供了不少的View視圖類型的支持,包括:jstlView、freemarkerView、pdfView等。咱們最經常使用的視圖就是jsp。
通常狀況下須要經過頁面標籤或頁面模版技術將模型數據經過頁面展現給用戶,須要由程序員根據業務需求開發具體的頁面。
說明:
須要用戶開發的組件有handler、view