SpringMVC請求數(shù)據(jù)詳解講解
一、RequestMapping注解
RequestMapping注解的作用是建立請求URL和處理方法之間的對應(yīng)關(guān)系
RequestMapping注解可以作用在方法和類上
- 作用在類上:第一級的訪問目錄
- 作用在方法上:第二級的訪問目錄
- 細(xì)節(jié):路徑可以不編寫 / 表示應(yīng)用的根目錄開始
1、RequestMapping的屬性
path 指定請求路徑的url
value value屬性和path屬性是一樣的
mthod 指定該方法的請求方式
@Controller
@RequestMapping(path = "/role") // 一級請求路徑
public class RoleController {
/**
* /role/save
* method="當(dāng)前方法允許請求方式能訪問"
* 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). 綁定機(jī)制
- 表單提交的數(shù)據(jù)都是k=v格式的 username=haha&password=123
- SpringMVC的參數(shù)綁定過程是把表單提交的請求參數(shù),作為控制器中方法的參數(shù)進(jìn)行綁定的
- 要求:提交表單的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ù),默認(rèn)值是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:是否必須有請求體,默認(rèn)值是true
代碼如下
@RequestMapping("/save2")
public String save2(@RequestBody Student student){
System.out.println(body);
return "suc";
}
四、RestFul風(fēng)格
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超詳細(xì)講解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)文章
java中線程池最實用的創(chuàng)建與關(guān)閉指南
試中經(jīng)常會問到,創(chuàng)建一個線程池需要哪些參數(shù)啊,線程池的工作原理啊,卻很少會問到線程池如何安全關(guān)閉的,下面這篇文章主要給大家介紹了關(guān)于java中線程池最實用的創(chuàng)建與關(guān)閉的相關(guān)資料,需要的朋友可以參考下2021-09-09
關(guān)于idea-web.xml版本過低怎么生成新的(web.xml報錯)問題
今天通過本文給大家分享idea-web.xml版本過低怎么生成新的(web.xml報錯)問題,通過更換web.xml版本解決此問題,感興趣的朋友跟隨小編一起看看吧2021-07-07
idea報錯:java程序包com.github.xiaoymin.knife4j.spring.annotations
這篇文章主要介紹了idea報錯:java程序包com.github.xiaoymin.knife4j.spring.annotations不存在問題解決,需要的朋友可以參考下2023-06-06
在IDEA中創(chuàng)建父工程和子模塊module的方法步驟
這篇文章主要介紹了在IDEA中創(chuàng)建父工程和子模塊module的方法步驟,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-02-02
kafka topic 權(quán)限控制(設(shè)置刪除權(quán)限)
大家都知道Kafka是一個消息隊列,把消息放到隊列里邊的叫生產(chǎn)者,從隊列里邊消費的叫消費者。今天通過本文給大家介紹kafka topic 權(quán)限控制的相關(guān)知識,感興趣的朋友一起看看吧2021-11-11

