動態

詳情 返回 返回

SpringMVC - 動態 詳情

一:MVC

MVC是模型(Model),視圖(View),控制器(Controller)的簡寫
1.Model封裝了應用程序數據,一般來説,它們將由POJO組成。
2.View負責渲染模型數據,一般來説,它生成客户端瀏覽器可以解釋的HTML輸出。
3.Controller負責處理用户請求和構建合適的模型,並將其傳遞給視圖進行渲染。

二:Spring MVC

Spring MVC框架提供了模型-視圖-控制器架構和現成的組件,可用於開發靈活且鬆散耦合的 Web 應用程序。MVC 模式導致分離應用程序的不同方面(輸入邏輯、業務邏輯和 UI 邏輯),同時在這些元素之間提供鬆散耦合。

三:常用組件

1.DispatcherServlet
Spring Web 模型-視圖-控制器 (MVC) 框架是圍繞處理所有HTTP請求和響應的DispatcherServlet設計的
2.HandlerMapping
處理器映射器,由框架提供。作用:根據請求的 url、method等信息來查找具體的Handler(一般來講是Controller)
3.Handler
處理器,這個需由工程師自己開發。作用:在 DispatcherServlet的控制下,Handler對具體的用户請求進行處理
4.HandlerAdapter
處理器適配器,由框架提供。作用:根據映射器找到的處理器Handler信息,按照特定的規則去執行相關的處理器 Handler。
5.ViewResolver
視圖解析器,由框架提供。作用:ViewResolver負責將處理結果生成View視圖
6.View
視圖,工程師自己開發,作用:View接口的職責就是接收model對象、Request對象、Response對象,並渲染輸出結果給Response對象。

四:SpringMVC的工作流程


1.收到 HTTP 請求後,DispatcherServlet 會諮詢 HandlerMapping 以調用適當的 Controller。
2.控制器接受請求並根據使用的 GET 或 POST 方法 調用適當的服務方法。服務方法將根據定義的業務邏輯設置模型數據,並將視圖名稱返回給 DispatcherServlet。
3.DispatcherServlet 將獲得 ViewResolver 的幫助來獲取請求的定義視圖。
4.一旦視圖完成,DispatcherServlet 將模型數據傳遞給視圖,最終在瀏覽器上呈現。

五:Springmvc配置

1.相關包引入
maven在pom.xml中引入
2.web.xml配置
在web.xml裏面添加DispatcherServlet的配置
3.spring-mvc.xml配置
4.日誌配置

六:Postman工具

1.介紹
postman是一款支持http協議的接口調試與測試工具,其主要特點就是功能強大,使用簡單且易用性好
2.功能
(1)基礎功能
常見類型的接口請求
接口響應數據的解析
接口管理(Collection)
批量執行接口請求
日誌調試
斷言
變量
請求前置腳本
接口關聯
常見的返回值獲取
(2)便捷功能快
速填寫查詢參數
快速填寫請求頭信息
快速實現添加一個請求
如何繼承集合認證
批量斷言
快速查詢和替換
(3)高級功能
讀取文件進行參數化
生成測試報告
代碼中發送請求
編寫接口文檔
mock服務
監控
使用工作空間
代碼同步與分支管理
連接數據庫
apis
3.使用
擬發送單個請求的創建的步驟 :
(1)選擇請求方式
(2)然後輸入請求的URL
(3)然後切換到Body選項,選擇Content-Type,選擇以後postman會自動 把Content-Type填寫的headers(請求頭信息)中
(4)在body中填寫請求參數(GET例外,GET請求沒有請求主體)
(5)點擊“Send”按鈕模擬發送請求

七:常用註解

1.@Controller
@Controller註解在類上,表明這個類是Spring MVC裏的Controller,將其聲明為Spring的一個Bean,
Dispatch Servlet會自動掃描註解了此註解的類,並將Web請求映射到註解了@RequestMapping的方
法上。
2.@RequestMapping
@RequestMapping註解是用來映射Web請求(訪問路徑和參數)、處理類和方法的。它可以註解在類和方法上。註解在方法上的@RequestMapping路徑會繼承註解在類上的路徑,@RequestMapping支持Servlet的request和response作為參數,也支持對它們的媒體類型進行配置。
@RequestMapping標識一個類:設置映射請求的請求路徑的初始信息
@RequestMapping標識一個方法:設置映射請求請求路徑的具體信息
(1)value屬性
@RequestMapping註解的value屬性通過請求的請求地址匹配請求映射
@RequestMapping註解的value屬性是一個字符串類型的數組,表示該請求映射能夠匹配多個請求地址所對應的請求
@RequestMapping註解的value屬性必須設置,至少通過請求地址匹配請求映射
(2)method屬性
@RequestMapping註解的method屬性通過請求的請求方式(get或post)匹配請求映射
@RequestMapping註解的method屬性是一RequestMethod類型的數組,表示該請求映射能夠匹配多種請求方式的請求 若當前請求的請求地址滿足請求映射的value屬性,但是請求方式不滿足method屬性,則瀏覽器報錯405:Request method ‘POST’ not supported
3.@ResponseBody
該註解用於將Controller的方法返回的對象,通過適當的HttpMessageConverter轉換為指定格式後,寫入到Response對象的body數據區。
4.@RequestBody
@RequestBody允許request的參數在request體中,而不是在直接鏈接在地址後面。此註解放在參數前。
@RequestBody接收的參數是來自requestBody中,即請求體。
5.@ResController
@RestController是一個組合註解,組合了@Controller和@ResponseBody,意味着當只開發一個和頁面交互數據的控制的時候,需要使用此註解。若沒有此註解,要想實現上述功能,則需自己在代碼中加@Controller和@ResponseBody兩個註解
6.@PathVariable
當方法中帶有參數時,可以採用@PathVariable將URL中的佔位符參數傳入到方法參數變量中
7.@RequestParam
@RequestParam用於將請求參數區數據映射到功能處理方法的參數上,它是把請求中的指定名稱的參數傳遞給控制器中的形參賦值
屬性:
value/name:請求參數中的名稱 (必寫參數)
required:請求參數中是否必須提供此參數,默認值是true,true為必須提供
defaultValue:默認值
8.@Resource
@Resource默認按照ByName自動注入,由J2EE提供,需要導入包javax.annotation.Resource。
@Resource有兩個重要的屬性:name和type,而Spring將@Resource註解的name屬性解析為bean的名字,而type屬性則解析為bean的類型。
9.@Service
註解屬於org.springframework.stereotype包,會將標註類自動註冊到 Spring 容器中,在配置文件中需要添加元素來掃描依賴基礎包

八:ModelAndView

ModelAndView類用來存儲處理完後的結果數據,以及顯示該數據的視圖,其中Model代表模型,View代表視圖。業務處理器調用模型層處理完用户請求後,把結果數據存儲在該類的model屬性中,把要返回的視圖信息存儲在該類的view屬性中,然後讓該ModelAndView返回該Spring MVC框架。框架通過調用配置文件中定義的視圖解析器,對該對象進行解析,最後把結果數據顯示在指定的view頁面

user avatar chuck1sn 頭像 hoistthecolorsandsteptotherail 頭像 delumengyu_6683789629bfa 頭像 coderdd 頭像 tuhooo 頭像 icodewalker 頭像
點贊 6 用戶, 點贊了這篇動態!
點贊

Add a new 評論

Some HTML is okay.