您好,登錄后才能下訂單哦!
SpringMVC中有哪些常用注解?相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。
MVC 全名是 Model View Controller,是模型(model)-視圖(view)-控制器(controller)的縮寫, 是一種用于設計創建 Web 應用程序表現層的模式。
Model(模型): 通常指的就是我們的數據模型。作用一般情況下用于封裝數據。
View(視圖): 通常指的就是我們的 jsp 或者 html。作用一般就是展示數據的。 通常視圖是依據模型數據創建的。
Controller(控制器): 是應用程序中處理用戶交互的部分。作用一般就是處理程序邏輯的。
SpringMVC 是一種基于 Java 的實現 MVC 設計模型的請求驅動類型的輕量級 Web 框架,屬于 Spring FrameWork 的后續產品,已經融合在 Spring Web Flow 里面。Spring 框架提供了構建 Web
應用程序的全功能 MVC 模塊。使用 Spring 可插入的 MVC 架構,從而在使用 Spring 進行 WEB 開發時,可以選擇使用 Spring 的 Spring MVC 框架或集成其他 MVC 開發框架。
SpringMVC 已經成為目前最主流的 MVC 框架之一,并且隨著 Spring3.0 的發布,已成為最優秀的 MVC 框架。
作用:用于建立請求URL和處理請求方法之間的對應關系
可以出現在類上,請求URL的第一級訪問目錄
可以出現在方法上,請求URL的第二級訪問目錄
value:用于指定請求的URL。它和path屬性的作用是一樣的
method:用于指定請求的方式
params:用于指定限制請求參數的條件
@Controller //@RequestMapping("SpringMVC/") public class HelloController { //請求方法為get 請求參數必須有username @RequestMapping(value = "/hello",method = RequestMethod.GET,params = {"username"}) //@RequestMapping("/hello") public String sayHello(){ System.out.println("SpringMVC hello~~~"); return "success"; } }
作用:把請求中指定名稱的參數給控制器中的形參賦值
value:請求參數的名稱
required:請求參數中必須提供此參數。默認值:true,表示必須提供,如果不提供就報錯。
@RequestMapping("/testRequestParam") //RequestParam --更名 // 屬性 value=別名 required=必須含有的參數 public String testRequestParam(@RequestParam(value = "username") String name){ System.out.printf(name); System.out.println("testRequestParam執行了~~~"); return "success"; }
作用:用于獲取請求體內容。直接使用得到key=value&key=vaule...結構的數據。get請求方式不適用
required:是否必須有請求體。當取值為true時,get請求會報錯。如果取值為false,get請求得到是null。
@RequestMapping("/testRequestBody") //RequestBody 獲取請求體中的內容 如:username=benshan&password=98989&money=200 public String testRequestBody(@RequestBody String body){ System.out.println("testRequestBody執行了~~~"); System.out.println(body); return "success"; }
作用:用于綁定URL中的占位符。url中有/delete/{id},{id}就是占位符。
@RequestMapping("/testPathVariable/{id}") //PathVariable使用Restful風格,結構清晰,拓展方便 public String testPathVariable(@PathVariable(value = "id") String id){ System.out.println("testPathVariable~~~"); System.out.println(id); return "success"; }
作用:用于獲取請求消息頭
value 提供消息頭名稱
required:是否必須有此消息頭
@RequestMapping("/testRequestHeader") //testRequestHeader獲取請求頭的值 public String testRequestHeader(@RequestHeader(value = "Accept") String header){ System.out.println("testRequestHeader~~~"); System.out.println(header); return "success"; }
作用:用于把指定cookie名稱的值傳入控制器方法參數
value:指定cookie的名稱
required:是否必須有此cookie
@RequestMapping("/testCookieValue") //testRequestHeader獲取請求頭的值 public String testCookieValue(@CookieValue(value = "JSESSIONID") String cookie){ System.out.println("testCookieValue~~~"); System.out.println(cookie); return "success"; }
作用:可以修飾方法和參數。出現在方法上,表示當前方法會在控制器的方法執行之前執行,先執行。出現在參數上,獲取指定的數據給參數賦值
value 用于獲取數據的key
@RequestMapping("/testModelAttribute") public String testModelAttribute(){ System.out.println("testModelAttribute~~~"); return "success"; } @ModelAttribute //在控制器執行之前 執行 public void showUser(){ System.out.println("showUser執行了~~~"); }
作用:用于多次執行控制器方法間的參數共享
value 用于指定存入的屬性名稱
type:用于指定存入的數據類型
看完上述內容,你們掌握SpringMVC中有哪些常用注解的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。