一、Spring MVC 簡介
1.Spring MVC 建鍵介紹
Spring Web MVC是基於Servlet API構建的原始Web框架,並且從一開始就已包含在Spring框架中。正式名稱“ Spring Web MVC”來自其源模塊(spring-webmvc)的名稱,但它通常被稱爲“ Spring MVC”。
與Spring Web MVC並行,Spring Framework 5.0引入了一個反應式堆棧Web框架,其名稱“ Spring WebFlux”也基於其源模塊(spring-webflux)。本節介紹Spring Web MVC。
Spring Web MVC 和Spring MVC是同一個東西,只是我們通常稱之爲Spring MVC。它是Spring Framework的一部分,是基於Java實現的MVC輕量級web框架。
1.MVC
- MVC是模型(Model)是視圖(Views)控制層(Controller)的縮寫,是一種軟件設計規範;
- 是將業務邏輯、數據、顯示分離的方法來組織代碼;
- MVC 主要作用是降低了視圖於業務邏輯鍵的雙向耦合;
- MVC 不是一種設計模式,MVC是一種架構模式。
Model(模型):數據模型,提供要展示的數據,因此包含數據和行爲。(就是Dao層和Service層)
View(視圖):負責進行模型的展示,一般就是我們見到的用戶界面,客戶想看到的東西。
Controller(控制器):接收用戶請求,委託給模型進行處理(狀態改變),處理完畢後把返回的模型數據返回給視圖,由視圖負責顯示。(也就是說控制器作了一個調度員的工作)
2.爲什麼要學Spring MVC
之前我們都是使用Servlet,但是隨着項目越來越大,Servlet會變得非常多,難以管理。現在學習Spring MVC會變得非常簡單。
Spring MVC特點:
- 輕量級、簡單易學
- 高效、基於請求響應的MVC框架
- 與Spring兼容性好,無縫結合(我們可以將Spring MVC中要用到bean註冊到Spring中)
- 約定由於配置
- 功能強大:RESTful、數據驗證、格式化、本地化、主題等
- 簡潔靈活
Spring的web框架圍繞DispatcherServlet[調度Servlet]設計。
二、分發器 或 調度器(DispatcherServlet)
2.分發器
Spring的web框架圍繞DispatcherServlet設計。DispatcherServlet的作用是將請求分發到不同的處理器。我們可以採用基於註解的controller聲明開發,十分簡潔;
Spring MVC框架像許多其他MVC框架一樣,**以請求爲驅動,圍繞一箇中心Servlet分派請求及提供其他功能,DispatcherServlet是一個實際的Servlet(繼承自HttpServlet基類)
2.處理流程
Spring Web MVC中的請求處理工作流程
參考自官網:spring 4 的 22.2 The DispatcherServlet
中文版:
當發起請求時被前置的控制器攔截到請求,根據請求參數生成代理請求,找到請求對應的實際控制器,控制器處理請求,創建數據模型,訪問數據庫,將模型響應給中心控制器,控制器使用模型與視圖渲染視圖結果,將結果返回給中心控制器,再將結果返回給請求者。
相關
我的該分類的其他相關文章,請點擊:【Spring + Spring MVC + MyBatis】文章目錄