上面的是springMVC的工作原理圖:
項目啓動加載映射文件
1、Client發送請求到DispatcherServlet : 客戶端發出一個http請求給web服務器,web服務器對http請求進行解析,如果匹配DispatcherServlet的請求映射路徑(在web.xml中指定),web容器將請求轉交給DispatcherServlet.
2、請求通過適配器找到handler : DipatcherServlet接收到這個請求之後將根據請求的信息(包括URL、Http方法、請求報文頭和請求參數Cookie等)以及HandlerMapping的配置找到處理請求的處理器(Handler)。
3-4、handler通過javabean到數據庫調取數據返回handler : DispatcherServlet根據HandlerMapping找到對應的Handler,將處理權交給Handler(Handler將具體的處理進行封裝),再由具體的HandlerAdapter對Handler進行具體的調用。
5、返回時通過ModelAndView 到DispatcherServlet : Handler對數據處理完成以後將返回一個ModelAndView()對象給DispatcherServlet。
6、調取相應的jsp : Handler返回的ModelAndView()只是一個邏輯視圖並不是一個正式的視圖,DispatcherSevlet通過ViewResolver將邏輯視圖轉化爲真正的視圖View。
7、返回Client : Dispatcher通過model解析出ModelAndView()中的參數進行解析最終展現出完整的view並返回給客戶端。
通過封裝業務數據和對象調度模型來完成客戶端請求。