1. 程式人生 > >SpringMVC工作流程

SpringMVC工作流程

工作流 span 定義 web框架 mapping web mvc control mage let

  一、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工作流程