這篇文章給大家介紹RequestMapping注解在SpringMVC中的作用是什么,內(nèi)容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
成都創(chuàng)新互聯(lián)執(zhí)著的堅持網(wǎng)站建設(shè),微信小程序定制開發(fā);我們不會轉(zhuǎn)行,已經(jīng)持續(xù)穩(wěn)定運營十載。專業(yè)的技術(shù),豐富的成功經(jīng)驗和創(chuàng)作思維,提供一站式互聯(lián)網(wǎng)解決方案,以客戶的口碑塑造品牌,攜手廣大客戶,共同發(fā)展進步。作用出現(xiàn)位置屬性
用于建立請求 URL 和處理請求方法之間的對應(yīng)關(guān)系。
1.作用在類上:請求 URL 的第一級訪問目錄。此處不寫的話,就相當于應(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中部分代碼示例:
sayHello
測試注解
需要注意的細節(jié):
1.細節(jié):路徑可以不編寫 / 表示應(yīng)用的根目錄開始
2.細節(jié):${ pageContext.request.contextPath }也可以省略不寫,但是路徑上不能寫 /
屬性
value: 用于指定請求的 URL。它和 path 屬性的作用是一樣的。
method: 用于指定請求的方式。
params: 用于指定限制請求參數(shù)的條件。它支持簡單的表達式。要求請求參數(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的部分代碼:
保存賬戶,get 請求
注意:當使用 get 請求時即method="get"
,提示錯誤信息是 405,信息是方法不支持 get 方式請求。
params 屬性的示例
控制器的部分代碼:
@RequestMapping(value="/removeAccount",params= {"accountName","money>100"}) public String removeAccount() { System.out.println("刪除了賬戶"); return "success"; }
jsp的部分代碼:
100">刪除賬戶,金額 100
150">刪除賬戶,金額 150
注意:
當我們點擊第一個超鏈接時,可以訪問成功。
當我們點擊第二個超鏈接時,無法訪問。如下圖:
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的部分代碼:
RequestMapping注解
關(guān)于RequestMapping注解在SpringMVC中的作用是什么就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。