国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

詳解 SpringMVC 的 @RequestMapping 注解

這篇具有很好參考價(jià)值的文章主要介紹了詳解 SpringMVC 的 @RequestMapping 注解。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。




詳解 SpringMVC 的 @RequestMapping 注解,Spring 家族,spring,springMVC,RequestMapping

詳解 SpringMVC 的 @RequestMapping 注解,Spring 家族,spring,springMVC,RequestMapping


@RequestMapping是一個(gè)用于映射HTTP請(qǐng)求到處理方法的注解,在Spring框架中使用。它可以用于控制器類(lèi)和處理方法上,用來(lái)指定處理不同URL路徑的請(qǐng)求,并定義請(qǐng)求的方法(GET、POST等)、請(qǐng)求參數(shù)、請(qǐng)求頭等。

@RequestMapping注解的常用屬性包括

  • value:用于指定URL路徑,可以是單個(gè)路徑字符串,或者是路徑字符串?dāng)?shù)組。

  • method:用于指定請(qǐng)求方法,可以是RequestMethod枚舉值,或者是RequestMethod數(shù)組。

  • params:用于指定請(qǐng)求的參數(shù)條件,可以是參數(shù)名或參數(shù)名值對(duì)的字符串?dāng)?shù)組。

  • headers:用于指定請(qǐng)求頭條件,可以是請(qǐng)求頭的名稱(chēng)和值的字符串?dāng)?shù)組。

    @Controller
    @RequestMapping("/user")
    public class UserController {
    
        @RequestMapping(value = "/login", method = RequestMethod.POST)
        public String login(@RequestParam("username") String username, @RequestParam("password") String password) {
            // 處理登錄請(qǐng)求
            return "success";
        }
    
        @RequestMapping(value = "/profile", method = RequestMethod.GET, params = "user=123")
        public String userProfile() {
            // 返回用戶(hù)資料頁(yè)面
            return "profile";
        }
    }
    

上述示例中,@RequestMapping用于控制器類(lèi)上表示該類(lèi)處理以"/user"開(kāi)頭的所有請(qǐng)求。@RequestMapping用于處理方法上,其中value=“/login"表示處理”/user/login"路徑的POST請(qǐng)求,method=RequestMethod.POST表示只處理POST請(qǐng)求方法。@RequestParam注解用于獲取請(qǐng)求參數(shù)。

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)求映射

<a th:href="@{/testRequestMapping}">
  測(cè)試@RequestMapping的value屬性-->/testRequestMapping
</a><br>
<a th:href="@{/test}">
  測(cè)試@RequestMapping的value屬性-->/test
</a><br>
@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)求地址滿(mǎn)足請(qǐng)求映射的value屬性,但是請(qǐng)求方式不滿(mǎn)足method屬性,則瀏覽器報(bào)錯(cuò)405:Request method ‘POST’ not supported

<a th:href="@{/test}">測(cè)試@RequestMapping的value屬性-->/test</a><br>
<form th:action="@{/test}" method="post">
    <input type="submit">
</form>
@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,在RESTful部分會(huì)講到

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

<a th:href="@{/test(username='admin',password=123456)">
  測(cè)試@RequestMapping的params屬性-->/test
</a><br>
@RequestMapping(
        value = {"/testRequestMapping", "/test"}
        ,method = {RequestMethod.GET, RequestMethod.POST}
        ,params = {"username","password!=123456"}
)
public String testRequestMapping(){
    return "success";
}

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

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

?:表示任意的單個(gè)字符
*:表示任意的0個(gè)或多個(gè)字符
:表示任意的一層或多層目錄
注意:在使用
時(shí),只能使用/**/xxx的方式

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ù)賦值給控制器方法的形參

<a th:href="@{/testRest/1/admin}">測(cè)試路徑中的占位符-->/testRest</a><br>
@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 注解,Spring 家族,spring,springMVC,RequestMapping文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-676830.html

到了這里,關(guān)于詳解 SpringMVC 的 @RequestMapping 注解的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶(hù)投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • SpringMVC中@RequestMapping注解的詳細(xì)說(shuō)明

    @RequestMapping 是Spring MVC中一個(gè)用于映射HTTP請(qǐng)求和控制器方法之間關(guān)系的注解。它用于定義控制器方法如何響應(yīng)特定的HTTP請(qǐng)求,包括GET、POST、PUT、DELETE等。以下是 @RequestMapping 注解的詳細(xì)說(shuō)明: 基本用法: @RequestMapping 用于注解一個(gè)控制器方法,指定該方法應(yīng)該處理的請(qǐng)求路徑

    2024年02月07日
    瀏覽(16)
  • Spring 注解 和SpringMVC注解

    Spring和Spring MVC是兩個(gè)緊密相關(guān)但又不同的框架,它們都使用一系列注解來(lái)簡(jiǎn)化開(kāi)發(fā)。以下是Spring和Spring MVC中一些常用的注解: ### Spring 注解: 1. **`@Component`:** ? ?- 用于將類(lèi)標(biāo)記為Spring容器中的組件,由Spring自動(dòng)掃描并進(jìn)行管理。 ? ?- 具體的派生注解有`@Service`、`@Reposit

    2024年01月23日
    瀏覽(24)
  • Spring框架常見(jiàn)注解(Spring、Springboot、Springmvc)

    注解 說(shuō)明 @Component、@Controller、@Service、@Repository 使用在類(lèi)上用于實(shí)例化Bean @Autowired 使用在字段上用于根據(jù)類(lèi)型依賴(lài)注入 @Qualifier 結(jié)合@Autowired一起使用用于根據(jù)名稱(chēng)進(jìn)行依賴(lài)注入 @Scope 標(biāo)注Bean的作用范圍 @Configuration 指定當(dāng)前類(lèi)是一個(gè)?Spring?配置類(lèi),當(dāng)創(chuàng)建容器時(shí)會(huì)從該類(lèi)上

    2024年02月15日
    瀏覽(31)
  • Spring MVC-@RequestMapping注解詳解

    目錄 1、@RequestMapping注解的作用 2、@RequestMapping注解的位置 3、value屬性 (1)基礎(chǔ)用法 (3)路徑中的占位符(重點(diǎn)) 4、method屬性 5、params屬性(了解) 6、headers屬性(了解) @RequestMapping注解的作用,就是 將請(qǐng)求和處理請(qǐng)求的控制器方法關(guān)聯(lián)起來(lái) ,建立映射關(guān)系。 SpringMVC接

    2023年04月24日
    瀏覽(14)
  • spring-mvc系列:詳解@RequestMapping注解(value、method、params、header等)

    spring-mvc系列:詳解@RequestMapping注解(value、method、params、header等)

    目錄 一、@RequestMapping注解的功能 二、@RequestMapping注解的位置 三、@RequestMapping注解的value屬性 四、@RequestMapping注解的method屬性 五、@RequestMapping注解的params屬性 六、@RequestMapping注解的header屬性 七、SpringMVC支持ant分格的路徑 八、SpringMVC支持路徑中的占位符 從注解名稱(chēng)上我們可

    2024年02月14日
    瀏覽(20)
  • 【Spring教程28】Spring框架實(shí)戰(zhàn):從零開(kāi)始學(xué)習(xí)SpringMVC 之 請(qǐng)求與請(qǐng)求參數(shù)詳解

    【Spring教程28】Spring框架實(shí)戰(zhàn):從零開(kāi)始學(xué)習(xí)SpringMVC 之 請(qǐng)求與請(qǐng)求參數(shù)詳解

    歡迎大家回到《Java教程之Spring30天快速入門(mén)》,本教程所有示例均基于Maven實(shí)現(xiàn),如果您對(duì)Maven還很陌生,請(qǐng)移步本人的博文《如何在windows11下安裝Maven并配置以及 IDEA配置Maven環(huán)境》,本文的上一篇為《PostMan工具的安裝與使用技巧》 前面我們已經(jīng)完成了入門(mén)案例相關(guān)的知識(shí)學(xué)

    2024年02月03日
    瀏覽(29)
  • Spring MVC 的RequestMapping注解

    Spring MVC 的RequestMapping注解

    作用:用于建立請(qǐng)求URL和處理請(qǐng)求方法之間的對(duì)應(yīng)關(guān)系。 出現(xiàn)位置: 類(lèi)上: 請(qǐng)求 URL的第一級(jí)訪問(wèn)目錄。此處不寫(xiě)的話,就相當(dāng)于應(yīng)用的根目錄。寫(xiě)的話需要以/開(kāi)頭。它出現(xiàn)的目的是為了使我們的 URL 可以按照模塊化管理,例如: 賬戶(hù)模塊: /account /add /account /update /account

    2024年02月02日
    瀏覽(17)
  • SpringMVC-2-Spring MVC攔截器詳解:從入門(mén)到精通

    SpringMVC-2-Spring MVC攔截器詳解:從入門(mén)到精通

    能夠編寫(xiě)攔截器并配置攔截器 1.1 攔截器概念和作用 攔截器(Interceptor)是一種動(dòng)態(tài)攔截方法調(diào)用的機(jī)制,在SpringMVC中動(dòng)態(tài)攔截控制器方法的執(zhí)行 作用: 在指定的方法調(diào)用前后執(zhí)行預(yù)先設(shè)定的代碼 阻止原始方法的執(zhí)行 總結(jié):增強(qiáng) 核心原理:AOP思想 1.2 攔截器和過(guò)濾器的區(qū)別

    2024年02月12日
    瀏覽(33)
  • Spring MVC學(xué)習(xí)之——RequestMapping注解

    Spring MVC學(xué)習(xí)之——RequestMapping注解

    用于建立請(qǐng)求URL和處理請(qǐng)求方法之間的對(duì)應(yīng)關(guān)系。 value:指定請(qǐng)求的實(shí)際地址,可以是一個(gè)字符串或者一個(gè)字符串列表。 value可以不寫(xiě),直接在括號(hào)中寫(xiě),默認(rèn)就是value值 @RequestMapping(value=“/hello”) public String hello(){ return…} method:指定請(qǐng)求的方式,可以是GET、POST、PUT、DELE

    2024年01月18日
    瀏覽(18)
  • 【Spring教程29】Spring框架實(shí)戰(zhàn):從零開(kāi)始學(xué)習(xí)SpringMVC 之 服務(wù)器響應(yīng)知識(shí)全面詳解

    【Spring教程29】Spring框架實(shí)戰(zhàn):從零開(kāi)始學(xué)習(xí)SpringMVC 之 服務(wù)器響應(yīng)知識(shí)全面詳解

    歡迎大家回到《Java教程之Spring30天快速入門(mén)》,本教程所有示例均基于Maven實(shí)現(xiàn),如果您對(duì)Maven還很陌生,請(qǐng)移步本人的博文《如何在windows11下安裝Maven并配置以及 IDEA配置Maven環(huán)境》,本文的上一篇為《SpringMVC 之 請(qǐng)求與請(qǐng)求參數(shù)詳解》 上一節(jié)我們說(shuō)了SpringMvc請(qǐng)求知識(shí),這一節(jié)

    2024年02月03日
    瀏覽(32)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包