国产成人精品18p,天天干成人网,无码专区狠狠躁天天躁,美女脱精光隐私扒开免费观看

SpringMVC中常用注解與使用方法詳解

發(fā)布時(shí)間:2021-07-06 11:13 來(lái)源:腳本之家 閱讀:0 作者:小小張自由—>張有博 欄目: 開(kāi)發(fā)技術(shù)

MVC簡(jiǎn)介

MVC 全名是 Model View Controller,是模型(model)-視圖(view)-控制器(controller)的縮寫(xiě), 是一種用于設計創(chuàng )建 Web 應用程序表現層的模式。

Model(模型): 通常指的就是我們的數據模型。作用一般情況下用于封裝數據。

View(視圖): 通常指的就是我們的 jsp 或者 html。作用一般就是展示數據的。 通常視圖是依據模型數據創(chuàng )建的。

Controller(控制器): 是應用程序中處理用戶(hù)交互的部分。作用一般就是處理程序邏輯的。

SpringMVC簡(jiǎn)介

SpringMVC 是一種基于 Java 的實(shí)現 MVC 設計模型的請求驅動(dòng)類(lèi)型的輕量級 Web 框架,屬于 Spring FrameWork 的后續產(chǎn)品,已經(jīng)融合在 Spring Web Flow 里面。Spring 框架提供了構建 Web

應用程序的全功能 MVC 模塊。使用 Spring 可插入的 MVC 架構,從而在使用 Spring 進(jìn)行 WEB 開(kāi)發(fā)時(shí),可以選擇使用 Spring 的 Spring MVC 框架或集成其他 MVC 開(kāi)發(fā)框架。

SpringMVC 已經(jīng)成為目前最主流的 MVC 框架之一,并且隨著(zhù) Spring3.0 的發(fā)布,已成為最優(yōu)秀的 MVC 框架。

SpringMVC中的常用注解

@GetMapping

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

可以出現在類(lèi)上,請求URL的第一級訪(fǎng)問(wèn)目錄

可以出現在方法上,請求URL的第二級訪(fǎng)問(wèn)目錄

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";
    }
 
}

@RequestParam

作用:把請求中指定名稱(chēng)的參數給控制器中的形參賦值

value:請求參數的名稱(chēng)

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";
    }

@RequestBody

作用:用于獲取請求體內容。直接使用得到key=value&key=vaule...結構的數據。get請求方式不適用

required:是否必須有請求體。當取值為true時(shí),get請求會(huì )報錯。如果取值為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";
    }

@PathVariable

作用:用于綁定URL中的占位符。url中有/delete/{id},{id}就是占位符。

@RequestMapping("/testPathVariable/{id}")
    //PathVariable使用Restful風(fēng)格,結構清晰,拓展方便
    public String testPathVariable(@PathVariable(value = "id") String id){
        System.out.println("testPathVariable~~~");
        System.out.println(id);
        return "success";
    }

@RequestHeader

作用:用于獲取請求消息頭

value 提供消息頭名稱(chēng)

required:是否必須有此消息頭

 @RequestMapping("/testRequestHeader")
    //testRequestHeader獲取請求頭的值
    public String testRequestHeader(@RequestHeader(value = "Accept") String header){
        System.out.println("testRequestHeader~~~");
        System.out.println(header);
        return "success";
    }

@CookieValue

作用:用于把指定cookie名稱(chēng)的值傳入控制器方法參數

value:指定cookie的名稱(chēng)

required:是否必須有此cookie

@RequestMapping("/testCookieValue")
    //testRequestHeader獲取請求頭的值
    public String testCookieValue(@CookieValue(value = "JSESSIONID") String cookie){
        System.out.println("testCookieValue~~~");
        System.out.println(cookie);
        return "success";
    }

@ModelAttribute

作用:可以修飾方法和參數。出現在方法上,表示當前方法會(huì )在控制器的方法執行之前執行,先執行。出現在參數上,獲取指定的數據給參數賦值

value 用于獲取數據的key

@RequestMapping("/testModelAttribute")
    public String testModelAttribute(){
        System.out.println("testModelAttribute~~~");
        return "success";
    }
    @ModelAttribute
    //在控制器執行之前  執行
    public void showUser(){
        System.out.println("showUser執行了~~~");
    }

@SessionAttributes

作用:用于多次執行控制器方法間的參數共享

value 用于指定存入的屬性名稱(chēng)

type:用于指定存入的數據類(lèi)型

新注解

@RequestMapping 和 @GetMapping @PostMapping 區別

@GetMapping是一個(gè)組合注解,是@RequestMapping(method = RequestMethod.GET)的縮寫(xiě)。

@PostMapping是一個(gè)組合注解,是@RequestMapping(method = RequestMethod.POST)的縮寫(xiě)。

到此這篇關(guān)于SpringMVC中常用注解與使用方法詳解的文章就介紹到這了,更多相關(guān)SpringMVC注解與使用內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng )、來(lái)自互聯(lián)網(wǎng)轉載和分享為主,文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權請聯(lián)系QQ:712375056 進(jìn)行舉報,并提供相關(guān)證據,一經(jīng)查實(shí),將立刻刪除涉嫌侵權內容。

边摸边脱吃奶边高潮视频免费| 久久久久88色偷偷| 亚洲AV午夜电影在线观看| 插一插射一射视频| 人妻插B视频一区二区三区| 欲香欲色天天综合和网|