03.RequestMapping注解

RequestMapping注解

一、使用方式以及介紹

1). 源碼

@Target({ElementType.METHOD, ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Mapping
public @interface RequestMapping {
    ...屬性...
}

2). 作用

用于建立請(qǐng)求URL和處理請(qǐng)求方法之間的對(duì)應(yīng)關(guān)系。

3). 標(biāo)注的位置以及意義

1.標(biāo)注在類(lèi)上

請(qǐng)求URL的一級(jí)訪(fǎng)問(wèn)目錄。此處不寫(xiě)的話(huà),就相當(dāng)于應(yīng)用的根目錄。寫(xiě)的話(huà)需要以 /開(kāi)頭;它出現(xiàn)的目的是為了使我們的URL可以按照模塊化管理。

  1. 比如:用戶(hù)模塊
    • /user/login
    • /user/unlogin
    • /user/register

2. 標(biāo)注在方法上

請(qǐng)求URL的第二級(jí)訪(fǎng)問(wèn)目錄

4). 屬性詳解

以下四個(gè)屬性的關(guān)系為 與&&

  1. value: 用于指定請(qǐng)求的URL。和path屬性一樣
  2. method: 用于指定請(qǐng)求的方式:post/get
  3. params: 用于指定限制請(qǐng)求參數(shù)的條件。支持簡(jiǎn)單的表達(dá)式。要求請(qǐng)求參數(shù)的key和value必須和配置的一模一樣。如下
/*
params = {"username"} 請(qǐng)求參數(shù)必須有username
params = {"money!=100"} 請(qǐng)求參數(shù)中的money不能為100
*/

  1. headers: 用于指定限制請(qǐng)求消息頭的條件。

headers = {"token"}表示請(qǐng)求頭里面必須要有token屬性

二、使用案例

1). 【標(biāo)記位置】+【method屬性】+【params屬性】

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;

/** 控制器 */
@Controller
@RequestMapping(path = "/user", params = {"username"})
public class HelloController {

    @RequestMapping(path = "/login", method = RequestMethod.GET)
    public String loginOne() {
        System.out.println("login One");
        return "success";
    }

    @RequestMapping(path = "/login", method = RequestMethod.POST, params = {"password!=123"})
    public String loginTwo() {
        System.out.println("login two");
        return "success";
    }
}

index.jsp中的核心代碼

<h3>入門(mén)案例</h3>
<a href="user/login?username=lc">登錄1</a> <br>
<%-- 當(dāng)我們使用此種方式配置時(shí),不要在訪(fǎng)問(wèn)URL前面加/,否則無(wú)法找到資源 --%>

<form action="${pageContext.request.contextPath}/user/login" method="post">
    <input type="text" name="username" value="lc">
    <input type="password" name="password">
    <input type="submit" value="登錄2">
</form>
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容