欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時(shí)間:2021年05月10日 10:42:49   作者:小小張自由—>張有博  
這篇文章主要介紹了SpringMVC中常用注解與使用方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

MVC簡(jiǎn)介

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

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

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

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

SpringMVC簡(jiǎn)介

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

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

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

SpringMVC中的常用注解

@GetMapping

作用:用于建立請(qǐng)求URL和處理請(qǐng)求方法之間的對(duì)應(yīng)關(guān)系

可以出現(xiàn)在類上,請(qǐng)求URL的第一級(jí)訪問(wèn)目錄

可以出現(xiàn)在方法上,請(qǐng)求URL的第二級(jí)訪問(wèn)目錄

value:用于指定請(qǐng)求的URL。它和path屬性的作用是一樣的

method:用于指定請(qǐng)求的方式

params:用于指定限制請(qǐng)求參數(shù)的條件

@Controller
//@RequestMapping("SpringMVC/")
public class HelloController {
 
    //請(qǐng)求方法為get  請(qǐng)求參數(shù)必須有username
    @RequestMapping(value = "/hello",method = RequestMethod.GET,params = {"username"})
    //@RequestMapping("/hello")
    public String sayHello(){
        System.out.println("SpringMVC hello~~~");
        return "success";
    }
 
}

@RequestParam

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

value:請(qǐng)求參數(shù)的名稱

required:請(qǐng)求參數(shù)中必須提供此參數(shù)。默認(rèn)值:true,表示必須提供,如果不提供就報(bào)錯(cuò)。

@RequestMapping("/testRequestParam")
    //RequestParam --更名  
    // 屬性  value=別名 required=必須含有的參數(shù)
    public String testRequestParam(@RequestParam(value = "username") String  name){
        System.out.printf(name);
        System.out.println("testRequestParam執(zhí)行了~~~");
        return "success";
    }

@RequestBody

作用:用于獲取請(qǐng)求體內(nèi)容。直接使用得到key=value&key=vaule...結(jié)構(gòu)的數(shù)據(jù)。get請(qǐng)求方式不適用

required:是否必須有請(qǐng)求體。當(dāng)取值為true時(shí),get請(qǐng)求會(huì)報(bào)錯(cuò)。如果取值為false,get請(qǐng)求得到是null。

 @RequestMapping("/testRequestBody")
    //RequestBody 獲取請(qǐng)求體中的內(nèi)容  如:username=benshan&password=98989&money=200
    public String testRequestBody(@RequestBody String body){
        System.out.println("testRequestBody執(zhí)行了~~~");
        System.out.println(body);
        return "success";
    }

@PathVariable

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

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

@RequestHeader

作用:用于獲取請(qǐng)求消息頭

value 提供消息頭名稱

required:是否必須有此消息頭

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

@CookieValue

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

value:指定cookie的名稱

required:是否必須有此cookie

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

@ModelAttribute

作用:可以修飾方法和參數(shù)。出現(xiàn)在方法上,表示當(dāng)前方法會(huì)在控制器的方法執(zhí)行之前執(zhí)行,先執(zhí)行。出現(xiàn)在參數(shù)上,獲取指定的數(shù)據(jù)給參數(shù)賦值

value 用于獲取數(shù)據(jù)的key

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

@SessionAttributes

作用:用于多次執(zhí)行控制器方法間的參數(shù)共享

value 用于指定存入的屬性名稱

type:用于指定存入的數(shù)據(jù)類型

新注解

@RequestMapping 和 @GetMapping @PostMapping 區(qū)別

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

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

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

相關(guān)文章

  • java8 stream中Collectors.toMap空指針問(wèn)題及解決

    java8 stream中Collectors.toMap空指針問(wèn)題及解決

    這篇文章主要介紹了java8 stream中Collectors.toMap空指針問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-05-05
  • 基于maven的springboot的"過(guò)時(shí)"用法解析

    基于maven的springboot的"過(guò)時(shí)"用法解析

    這篇文章主要為大家介紹了基于maven的springboot"過(guò)時(shí)"用法示例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-09-09
  • Java實(shí)現(xiàn)文件上傳保存

    Java實(shí)現(xiàn)文件上傳保存

    這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)文件上傳保存,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-06-06
  • 使用Java實(shí)現(xiàn)構(gòu)建jenkins的多個(gè)job并返回構(gòu)建結(jié)果示例

    使用Java實(shí)現(xiàn)構(gòu)建jenkins的多個(gè)job并返回構(gòu)建結(jié)果示例

    這篇文章主要介紹了使用Java實(shí)現(xiàn)構(gòu)建jenkins的多個(gè)job并返回構(gòu)建結(jié)果示例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-05-05
  • Java8新特性之Stream使用詳解

    Java8新特性之Stream使用詳解

    這篇文章主要介紹了Java8新特性之Stream使用詳解,流是用來(lái)處理集合中的數(shù)據(jù),以聲明的形式操作集合,它就像SQL語(yǔ)句,我們只需告訴流需要對(duì)集合進(jìn)行什么操作,它就會(huì)自動(dòng)進(jìn)行操作,并將執(zhí)行結(jié)果交給你,無(wú)需我們自己手寫代碼,需要的朋友可以參考下
    2023-08-08
  • 詳解Java引用類型的參數(shù)也是值傳遞

    詳解Java引用類型的參數(shù)也是值傳遞

    這篇文章主要介紹了Java引用類型的參數(shù)也是值傳遞,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • idea啟動(dòng)項(xiàng)目報(bào)端口號(hào)沖突或被占用的解決方法

    idea啟動(dòng)項(xiàng)目報(bào)端口號(hào)沖突或被占用的解決方法

    這篇文章主要介紹了idea啟動(dòng)項(xiàng)目報(bào)端口號(hào)沖突或被占用的解決方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-10-10
  • 淺談什么是SpringBoot異常處理自動(dòng)配置的原理

    淺談什么是SpringBoot異常處理自動(dòng)配置的原理

    今天給大家?guī)?lái)的是關(guān)于Java的相關(guān)知識(shí),文章圍繞著SpringBoot異常處理自動(dòng)配置展開(kāi),文中有非常詳細(xì)的介紹及代碼示例,需要的朋友可以參考下
    2021-06-06
  • SpringBoot使用自定義注解實(shí)現(xiàn)數(shù)據(jù)脫敏過(guò)程詳細(xì)解析

    SpringBoot使用自定義注解實(shí)現(xiàn)數(shù)據(jù)脫敏過(guò)程詳細(xì)解析

    這篇文章主要介紹了SpringBoot自定義注解之脫敏注解詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • SpringBoot整合canal實(shí)現(xiàn)數(shù)據(jù)緩存一致性解決方案

    SpringBoot整合canal實(shí)現(xiàn)數(shù)據(jù)緩存一致性解決方案

    canal主要用途是基于?MySQL?數(shù)據(jù)庫(kù)增量日志解析,提供增量數(shù)據(jù)訂閱和消費(fèi),canal是借助于MySQL主從復(fù)制原理實(shí)現(xiàn),本文將給大家介紹SpringBoot整合canal實(shí)現(xiàn)數(shù)據(jù)緩存一致性解決方案,需要的朋友可以參考下
    2024-03-03

最新評(píng)論