SpringMVC中RequestMapping注解(作用、出現(xiàn)的位置、屬性)
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 方式請求。
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)我們點擊第二個超鏈接時,無法訪問。如下圖:
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>
這樣就是可以成功訪問的。
以上就是SpringMVC中RequestMapping注解【作用、出現(xiàn)的位置、屬性】全部內(nèi)容。
到此這篇關(guān)于SpringMVC中RequestMapping注解(作用、出現(xiàn)的位置、屬性)的文章就介紹到這了,更多相關(guān)SpringMVC中RequestMapping注解內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
詳解Java實現(xiàn)數(shù)據(jù)結(jié)構(gòu)之并查集
并查集這種數(shù)據(jù)結(jié)構(gòu),可能出現(xiàn)的頻率不是那么高,但是還會經(jīng)常性的見到,其理解學(xué)習(xí)起來非常容易,通過本文,一定能夠輕輕松松搞定并查集2021-06-06詳解Spring Boot使用系統(tǒng)參數(shù)表提升系統(tǒng)的靈活性
Spring Boot項目中常有一些相對穩(wěn)定的參數(shù)設(shè)置項,其作用范圍是系統(tǒng)級的或模塊級的,這些參數(shù)稱為系統(tǒng)參數(shù)。這些變量以參數(shù)形式進(jìn)行配置,從而提高變動和擴(kuò)展的靈活性,保持代碼的穩(wěn)定性2021-06-06使用Java自定義注解實現(xiàn)一個簡單的令牌桶限流器
限流是在分布式系統(tǒng)中常用的一種策略,它可以有效地控制系統(tǒng)的訪問流量,保證系統(tǒng)的穩(wěn)定性和可靠性,在本文中,我將介紹如何使用Java自定義注解來實現(xiàn)一個簡單的令牌桶限流器,需要的朋友可以參考下2023-10-10spring?data?jpa如何使用自定義repository實現(xiàn)類
這篇文章主要介紹了spring?data?jpa如何使用自定義repository實現(xiàn)類,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-11-11java BASE64Encoder詳細(xì)介紹及簡單實例
這篇文章主要介紹了java BASE64Encoder詳細(xì)介紹及簡單實例的相關(guān)資料,需要的朋友可以參考下2017-01-01