SpringMVC中RequestMapping註解【作用、出現的位置、屬性】
技術標籤:SpringMVCspringmvcRequestMapping
RequestMapping註解
作用
用於建立請求 URL 和處理請求方法之間的對應關係。
出現位置
1.作用在類上:請求 URL 的第一級訪問目錄。此處不寫的話,就相當於應用的根目錄。寫的話需要以/開頭。
2.作用在方法上:請求 URL 的第二級訪問目錄。
控制器中部分程式碼示例:
@Controller
@RequestMapping(path = "/user") //第一級的訪問目錄
public class HelloController {
@RequestMapping (path = "/hello") //第二級的訪問目錄
public String sayHello(){
System.out.println("Hello SpringMVC");
return "success";
}
@RequestMapping(value = "/testRequestmapping") //第二級的訪問目錄
public String testRequestmapping(){
System.out.println ("測試註解");
return "success";
}
}
jsp中部分程式碼示例:
<!-- 第一種訪問方式 -->
<a href="${pageContext.request.contextPath}/user/hello">sayHello</a> <br/>
<!-- 第二種訪問方式 -->
<a href="user/testRequestmapping">測試註解</a>
需要注意的細節:
1.細節:路徑可以不編寫 / 表示應用的根目錄開始
2.細節:${ pageContext.request.contextPath }也可以省略不寫,但是路徑上不能寫 /
屬性
value: 用於指定請求的 URL。它和 path 屬性的作用是一樣的。
method: 用於指定請求的方式。
params: 用於指定限制請求引數的條件。它支援簡單的表示式。要求請求引數的 key 和 value 必須和配置的一模一樣。
例如:
params = {“username”},表示請求引數必須有 username
params = {“age!100”},表示請求引數中 age 不能是 100
headers: 用於指定限制請求訊息頭的條件。
注意:以上四個屬性只要出現 2 個或以上時,他們的關係是與的關係。
value或path 屬性的示例
上面出現位置的示例就是value或path 屬性的示例。
method 屬性的示例
控制器的部分程式碼:
@RequestMapping(value="/saveAccount",method=RequestMethod.POST)
public String saveAccount() {
System.out.println("儲存了賬戶");
return "success";
}
jsp的部分程式碼:
<!-- 請求方式的示例 -->
<a href="account/saveAccount">儲存賬戶,get 請求</a> <br/>
<form action="account/saveAccount" method="post">
<input type="submit" value="儲存賬戶,post 請求">
</form>
注意:當使用 get 請求時即
method="get"
,提示錯誤資訊是 405,資訊是方法不支援 get 方式請求。
params 屬性的示例
控制器的部分程式碼:
@RequestMapping(value="/removeAccount",params= {"accountName","money>100"})
public String removeAccount() {
System.out.println("刪除了賬戶");
return "success";
}
jsp的部分程式碼:
<!-- 請求引數的示例 -->
<a href="account/removeAccount?accountName=aaa&money>100">刪除賬戶,金額 100</a> <br/>
<a href="account/removeAccount?accountName=aaa&money>150">刪除賬戶,金額 150</a>
注意:
當我們點選第一個超連結時,可以訪問成功。
當我們點選第二個超連結時,無法訪問。如下圖:
params鍵值對的情況以及headers屬性
還存在params = {"username=keafmd"}
鍵值對的情況:這個示例的意思就是不光要有username的屬性還要求值為Keafmd。
同時headers屬性也就是表示必須包含相應的請求頭才可以。
控制器的部分程式碼:
@Controller
@RequestMapping(path = "/user")
public class HelloController {
@RequestMapping(value = "/testRequestmapping",method = {RequestMethod.GET},params = {"username=keafmd"},headers = {"Accept"})
public String testRequestmapping(){
System.out.println("測試註解");
return "success";
}
}
jsp的部分程式碼:
<a href="user/testRequestmapping?username=keafmd">RequestMapping註解</a>
這樣就是可以成功訪問的。
以上就是SpringMVC中RequestMapping註解【作用、出現的位置、屬性】全部內容。
看完如果對你有幫助,感謝點贊支援!
如果你是電腦端的話,看到右下角的 “一鍵三連” 了嗎,沒錯點它[哈哈]
加油!
共同努力!
Keafmd