溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

RequestMapping注解在SpringMVC中的作用是什么

發(fā)布時間:2021-01-25 15:47:57 來源:億速云 閱讀:178 作者:Leah 欄目:開發(fā)技術(shù)

這篇文章給大家介紹RequestMapping注解在SpringMVC中的作用是什么,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

RequestMapping注解

作用出現(xiàn)位置屬性

作用

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

出現(xiàn)位置

1.作用在類上:請求 URL 的第一級訪問目錄。此處不寫的話,就相當(dāng)于應(yīng)用的根目錄。寫的話需要以/開頭。
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>

需要注意的細(xì)節(jié):

1.細(xì)節(jié):路徑可以不編寫 / 表示應(yīng)用的根目錄開始
2.細(xì)節(jié):${ pageContext.request.contextPath }也可以省略不寫,但是路徑上不能寫 /

屬性

value: 用于指定請求的 URL。它和 path 屬性的作用是一樣的。
method: 用于指定請求的方式。
params: 用于指定限制請求參數(shù)的條件。它支持簡單的表達(dá)式。要求請求參數(shù)的 key 和 value 必須和配置的一模一樣。

例如:
params = {“username”},表示請求參數(shù)必須有 username
params = {“age!100”},表示請求參數(shù)中 age 不能是 100

headers: 用于指定限制請求消息頭的條件。

注意:以上四個屬性只要出現(xiàn) 2 個或以上時,他們的關(guān)系是與的關(guān)系。

value或path 屬性的示例

上面出現(xiàn)位置的示例就是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>

注意:當(dāng)使用 get 請求時即method="get",提示錯誤信息是 405,信息是方法不支持 get 方式請求。

RequestMapping注解在SpringMVC中的作用是什么

params 屬性的示例

控制器的部分代碼:

@RequestMapping(value="/removeAccount",params= {"accountName","money>100"})
public String removeAccount() {
	System.out.println("刪除了賬戶");
	return "success"; 
}

jsp的部分代碼:

<!-- 請求參數(shù)的示例 --> 
<a href="account/removeAccount?accountName=aaa&money>100">刪除賬戶,金額 100</a> <br/>
<a href="account/removeAccount?accountName=aaa&money>150">刪除賬戶,金額 150</a>

注意:
當(dāng)我們點擊第一個超鏈接時,可以訪問成功。
當(dāng)我們點擊第二個超鏈接時,無法訪問。如下圖:

RequestMapping注解在SpringMVC中的作用是什么

params鍵值對的情況以及headers屬性

還存在params = {"username=keafmd"}鍵值對的情況:這個示例的意思就是不光要有username的屬性還要求值為Keafmd。
同時headers屬性也就是表示必須包含相應(yīng)的請求頭才可以。
控制器的部分代碼:

@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>

關(guān)于RequestMapping注解在SpringMVC中的作用是什么就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI