SpringMVC-@RequestMapping相關屬性
1.value屬性
2.method屬性
3.params屬性
4.headers屬性
5.ant風格地址
代碼示例:
jsp界面:
<%--value屬性--%>
<a href="${pageContext.request.contextPath}/testrequestmapping1">請求方式1</a><br>
<a href="${pageContext.request.contextPath}/testrequestmapping2">請求方式2</a>
<br>
<hr>
<%--method屬性--%>
<form action="${pageContext.request.contextPath}/testMethod" method="post">
<input type="submit" value="測試method">
</form>
<br>
<hr>
<%--param屬性--%>
<a href="${pageContext.request.contextPath}/testParams?name=helong&age=10">請求方式3</a>
<br>
<hr>
<%--headers屬性--%>
<a href="${pageContext.request.contextPath}/testheader">請求方式4</a>
<br>
<hr>
<%--ant地址風格--%>
<a href="${pageContext.request.contextPath}/testant/a">請求方式ant</a>
<br>
<hr>
前端控制器(Controller):
/*value屬性
* 實現多個請求訪問一個方法裏面
* 如果只有一個請求方法時,可以省略大括號
* */
@RequestMapping(value={"testrequestmapping1","testrequestmapping2"})
public String textrequest(){
System.out.println("value屬性");
return "/second.action";
}
/*method屬性
* 用來設置映射的請求方式,值是requestMethod類的數組
* 如果指定相應的請求,必須要滿足相應的請求才能訪問對應的方法
* 如果沒有設置method屬性,默認都可以訪問
* 如果只有一個請求方法時,可以省略大括號
* */
@RequestMapping(value = {"testMethod"},method ={RequestMethod.GET,RequestMethod.POST} )
public String testMethod(){
System.out.println("testMethod");
return "/second.jsp";
}
/*param屬性
* 必須設置對應的請求參數和請求值才能訪問到對應的內容
* */
@RequestMapping(value="testParams",params = {"name=helong","age=10"})
public String testParams(){
System.out.println("testParams");
return "/second.jsp";
}
/*headers屬性
* 發送的請求頭必須要與設置的請求相同時,才能夠訪問到對應的方法
* Host=localhost:8080,Host代表發送的地址
* Referer=http://localhost:8080/requestmapping.jsp代表發送請求的界面
* */
@RequestMapping(value = "testheader",method={RequestMethod.GET},
headers = {
"Host=localhost:8080",
"Referer=http://localhost:8080/requestmapping.jsp"
}
)
public String testHeaders(){
System.out.println("testHeaders");
return "/second.jsp";
}
/*地址統配符
* ‘?’:代表一個字符
* ‘??’:代表兩個字符
* ‘*’:任意字符
* ‘**’:任意多級
* */
@RequestMapping("testant/?")
public String testAnt(){
System.out.println("testAnt");
return "/second.jsp";
}