<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                [TOC] # Spring Web MVC ## 簡介 Spring Web MVC 是一種基于 Java 的實現了 Web MVC 設計模式的請求驅動類型的輕量級 Web 框架,即使用了 MVC 架構模式的思想,將 Web 層進行職責解耦,基于請求驅動指的就是使用**請求-響應**模型,框架的目的就是幫助我們簡化開發,Spring Web MVC 可以簡化日常 Web 開發。 ## Spring Web MVC 能幫我們做什么 * 讓我們能非常簡單的設計出干凈的 Web 層和薄薄的 Web 層; * 進行更簡潔的 Web 層的開發; * 天生與 Spring 框架集成(如 IoC 容器、AOP 等); * 支持靈活的 URL 到頁面控制器的映射; ## SpringMVC 架構 SpringMVC 框架也是一個基于請求驅動的 Web 框架,并且也使用了前端控制器模式來進行設計,再根據請求映射規則分發給相應的頁面控制器(動作/處理器)進行處理。首先讓我們整體看一下 SpringMVC 處理請求的流程: ### Spring Web MVC 處理請求的流程 ![](https://box.kancloud.cn/2016-05-13_5735738f9fb81.JPG) 具體執行步驟如下: 1、 首先用戶發送請求→前端控制器,前端控制器根據請求信息(如URL)來決定選擇哪一個頁面控制器進行處理并把請求委托給它,即以前的控制器的控制邏輯部分,圖中的 1、2 步驟; 2、 頁面控制器接收到請求后,進行功能處理,首先需要收集和綁定請求參數到一個對象,這個對象在 SpringMVC 中叫命令對象,并進行驗證,然后將命令對象委托給業務對象進行處理;處理完畢后返回一個 ModelAndView(模型數據和邏輯視圖名),圖中的 3、4、5 步驟; 3、 前端控制器收回控制權,然后根據返回的邏輯視圖名,選擇相應的視圖進行渲染,并把模型數據傳入以便視圖渲染,圖中的步驟 6、7; 4、 前端控制器再次收回控制權,將響應返回給用戶,圖中的步驟 8,至此整個結束。 ### Spring Web MVC 核心架構圖 ![](https://box.kancloud.cn/2016-05-13_5735738fb5d04.JPG) 核心架構的具體流程步驟如下: 1、 首先用戶發送請求 → DispatcherServlet,前端控制器收到請求后自己不進行處理,而是委托給其他的解析器進行處理,作為統一訪問點,進行全局的流程控制; 2、 DispatcherServlet → HandlerMapping, HandlerMapping將會把請求映射為HandlerExecutionChain對象(包含一個Handler處理器(頁面控制器)對象、多個HandlerInterceptor攔截器)對象,通過這種策略模式,很容易添加新 的映射策略; 3、 DispatcherServlet → HandlerAdapter,HandlerAdapter將會把處理器包裝為適配器,從而支持多種類型的處理器,即適配器設計模式的應用,從而很容易支持很多類型的處理器; 4、 HandlerAdapter → 處理器功能處理方法的調用,HandlerAdapter 將會根據適配的結果調用真正的處理器的功能處理方法,完成功能處理;并返回一個 ModelAndView 對象(包含模型數據、邏輯視圖名); 5、 ModelAndView 的邏輯視圖名→ ViewResolver, ViewResolver 將把邏輯視圖名解析為具體的 View,通過這種策略模式,很容易更換其他視圖技術; 6、 View → 渲染,View會根據傳進來的 Model 模型數據進行渲染,此處的 Model 實際是一個 Map 數據結構,因此很容易支持其他視圖技術; 7、返回控制權給 DispatcherServlet,由 DispatcherServlet 返回響應給用戶,到此一個流程結束。 > DispatcherServlet 是前端控制器設計模式的實現,提供 Spring Web MVC 的集中訪問點,而且負責職責的分派,而且與 Spring IoC 容器無縫集成,從而可以獲得 Spring 的所有好處。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看