最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

SpringMVC @RequestMapping注解作用詳解

 更新時間:2023年01月14日 15:16:16   作者:qq_19286785  
通過@RequestMapping注解可以定義不同的處理器映射規(guī)則,下面這篇文章主要給大家介紹了關于SpringMVC中@RequestMapping注解用法的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下

1、@RequestMapping注解的功能

從注解名稱上我們可以看到,@RequestMapping注解的作用就是將請求和處理請求的控制器方法關聯(lián)起來,建立映射關系。

SpringMVC 接收到指定的請求,就會來找到在映射關系中對應的控制器方法來處理這個請求。

2、@RequestMapping注解的位置

@RequestMapping標識一個類:設置映射請求的請求路徑的初始信息

@RequestMapping標識一個方法:設置映射請求請求路徑的具體信息

@Controller
@RequestMapping("/test")
public class RequestMappingController {
	//此時請求映射所映射的請求的請求路徑為:/test/testRequestMapping
    @RequestMapping("/testRequestMapping")
    public String testRequestMapping(){
        return "success";
    }
}

3、@RequestMapping注解的value屬性

@RequestMapping注解的value屬性通過請求的請求地址匹配請求映射

@RequestMapping注解的value屬性是一個字符串類型的數(shù)組,表示該請求映射能夠匹配多個請求地址所對應的請求

@RequestMapping注解的value屬性必須設置,至少通過請求地址匹配請求映射

@RequestMapping(
        value = {"/testRequestMapping", "/test"}
)
public String testRequestMapping(){
    return "success";
}

4、@RequestMapping注解的method屬性

@RequestMapping注解的method屬性通過請求的請求方式(get或post)匹配請求映射

@RequestMapping注解的method屬性是一個RequestMethod類型的數(shù)組,表示該請求映射能夠匹配多種請求方式的請求

若當前請求的請求地址滿足請求映射的value屬性,但是請求方式不滿足method屬性,則瀏覽器報錯405:Request method ‘POST’ not supported

@RequestMapping(
        value = {"/testRequestMapping", "/test"},
        method = {RequestMethod.GET, RequestMethod.POST}
)
public String testRequestMapping(){
    return "success";
}

注:
1、對于處理指定請求方式的控制器方法,SpringMVC中提供了>@RequestMapping的派生注解
處理get請求的映射–>@GetMapping
處理post請求的映射–>@PostMapping
處理put請求的映射–>@PutMapping
處理delete請求的映射–>@DeleteMapping
2、常用的請求方式有get,post,put,delete
但是目前瀏覽器只支持get和post,若在form表單提交時,為method設置了>其他請求方式的字符串(put或delete),則按照默認的請求方式get處理
若要發(fā)送put和delete請求,則需要通過spring提供的過濾器HiddenHttpMethodFilter

5、@RequestMapping注解的params屬性(了解)

@RequestMapping注解的params屬性通過請求的請求參數(shù)匹配請求映射

@RequestMapping注解的params屬性是一個字符串類型的數(shù)組,可以通過四種表達式設置請求參數(shù)和請求映射的匹配關系

“param”:要求請求映射所匹配的請求必須攜帶param請求參數(shù)

“!param”:要求請求映射所匹配的請求必須不能攜帶param請求參數(shù)

“param=value”:要求請求映射所匹配的請求必須攜帶param請求參數(shù)且param=value

“param!=value”:要求請求映射所匹配的請求必須攜帶param請求參數(shù)但是param!=value

@RequestMapping(
        value = {"/testRequestMapping", "/test"}
        ,method = {RequestMethod.GET, RequestMethod.POST}
        ,params = {"username","password!=123456"}
)
public String testRequestMapping(){
    return "success";
}

注:

若當前請求滿足@RequestMapping注解的value和method屬性,但是不滿足params屬性,此時頁面回報錯400:Parameter conditions “username, password!=123456” not met for actual request parameters: username={admin}, password={123456}

6、@RequestMapping注解的headers屬性(了解)

@RequestMapping注解的headers屬性通過請求的請求頭信息匹配請求映射

@RequestMapping注解的headers屬性是一個字符串類型的數(shù)組,可以通過四種表達式設置請求頭信息和請求映射的匹配關系

“header”:要求請求映射所匹配的請求必須攜帶header請求頭信息

“!header”:要求請求映射所匹配的請求必須不能攜帶header請求頭信息

“header=value”:要求請求映射所匹配的請求必須攜帶header請求頭信息且header=value

“header!=value”:要求請求映射所匹配的請求必須攜帶header請求頭信息且header!=value

若當前請求滿足@RequestMapping注解的value和method屬性,但是不滿足headers屬性,此時頁面顯示404錯誤,即資源未找到

7、SpringMVC支持ant風格的路徑

?:表示任意的單個字符

*:表示任意的0個或多個字符

\**:表示任意的一層或多層目錄

注意:在使用\**時,只能使用/**/xxx的方式

@RequestMapping(
        value = {"/test/**/RequestMapping"}
)
public String testRequestMapping(){
    return "success";
}

8、SpringMVC支持路徑中的占位符(重點)

原始方式:/deleteUser?id=1

rest方式:/deleteUser/1

SpringMVC路徑中的占位符常用于RESTful風格中,當請求路徑中將某些數(shù)據(jù)通過路徑的方式傳輸?shù)椒掌髦?,就可以在相應的@RequestMapping注解的value屬性中通過占位符{xxx}表示傳輸?shù)臄?shù)據(jù),在通過@PathVariable注解,將占位符所表示的數(shù)據(jù)賦值給控制器方法的形參

@RequestMapping("/testRest/{id}/{username}")
public String testRest(@PathVariable("id") String id, @PathVariable("username") String username){
    System.out.println("id:"+id+",username:"+username);
    return "success";
}
//最終輸出的內(nèi)容為-->id:1,username:admin

到此這篇關于SpringMVC @RequestMapping注解作用詳解的文章就介紹到這了,更多相關SpringMVC @RequestMapping內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • SpringMVC之@requestBody的作用及說明

    SpringMVC之@requestBody的作用及說明

    這篇文章主要介紹了SpringMVC之@requestBody的作用及說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-04-04
  • 詳解Java中super的幾種用法并與this的區(qū)別

    詳解Java中super的幾種用法并與this的區(qū)別

    這篇文章主要介紹了Java中super的幾種用法并與this的區(qū)別,有需要的朋友可以參考一下
    2013-12-12
  • Java SSM實現(xiàn)前后端協(xié)議聯(lián)調(diào)詳解上篇

    Java SSM實現(xiàn)前后端協(xié)議聯(lián)調(diào)詳解上篇

    首先我們已經(jīng)知道,在現(xiàn)在流行的“前后端完全分離”架構中,前后端聯(lián)調(diào)是一個不可能避免的問題,這篇文章主要介紹了Java SSM實現(xiàn)前后端協(xié)議聯(lián)調(diào)過程
    2022-08-08
  • SpringBoot實現(xiàn)簡單文件上傳功能

    SpringBoot實現(xiàn)簡單文件上傳功能

    這篇文章主要為大家詳細介紹了SpringBoot實現(xiàn)簡單文件上傳功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-08-08
  • SpringBoot項目中使用Netty實現(xiàn)遠程調(diào)用的示例代碼

    SpringBoot項目中使用Netty實現(xiàn)遠程調(diào)用的示例代碼

    眾所周知在進行網(wǎng)絡連接的時候,建立套接字連接是一個非常消耗性能的事情,特別是在分布式的情況下,那么該通過什么技術去解決上述的問題呢,本文小編給大家介紹了SpringBoot項目中使用Netty實現(xiàn)遠程調(diào)用的方法,需要的朋友可以參考下
    2025-04-04
  • SpringBoot?Web請求響應詳細代碼示例

    SpringBoot?Web請求響應詳細代碼示例

    在Web開發(fā)中請求和響應是必不可少的環(huán)節(jié),Spring Boot Web應用中請求響應的分層解耦是構建高效、可維護系統(tǒng)的關鍵實踐,下面這篇文章主要介紹了SpringBoot?Web請求響應的相關資料,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2024-09-09
  • Java使用反射和動態(tài)代理實現(xiàn)一個View注解綁定庫

    Java使用反射和動態(tài)代理實現(xiàn)一個View注解綁定庫

    這篇文章主要介紹了Java使用反射和動態(tài)代理實現(xiàn)一個View注解綁定庫,代碼簡潔,使用簡單,擴展性強,結合實例代碼給大家介紹的非常詳細,需要的朋友可以參考下
    2022-05-05
  • Linux下用java -jar運行可執(zhí)行jar包的方法教程

    Linux下用java -jar運行可執(zhí)行jar包的方法教程

    這篇文章主要給大家介紹了在Linux下用java -jar運行可執(zhí)行jar包的方法教程,文中介紹的非常詳細,相信對大家的工作或者學習具有一定的參考學習價值,需要的朋友們下面來一起看看吧。
    2017-05-05
  • SpringBoot+Netty實現(xiàn)簡單聊天室的示例代碼

    SpringBoot+Netty實現(xiàn)簡單聊天室的示例代碼

    這篇文章主要介紹了如何利用SpringBoot Netty實現(xiàn)簡單聊天室,文中的示例代碼講解詳細,對我們學習SpringBoot有一定幫助,感興趣的同學可以了解一下
    2022-02-02
  • Java循環(huán)調(diào)用多個timer實現(xiàn)定時任務

    Java循環(huán)調(diào)用多個timer實現(xiàn)定時任務

    這篇文章主要介紹了Java循環(huán)調(diào)用多個timer實現(xiàn)定時任務,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-07-07

最新評論

香格里拉县| 临沧市| 紫阳县| 包头市| 闽侯县| 修文县| 长武县| 冀州市| 新平| 隆化县| 柳河县| 成安县| 繁峙县| 民勤县| 榆社县| 津市市| 金湖县| 衡阳市| 全南县| 乳山市| 铜山县| 郴州市| 体育| 江孜县| 建始县| 娄底市| 安新县| 明光市| 社会| 安宁市| 青海省| 南部县| 南昌市| 合水县| 武夷山市| 庆城县| 呼伦贝尔市| 娄底市| 凤冈县| 泾源县| 横山县|