1. 程式人生 > >SpringMVC中 @RequestMapping 的多種屬性

SpringMVC中 @RequestMapping 的多種屬性

1.value

用來設定請求路徑,它的值是一個字串陣列,可以設定多個路徑同時訪問對應的一個方法

示例:

<a href="${pageContext.request.contextPath}/testrequestmapping1">請求方式1</a><br/>
    <a href="${pageContext.request.contextPath}/testrequestmapping2">請求方式2</a>
@RequestMapping(value = {"/testrequestmapping1","/testrequestmapping2"})
    public String testrequest(){

        return "/second.jsp";
    }

 2.method

用來設定對映的請求方式,質是RequestMethod型別的陣列,

如果沒有寫,則沒有限制,post與get都能請求到對應方法

如果指定了請求型別,則必須得是相應的請求型別才能訪問到對應方法

示例:

<form action="${pageContext.request.contextPath}/testmethod" method="post">
    <input type="submit" value="測試">
</form>
 @RequestMapping(value = "/testmethod",method = {RequestMethod.GET})
    public String testmethod(){
        System.out.println("0.0");
        return "/second.jsp";
    }

3.params

必須設定對應的請求引數才能訪問到對應的內容

示例:

 @RequestMapping(value = "/testparams",params = {"name=aaa"})
    public String testparams(){
        System.out.println("^-^");
        return "/second.jsp";
    }
<a href="${pageContext.request.contextPath}/testparams?name=aaa">請求方式3</a><br/>

請求的到

<a href="${pageContext.request.contextPath}/testparams?name=bbb">請求方式3</a><br/>

請求不到

4.headers

設定請求頭,只要請求頭符合條件的才訪問的到

示例:

<a href="${pageContext.request.contextPath}/testheaders">請求方式4</a><br/>
 @RequestMapping(value = "/testheaders",
          headers = {"Referer=http://localhost:8080/requestmapping.jsp"}
            )
    public String testheaders(){
        System.out.println("^-^");
        return "/second.jsp";
    }

這裡設定了要訪問該方法,請求頭中的Referer必須是從requestmapping.jsp中轉發過來的,這樣可以訪問

如果在瀏覽器中直接輸入 http://localhost:8080/testheaders.action 是訪問不到的

 

[email protected]地址萬用字元寫法

?表示一個字元

??表示兩個字元

*表示多個字元

**表示多重路徑