簡介:
SpringMVC是一種基于Spring實現(xiàn)的Web MVC(Model View Controller)設計模式請求驅動類型的輕量級的Web框架,使用了MVC架構模式設計思想,將web層進行職責解耦,并管理應用所需對象的生命周期,為簡化日常開發(fā),提供了很大的便利,SpringMVC提供了總開關DispatcherServlet纽门;請求處理映射器(Handler Mapping)和處理適配器(Handler Adapter),視圖解析器(View Resolver)進行視圖管理便斥;動作處理器Controller接口(包含ModelAndView媳叨,以及處理請求響應對象request和response)泉懦,配置靈活囱晴,支持文件上傳箱季,數(shù)據(jù)簡單轉化等強大功能裸删。
工作流程與介紹:
1.客戶端發(fā)送url請求
2-3.核心控制器DispatcherServlet接收到請求,通過系統(tǒng)或者自定義的映射器配置到對應的handler,并將url映射的控制器controller返回給核心控制器
4.通過核心控制器找到系統(tǒng)或默認的適配器
5-7.由找到的適配器,調用實現(xiàn)對應接口的處理器,并將結果返回給適配器,結果中包含數(shù)據(jù)模型和視圖對象,再由適配器返回給核心控制器
8-9.核心控制器將獲取到的數(shù)據(jù)和視圖結合的對象傳遞給視圖解析器,獲取解析得到的結果,并由視圖解析器響應給核心控制器
10.核心控制器將結果返回給客戶端
適配器的作用:
SpringMVC為業(yè)務處理提供了多接口實現(xiàn)(例如實現(xiàn)了Controller接口),而適配器就是用來實現(xiàn)根據(jù)處理器實現(xiàn)了什么接口最終選擇與已經(jīng)注冊好的不同類型的Handler Adapter進行匹配苦掘,并最終執(zhí)行换帜,例如,SimpleControllerHandlerAdapter是支持實現(xiàn)了controller接口的控制器鹤啡,如果自己寫的控制器實現(xiàn)了controller接口惯驼,那么SimpleControllerHandlerAdapter就會去執(zhí)行自己寫的控制器中的具體方法來完成請求