電費充值api介面,支援國家電網+南方電信
阿新 • • 發佈:2021-10-10
MVC 架構模式
MVC 架構模型是按照職責劃分將三層架構中的表現層分為控制器(Controller)、模型(Model)和檢視(View)三部分,目的是使系統組織架構更合理和清晰
Spring MVC 是什麼
Spring MVC 是 Spring 框架的 Web 元件,它是一種基於 Java 實現的 Web MVC 的輕量級 Web 框架
- SpringMVC 使用 MVC 架構模式的思想,將 Web 層進行職責解耦,基於請求-響應模型,目的就是簡化開發
- SpringMVC 的前端控制器是 DispatcherServlet,應用控制器被拆分為處理器對映器(Handler Mapping)進行處理器管理和檢視解析器(View Resolver)進行檢視管理;頁面控制器/動作/處理器為 Controller 介面的實現
Spring MVC 是三層架構中表現層最主流的 MVC 框架
Spring MVC 特點
- 天生與 Spring 框架整合(如Ioc容器、AoP等)
- 進行更簡潔的 Web 層的開發
- 提供強大的約定大於配置的契約式程式設計支援
- 能簡單的進行 Web 層的單元測試
- 支援靈活的 URL 到頁面控制器的對映
- 非常容易與其他檢視技術整合,如 Velocity、FreeMarker 等
- 非常靈活的資料驗證、格式化和資料繫結機制,能使用任何物件進行資料繫結,不必實現特定框架的API
- 提供一套強大的JSP標籤庫,簡化JSP開發
- 支援靈活的本地化、主題等解析
- 更加簡單的異常處理
- 對靜態資源的支援
- 支援 Restful 架構風格
Spring MVC 框架環境搭建
- 建立動態 Web 專案
- 匯入動態 Web 專案 的 Spring MVC 依賴包
- web.xml 中配置 Spring MVC 前端控制器
- springmvc.xml 中配置 Spring MVC 執行環境
Spring MVC 工作流程圖
Spring MVC 核心註解
@Controller 註解(控制器類)
- 只要在定義類上標註 @Controller 註解,則表示該類為頁面控制器類,可以用於處理前端控制器轉發的 HTTP 請求
- 每個控制器類可擁有多個處理 HTTP 請求的方法,每個方法負責不同的請求操作
- 需要使用
<context:component-scan/>
@RequestMapping 註解(對映請求方法)
- @RequestMapping 註解的作用就是將前端控制器轉發的 HTTP 請求對映到對應的控制器類的方法中
- 將請求對映到控制器類的處理方法的工作包含一系列的對映規則,這些規則是根據請求中的各種資訊制定的,具體包括請求URL、請求引數、請求方法、請求頭這4個方面的資訊項
Spring MVC 特性
請求引數繫結
Spring MVC 請求引數繫結特性是將 HTTP 請求引數直接繫結到頁面控制器的處理方法的引數中
資料型別轉換
Spring MVC 資料型別轉換特性是將 HTTP 請求引數的型別自動轉換為直接繫結到頁面控制器的處理方法的引數型別
Spring MVC 內建的型別轉換器如下:
注:Spring MVC 支援自定義型別轉換器
資料校驗
應用程式在執行業務邏輯前,必須通過資料校驗保證接收的輸入資料時正確合法的。在一般情況下,應用程式的開發是分層的,不同層的程式碼由不同開發人員負責。很多時候,同樣的資料校驗會出現在不同層中,這樣會導致程式碼冗餘,為了避免這樣的情況,最好是將驗證邏輯和相應的域模型進行繫結,將程式碼校驗的邏輯集中起來管理
JSR 303(資料合法性校驗標準框架)
JSR 303 是 Java 為 Bean 資料合法性校驗所提供的標準框架。JSR 303 通過在 Bean 屬性中標註註解來指定校驗規則,並通過標準的驗證介面對 Bean 進行驗證
攔截器
Spring MVC 攔截器特性用於攔截頁面控制處理的客戶端請求,分別有三個攔截點如下:
檔案上傳
Spring MVC為檔案上傳提供了直接的支援(這種支援使通過即插即用的MultipartResolver 實現的)
AJAX
AJAX 技術是 Web 客戶端 和 Web 伺服器互動(通訊)的一種新方式