SpringMVC請求數(shù)據(jù)詳解講解
一、RequestMapping注解
RequestMapping注解的作用是建立請求URL和處理方法之間的對應關(guān)系
RequestMapping注解可以作用在方法和類上
- 作用在類上:第一級的訪問目錄
- 作用在方法上:第二級的訪問目錄
- 細節(jié):路徑可以不編寫 / 表示應用的根目錄開始
1、RequestMapping的屬性
path 指定請求路徑的url
value value屬性和path屬性是一樣的
mthod 指定該方法的請求方式
@Controller @RequestMapping(path = "/role") // 一級請求路徑 public class RoleController { /** * /role/save * method="當前方法允許請求方式能訪問" * params="請求路徑上傳參數(shù)" * @return */ @RequestMapping(path = "/save",method = {RequestMethod.GET}) public String save(){ System.out.println("保存角色..."); return "suc"; } @RequestMapping(value = "/delete") public String delete(){ System.out.println("刪除角色..."); return "suc"; } }
2、RequestMapping的請求參數(shù)綁定
(1). 綁定機制
- 表單提交的數(shù)據(jù)都是k=v格式的 username=haha&password=123
- SpringMVC的參數(shù)綁定過程是把表單提交的請求參數(shù),作為控制器中方法的參數(shù)進行綁定的
- 要求:提交表單的name和參數(shù)的名稱是相同的
(2). 支持的數(shù)據(jù)類型
- 基本數(shù)據(jù)類型和字符串類型
- 實體類型(JavaBean)
- 集合數(shù)據(jù)類型(List、map集合等)
? 基本數(shù)據(jù)類型和字符串類型
- 提交表單的name和參數(shù)的名稱是相同的
- 區(qū)分大小寫
? 實體類型(JavaBean)
- 提交表單的name和JavaBean中的屬性名稱需要一致
- 如果一個JavaBean類中包含其他的引用類型,那么表單的name屬性需要編寫成:對象.屬性 例如:address.name
- 給集合屬性數(shù)據(jù)封裝
- JSP頁面編寫方式:list[0].屬性
二、RequestParam注解
作用:把請求中的指定名稱的參數(shù)傳遞給控制器中的形參賦值
屬性
- ? value:請求參數(shù)中的名稱
- ? required:請求參數(shù)中是否必須提供此參數(shù),默認值是true,必須提供
代碼如下
import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; @Controller @RequestMapping("/dept") public class DeptController { @RequestMapping("/save") public String save(@RequestParam(value = "username",required = false) String name){ System.out.println(name); return "suc"; } }
三、RequestBody注解
作用:用于獲取請求體的內(nèi)容(注意:get方法不可以):將前端的json對象轉(zhuǎn)換成javabean實體對象
屬性
required:是否必須有請求體,默認值是true
代碼如下
@RequestMapping("/save2") public String save2(@RequestBody Student student){ System.out.println(body); return "suc"; }
四、RestFul風格
1、@PathVariable注解
url:
http://localhost:8080/SpringMVC/rest/commit.do/1/1
controller接收:用占位符的形式截取
//映射訪問路徑 @RequestMapping("/commit.do/{p1}/{p2}") public String index(@PathVariable int p1, @PathVariable String p2, Model model){ String result = p1+p2; //Spring MVC會自動實例化一個Model對象用于向視圖中傳值 model.addAttribute("msg", "結(jié)果:"+result); //返回視圖位置 return "suc"; }
2、使用method屬性指定請求類型
用于約束請求的類型,可以收窄請求范圍。指定請求謂詞的類型如GET, POST, HEAD, OPTIONS, PUT, PATCH, DELETE, TRACE等
到此這篇關(guān)于SpringMVC請求數(shù)據(jù)詳解講解的文章就介紹到這了,更多相關(guān)SpringMVC請求數(shù)據(jù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- SpringMVC詳解如何映射請求數(shù)據(jù)
- Java超詳細講解SpringMVC如何獲取請求數(shù)據(jù)
- 關(guān)于SpringMVC請求域?qū)ο蟮臄?shù)據(jù)共享問題
- SpringMVC 重新定向redirect請求中攜帶數(shù)據(jù)方式
- 使用springmvc的controller層獲取到請求的數(shù)據(jù)方式
- Springmvc獲取前臺請求數(shù)據(jù)過程解析
- Springmvc處理ajax請求并返回json數(shù)據(jù)
- SpringMVC 跨重定向請求傳遞數(shù)據(jù)的方法實現(xiàn)
- SpringMVC解析JSON請求數(shù)據(jù)問題解析
相關(guān)文章
spring單元測試下模擬rabbitmq的實現(xiàn)
這篇文章主要介紹了spring單元測試下模擬rabbitmq的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-05-05SpringCloud Gateway網(wǎng)關(guān)功能介紹與使用
SpringCloud Gateway 是 Spring Cloud 的一個全新項目,它旨在為微服務架構(gòu)提供一種簡單有效的統(tǒng)一的 API 路由管理方式。這篇文章主要介紹了SpringCloud Gateway網(wǎng)關(guān)作用,需要的朋友可以參考下2022-12-12