欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

SpringMVC @RequestMapping注解作用詳解

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

1、@RequestMapping注解的功能

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

SpringMVC 接收到指定的請(qǐng)求,就會(huì)來(lái)找到在映射關(guān)系中對(duì)應(yīng)的控制器方法來(lái)處理這個(gè)請(qǐng)求。

2、@RequestMapping注解的位置

@RequestMapping標(biāo)識(shí)一個(gè)類(lèi):設(shè)置映射請(qǐng)求的請(qǐng)求路徑的初始信息

@RequestMapping標(biāo)識(shí)一個(gè)方法:設(shè)置映射請(qǐng)求請(qǐng)求路徑的具體信息

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

3、@RequestMapping注解的value屬性

@RequestMapping注解的value屬性通過(guò)請(qǐng)求的請(qǐng)求地址匹配請(qǐng)求映射

@RequestMapping注解的value屬性是一個(gè)字符串類(lèi)型的數(shù)組,表示該請(qǐng)求映射能夠匹配多個(gè)請(qǐng)求地址所對(duì)應(yīng)的請(qǐng)求

@RequestMapping注解的value屬性必須設(shè)置,至少通過(guò)請(qǐng)求地址匹配請(qǐng)求映射

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

4、@RequestMapping注解的method屬性

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

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

若當(dāng)前請(qǐng)求的請(qǐng)求地址滿足請(qǐng)求映射的value屬性,但是請(qǐng)求方式不滿足method屬性,則瀏覽器報(bào)錯(cuò)405:Request method ‘POST’ not supported

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

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

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

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

@RequestMapping注解的params屬性是一個(gè)字符串類(lèi)型的數(shù)組,可以通過(guò)四種表達(dá)式設(shè)置請(qǐng)求參數(shù)和請(qǐng)求映射的匹配關(guān)系

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

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

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

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

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

注:

若當(dāng)前請(qǐng)求滿足@RequestMapping注解的value和method屬性,但是不滿足params屬性,此時(shí)頁(yè)面回報(bào)錯(cuò)400:Parameter conditions “username, password!=123456” not met for actual request parameters: username={admin}, password={123456}

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

@RequestMapping注解的headers屬性通過(guò)請(qǐng)求的請(qǐng)求頭信息匹配請(qǐng)求映射

@RequestMapping注解的headers屬性是一個(gè)字符串類(lèi)型的數(shù)組,可以通過(guò)四種表達(dá)式設(shè)置請(qǐng)求頭信息和請(qǐng)求映射的匹配關(guān)系

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

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

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

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

若當(dāng)前請(qǐng)求滿足@RequestMapping注解的value和method屬性,但是不滿足headers屬性,此時(shí)頁(yè)面顯示404錯(cuò)誤,即資源未找到

7、SpringMVC支持ant風(fēng)格的路徑

?:表示任意的單個(gè)字符

*:表示任意的0個(gè)或多個(gè)字符

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

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

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

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

原始方式:/deleteUser?id=1

rest方式:/deleteUser/1

SpringMVC路徑中的占位符常用于RESTful風(fēng)格中,當(dāng)請(qǐng)求路徑中將某些數(shù)據(jù)通過(guò)路徑的方式傳輸?shù)椒?wù)器中,就可以在相應(yīng)的@RequestMapping注解的value屬性中通過(guò)占位符{xxx}表示傳輸?shù)臄?shù)據(jù),在通過(guò)@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

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

相關(guān)文章

  • Java匹配正則表達(dá)式匯總

    Java匹配正則表達(dá)式匯總

    java匹配字符串表達(dá)式在我們數(shù)據(jù)處理方面是及其重要的,現(xiàn)在就把我這幾天數(shù)據(jù)處理比較常用的向大家介紹一下,常規(guī)的一些匹配方式就不介紹了,我們來(lái)學(xué)習(xí)一些特殊的,感興趣的朋友跟隨小編一起看看吧
    2023-03-03
  • nacos注冊(cè)中心單節(jié)點(diǎn)ap架構(gòu)源碼解析(最新推薦)

    nacos注冊(cè)中心單節(jié)點(diǎn)ap架構(gòu)源碼解析(最新推薦)

    這篇文章主要介紹了nacos注冊(cè)中心單節(jié)點(diǎn)ap架構(gòu)源碼解析,本文通過(guò)示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-01-01
  • Java多線程實(shí)現(xiàn)聊天客戶端和服務(wù)器

    Java多線程實(shí)現(xiàn)聊天客戶端和服務(wù)器

    這篇文章主要為大家詳細(xì)介紹了Java多線程聊天客戶端和服務(wù)器實(shí)現(xiàn)代碼,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-10-10
  • Java讀文件修改默認(rèn)換行符的實(shí)現(xiàn)

    Java讀文件修改默認(rèn)換行符的實(shí)現(xiàn)

    這篇文章主要介紹了Java讀文件修改默認(rèn)換行符的實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-12-12
  • MyBatis  Properties及別名定義實(shí)例詳解

    MyBatis Properties及別名定義實(shí)例詳解

    這篇文章主要介紹了MyBatis Properties及別名定義實(shí)例詳解,需要的朋友可以參考下
    2017-08-08
  • 基于String實(shí)現(xiàn)同步鎖的方法步驟

    基于String實(shí)現(xiàn)同步鎖的方法步驟

    這篇文章主要給大家介紹了關(guān)于基于String實(shí)現(xiàn)同步鎖的方法步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用String具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-09-09
  • java內(nèi)存分布實(shí)現(xiàn)代碼

    java內(nèi)存分布實(shí)現(xiàn)代碼

    這篇文章主要介紹了淺談Java內(nèi)存區(qū)域劃分和內(nèi)存分配策略,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-07-07
  • Jmeter生成UUID作為唯一標(biāo)識(shí)符過(guò)程圖解

    Jmeter生成UUID作為唯一標(biāo)識(shí)符過(guò)程圖解

    這篇文章主要介紹了Jmeter生成UUID作為唯一標(biāo)識(shí)符過(guò)程圖解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-08-08
  • SpringBoot如何使用自定義注解實(shí)現(xiàn)接口限流

    SpringBoot如何使用自定義注解實(shí)現(xiàn)接口限流

    這篇文章主要介紹了SpringBoot如何使用自定義注解實(shí)現(xiàn)接口限流,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-06-06
  • MyEclipse整合ssh三大框架環(huán)境搭載用戶注冊(cè)源碼下載

    MyEclipse整合ssh三大框架環(huán)境搭載用戶注冊(cè)源碼下載

    這篇文章主要為大家詳細(xì)介紹了如何使用MyEclipse整合ssh三大框架進(jìn)行環(huán)境搭載,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-10-10

最新評(píng)論