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

SpringMVC?@RequestMapping注解屬性詳細(xì)介紹

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

@RequestMapping注解的功能

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

SpringMVC接收到指定的請求,就會來找到在映射關(guān)系中對應(yīng)的控制器方法來處理這個請求

@RequestMapping注解的位置

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

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

@RequestMapping注解的value屬性

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

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

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

代碼展示

	@RequestMapping(value = "/target")
    public String toTarget(){
        return "target";
    }

或者value也可以是:

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

運行結(jié)果:

@RequestMapping注解的method屬性

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

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

3.若當(dāng)前請求的請求地址滿足請求映射的value屬性,但是請求方式不滿足method屬性,則瀏覽器報錯405:Request method "POST’ not supported 注:

1.對于處理指定請求方式的控制器方法,SpringMVC中提供了@RequestMapping的派生注解

處理get請求的映射–>GetMapping
處理post請求的映射–>PostMapping
處理put請求的映射–>PutMapping
處理delete請求的映射–>DeleteMapping

2.常用的請求方式有g(shù)et,post,put,delete

但是目前瀏覽器只支持get和post,若在form表單提交時,為method設(shè)置了其他請求方式的字符串(put或delete),則按照默認(rèn)的請求方式get處理
若要發(fā)送put和delete請求,則需要通過spring提供的過濾器HiddenHttpMethodFilter,在restful部分會講到

默認(rèn)提交是get提交,假如我們發(fā)出一個post請求,會有什么反映

Controller:

 	@GetMapping("/testGetMapping")
    public String testGetMapping(){
        return "success";
    }

html:

<form th:action="@{/testGetMapping}" method="post">
    <input type="submit" value="測試RequestMapping注解的method屬性-->POST">
</form>

運行結(jié)果

解決辦法:

將頁面的post請求變?yōu)間et請求

或者

給Controller程序里的的@RequestMapping中method屬性賦值

get和post的區(qū)別

get請求是將參數(shù)的值以這種

形式來請求指定的頁面信息,并返回實體主體,一般用于查詢操作

POST 向指定資源提交數(shù)據(jù)進(jìn)行處理請求(例如提交表單或者上傳文件)。 POST請求可能會導(dǎo)致新的資源的建立和/或已有資源的修改。

一般用于增刪改操作

@RequestMapping注解的params屬性

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

@RequestMapping注解的params屬性通過請求的請求參數(shù)匹配請求映射
@RequestMapping注解的params屬性是一個字符串類型的數(shù)組,可以通過四種表達(dá)式設(shè)置請求參數(shù)和請求映射的匹配關(guān)系
“param”:要求請求映射所匹配的請求必須攜帶param請求參數(shù)"lparam":要求請求映射所匹配的請求必須不能攜帶param請求參數(shù)
“param=value”:要求請求映射所匹配的請求必須攜帶param請求參數(shù)且param=value
“param!=value”:要求請求映射所匹配的請求必須攜帶param請求參數(shù)但是param!=value

代碼樣例: 

html:

<a th:href="@{/testParamsAndHeaders(username='admin',password=123)}" rel="external nofollow"  rel="external nofollow" >測試RequestMapping注解的param屬性-->/testParamsAndHeaders</a>

Controller:

    @RequestMapping(
            value = "/testParamsAndHeaders",
            params = {"username","password!=123456"}
    )
    public String testParamsAndHeaders(){
        return "success";
    }

運行結(jié)果:

若不滿足條件:

偏偏要將該密碼改為123456

@RequestMapping注解的headers屬性

什么是headers屬性

這些屬性全部可以當(dāng)作head屬性來使用

@RequestMapping注解的headers屬性通過請求的請求頭信息匹配請求映射
@RequestMapping注解的headers屬性是一個字符串類型的數(shù)組,可以通過四種表達(dá)式設(shè)置請求頭信息和請求映射的匹配關(guān)系
“header”:要求請求映射所匹配的請求必須攜帶header請求頭信息
“!header”:要求請求映射所匹配的請求必須不能攜帶header請求頭信息
“header=value”:要求請求映射所匹配的請求必須攜帶header請求頭信息且header=value
“header!=value”:要求請求映射所匹配的請求必須攜帶header請求頭信息且header!=value
若當(dāng)前請求滿足@RequestMapping注解的value和method屬性,但是不滿足headers屬性,此時頁面顯示404錯誤,即資源未找到

代碼測試:

Controller:

    @RequestMapping(
            value = "/testParamsAndHeaders",
            params = {"username","password!=123456"},
            headers = {"Host=localhost:8084"}
    )
    public String testParamsAndHeaders(){
        return "success";
    }

Html:

<a th:href="@{/testParamsAndHeaders(username='admin',password=123)}" rel="external nofollow"  rel="external nofollow" >測試RequestMapping注解的head屬性-->/testParamsAndHeaders</a>

運行結(jié)果:

404 --> value出錯或者h(yuǎn)ead出錯

400 --> param出錯

405 --> method請求方式出錯

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

相關(guān)文章

  • 詳解使用批處理方式配置Java環(huán)境

    詳解使用批處理方式配置Java環(huán)境

    這篇文章主要介紹了詳解使用批處理方式配置Java環(huán)境,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-09-09
  • 劍指Offer之Java算法習(xí)題精講數(shù)組與字符和等差數(shù)列

    劍指Offer之Java算法習(xí)題精講數(shù)組與字符和等差數(shù)列

    跟著思路走,之后從簡單題入手,反復(fù)去看,做過之后可能會忘記,之后再做一次,記不住就反復(fù)做,反復(fù)尋求思路和規(guī)律,慢慢積累就會發(fā)現(xiàn)質(zhì)的變化
    2022-03-03
  • 創(chuàng)建動態(tài)代理對象bean,并動態(tài)注入到spring容器中的操作

    創(chuàng)建動態(tài)代理對象bean,并動態(tài)注入到spring容器中的操作

    這篇文章主要介紹了創(chuàng)建動態(tài)代理對象bean,并動態(tài)注入到spring容器中的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-02-02
  • Maven打包jar生成javadoc文件和source文件代碼實例

    Maven打包jar生成javadoc文件和source文件代碼實例

    這篇文章主要介紹了Maven打包jar生成javadoc文件和source文件代碼實例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-11-11
  • Java輕松實現(xiàn)權(quán)限認(rèn)證管理的示例代碼

    Java輕松實現(xiàn)權(quán)限認(rèn)證管理的示例代碼

    我們在實際開發(fā)中經(jīng)常會進(jìn)行權(quán)限認(rèn)證管理,給不同的人加上對應(yīng)的角色和權(quán)限,本文將實現(xiàn)一個簡易的權(quán)限驗證管理系統(tǒng),感興趣的小伙伴可以了解下
    2023-12-12
  • Spring注解 TX聲明式事務(wù)實現(xiàn)過程解析

    Spring注解 TX聲明式事務(wù)實現(xiàn)過程解析

    這篇文章主要介紹了Spring注解 - TX 聲明式事務(wù)實現(xiàn)過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-04-04
  • Eclipse中配置Maven build打包的方法步驟

    Eclipse中配置Maven build打包的方法步驟

    這篇文章主要介紹了Eclipse中配置Maven build打包的方法步驟,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • springboot logback如何從apollo配置中心讀取變量

    springboot logback如何從apollo配置中心讀取變量

    這篇文章主要介紹了springboot logback如何從apollo配置中心讀取變量的操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-08-08
  • MybatisPlus開啟、關(guān)閉二級緩存方法

    MybatisPlus開啟、關(guān)閉二級緩存方法

    本文主要介紹了MybatisPlus開啟、關(guān)閉二級緩存方法,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • Java實現(xiàn)讀取超過內(nèi)存大小的文件

    Java實現(xiàn)讀取超過內(nèi)存大小的文件

    在一些場景下,我們需要處理的文件可能比我們機(jī)器所擁有的內(nèi)存要大,如果遇到這種情況該如何解決呢,本文就來和大家講講如何使用Java實現(xiàn)讀取超過內(nèi)存大小的文件吧
    2024-03-03

最新評論

四子王旗| 柞水县| 镇坪县| 宜宾市| 扎囊县| 特克斯县| 石林| 镇原县| 遂平县| 高安市| 镇江市| 通江县| 万年县| 龙陵县| 山西省| 荣昌县| 沙雅县| 温泉县| 常山县| 盐池县| 图片| 南乐县| 长垣县| 晴隆县| 宜君县| 台南市| 罗平县| 仙居县| 泰安市| 武邑县| 开鲁县| 察哈| 巧家县| 辰溪县| 东丰县| 板桥市| 武穴市| 城市| 黔江区| 内丘县| 应城市|