SpringMVC中 @RequestMapping 的多種屬性
阿新 • • 發佈:2018-12-29
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]地址萬用字元寫法
?表示一個字元
??表示兩個字元
*表示多個字元
**表示多重路徑