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

Java SpringMVC的@RequestMapping注解使用及說(shuō)明

 更新時(shí)間:2024年04月30日 09:56:19   作者:鴨鴨老板  
這篇文章主要介紹了Java SpringMVC的@RequestMapping注解使用及說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

一、@RequestMapping注解功能

@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)求。

原因就是這個(gè)映射關(guān)系是唯一的,但在工程中這個(gè)是重復(fù)的。

二、@RequestMapping注解位置

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

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

@Controller
//標(biāo)識(shí)在類(lèi)上主要用于模塊間的控制
@RequestMapping("/hello")
public class TestController01 {
    @RequestMapping("/success")
    public String success(){
        return "success";
    }
 }

index.html頁(yè)面

<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<h1>首頁(yè)</h1>
<a th:href="@{/hello/success}">訪(fǎng)問(wèn)success頁(yè)面</a>
</body>
</html>

三、@RequestMapping注解的value屬性

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

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

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

測(cè)試代碼:

@Controller
public class TestController01 {
    @RequestMapping(value = {"hello","test"})
    public String success(){
        return "success";
    }
 }
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<h1>首頁(yè)</h1>
<a th:href="@{/hello}">訪(fǎng)問(wèn)success頁(yè)面</a><br>
<a th:href="@{/test}">訪(fǎng)問(wèn)success頁(yè)面</a>
</body>
</html>

四、@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)求地址滿(mǎn)足請(qǐng)求映射的value屬性,但是請(qǐng)求方式不滿(mǎn)足method屬性,則瀏覽器報(bào)405;

在默認(rèn)請(qǐng)求方式下的post,get都能請(qǐng)求成功

controller層代碼不變。

<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<h1>首頁(yè)</h1>
<form th:action="@{/hello}" method="post">
    <input type="submit" value="在默認(rèn)方式下測(cè)試post">
</form>
<form th:action="@{/test}" method="get">
    <input type="submit" value="在默認(rèn)方式下測(cè)試get">
</form>
</body>
</html>

指定使用get請(qǐng)求:

@Controller
public class TestController01 {
    @RequestMapping(value = {"hello","test"},
                    method = {RequestMethod.GET})
    public String success(){
        return "success";
    }
 }

當(dāng)訪(fǎng)問(wèn)post請(qǐng)求時(shí)報(bào)錯(cuò)

根據(jù)需要可以設(shè)置多種請(qǐng)求方式 

1、對(duì)于處理指定請(qǐng)求方式的控制器方法,SpringMVC中提供了@RequestMapping的派生注解

處理get請(qǐng)求的映射使用GetMapping,處理post請(qǐng)求的映射使用PostMapping,處理put請(qǐng)求的映射使用PutMapping,處理delete請(qǐng)求的映射使用DeleteMapping。

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

2、常用的請(qǐng)求方式有g(shù)et,post,put,delete

目前瀏覽器只支持get和post請(qǐng)求,若from表單在提交時(shí),使用method設(shè)置其他請(qǐng)求方式,則都按默認(rèn)請(qǐng)求方式get處理。

若要發(fā)送put和delete請(qǐng)求,則需要通過(guò)Spring提供的過(guò)濾器HiddenHttpMethodFilter。

 五、@RequestMapping注解的params屬性

@RequestMapping注解的params屬性通過(guò)請(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 = "/test2",
                    params = {"name=張三","password=123456"})
    public String success(){
        return "success";
    }
<a th:href="@{/test2(name='張三',password=123456)}">攜帶params訪(fǎng)問(wèn)success頁(yè)面</a>

當(dāng)傳入?yún)?shù)匹配不上時(shí)就會(huì)報(bào)瀏覽器400錯(cuò)誤:

六、@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”:要求請(qǐng)求映射所匹配的請(qǐng)求必須攜帶header請(qǐng)求頭信息且header=value。
  • “header”:要求請(qǐng)求映射所匹配的請(qǐng)求必須攜帶header請(qǐng)求頭信息且header!=value。

若當(dāng)前請(qǐng)求未滿(mǎn)足@RequestMapping注解的value和method屬性,但是不滿(mǎn)足headers屬性,頁(yè)面顯示404錯(cuò)誤。

    @RequestMapping(value = "/test2",
                    params = {"name=張三","password=123456"},
                    headers = {"Host=localhost:8081"})
    public String success(){
        return "success";
    }
<a th:href="@{/test2(name='張三',password=123456)}">攜帶params訪(fǎng)問(wèn)success頁(yè)面</a>

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • java如何實(shí)現(xiàn)數(shù)位分離

    java如何實(shí)現(xiàn)數(shù)位分離

    這篇文章主要介紹了java如何實(shí)現(xiàn)數(shù)位分離,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-01-01
  • Java 創(chuàng)建線(xiàn)程的兩個(gè)方法詳解及實(shí)例

    Java 創(chuàng)建線(xiàn)程的兩個(gè)方法詳解及實(shí)例

    這篇文章主要介紹了Java 創(chuàng)建線(xiàn)程的兩個(gè)方法詳解及實(shí)例的相關(guān)資料,需要的朋友可以參考下
    2017-03-03
  • 基于maven的springboot的"過(guò)時(shí)"用法解析

    基于maven的springboot的"過(guò)時(shí)"用法解析

    這篇文章主要為大家介紹了基于maven的springboot"過(guò)時(shí)"用法示例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-09-09
  • Java編程基礎(chǔ)測(cè)試題分享

    Java編程基礎(chǔ)測(cè)試題分享

    這篇文章主要介紹了Java編程基礎(chǔ)測(cè)試題分享,具有一定參考價(jià)值,需要的朋友可以了解下。
    2017-10-10
  • Java自定義Enum的實(shí)現(xiàn)示例

    Java自定義Enum的實(shí)現(xiàn)示例

    Java中的自定義Enum類(lèi)型是一種特殊的類(lèi),用于表示固定數(shù)量的常量值,本文主要介紹了Java自定義Enum的實(shí)現(xiàn)示例,具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-12-12
  • 使用Idea簡(jiǎn)單快速搭建springcloud項(xiàng)目的圖文教程

    使用Idea簡(jiǎn)單快速搭建springcloud項(xiàng)目的圖文教程

    這篇文章主要介紹了使用Idea簡(jiǎn)單快速搭建springcloud項(xiàng)目,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-01-01
  • 在Java編程中定義方法

    在Java編程中定義方法

    這篇文章主要介紹了在Java編程中定義方法,是Java入門(mén)學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下
    2015-10-10
  • Spring?boot數(shù)據(jù)庫(kù)依賴(lài)詳解

    Spring?boot數(shù)據(jù)庫(kù)依賴(lài)詳解

    這篇文章主要介紹了Spring?boot數(shù)據(jù)庫(kù)依賴(lài),需要的朋友可以參考下
    2023-09-09
  • Java使用jdbc連接MySQL數(shù)據(jù)庫(kù)實(shí)例分析

    Java使用jdbc連接MySQL數(shù)據(jù)庫(kù)實(shí)例分析

    這篇文章主要介紹了Java使用jdbc連接MySQL數(shù)據(jù)庫(kù),結(jié)合實(shí)例形式分析了Java基于jdbc鏈接mysql的相關(guān)配置及工具類(lèi)的定義相關(guān)操作技巧,需要的朋友可以參考下
    2018-07-07
  • Java中集合遍歷的方法示例代碼展示

    Java中集合遍歷的方法示例代碼展示

    在 Java 編程中,集合(Collection)是用于存儲(chǔ)和操作一組對(duì)象的重要工具,無(wú)論是數(shù)組、列表(List)、集合(Set),還是映射(Map),它們都提供了在不同場(chǎng)景下靈活使用的數(shù)據(jù)結(jié)構(gòu),這篇文章主要介紹了Java中集合遍歷的方法示例代碼展示,需要的朋友可以參考下
    2024-08-08

最新評(píng)論

蓬莱市| 河曲县| 广元市| 双牌县| 酒泉市| 漳浦县| 禄劝| 沈丘县| 福州市| 兰州市| 资阳市| 法库县| 建始县| 疏附县| 清流县| 砚山县| 沂南县| 兴业县| 花莲市| 土默特左旗| 论坛| 太仆寺旗| 甘泉县| 二手房| 三都| 黎川县| 庆元县| 三门县| 舟山市| 满城县| 博客| 安达市| 乳源| 稻城县| 庐江县| 唐海县| 越西县| 东乡| 梨树县| 营山县| 靖远县|