SpringMVC工作流程
一、SpringMVC簡介
SpringMVC是一種基於Spring實現了Web MVC設計模式的請求驅動類型的輕量級Web框架,使用了MVC架構模式的思想,將web層進行職責解耦,並管理應用所需對象的生命周期,為簡化日常開發,提供了很大便利。
SpringMVC提供了總開關DispatcherServlet
;請求
處理映射器(Handler Mapping)和處理適配器(Handler Adapter),視圖解析器(View Resolver)進行視圖管理;動作處理器Controller接口(包含ModelAndView,以及處理請求響應對象request和response),配置靈活,支持文件上傳,數據簡單轉化等強大功能。
二、工作流程與介紹
(1)客戶端通過url發送請求
(2-3)核心控制器Dispatcher Servlet接收到請求,通過系統或自定義的映射器配置找到對應的handler,並將url映射的控制器controller返回給核心控制器。
(4)通過核心控制器找到系統或默認的適配器
(5-7)由找到的適配器,調用實現對應接口的處理器,並將結果返回給適配器,結果中包含數據模型和視圖對象,再由適配器返回給核心控制器
(8-9)核心控制器將獲取的數據和視圖結合的對象傳遞給視圖解析器,獲取解析得到的結果,並由視圖解析器響應給核心控制器
(10)核心控制器將結果返回給客戶端
三、適配器作用
SpringMVC涉及的映射器,視圖解析器的作用不難理解,映射器負責將前端請求的url映射到配置的處理器,視圖解析器將最終的結果進行解析,但中間為什麽要經過一層適配器呢,為什麽不經映射器找到controller後直接執行返回呢?
那是因為SpringMVC為業務處理器提供了多種接口實現(例如實現了Controller接口),而適配器就是用來根據處理器實現了什麽接口,最終選擇與已經註冊好的不同類型的Handler Adapter進行匹配,並最終執行,例如,SimpleControllerHandlerAdapter是支持實現了controller接口的控制器,如果自己寫的控制器實現了controller接口,那麽SimpleControllerHandlerAdapter就會去執行自己寫的控制器中的具體方法來完成請求。
SpringMVC工作流程