最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

SpringMVC請(qǐng)求數(shù)據(jù)詳解講解

 更新時(shí)間:2022年07月28日 08:49:43   作者:·~簡(jiǎn)單就好  
Spring MVC 是 Spring 提供的一個(gè)基于 MVC 設(shè)計(jì)模式的輕量級(jí) Web 開(kāi)發(fā)框架,本質(zhì)上相當(dāng)于 Servlet,Spring MVC 角色劃分清晰,分工明細(xì),本章來(lái)講解SpringMVC如何請(qǐng)求數(shù)據(jù)

一、RequestMapping注解

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

RequestMapping注解可以作用在方法和類上

  • 作用在類上:第一級(jí)的訪問(wèn)目錄
  • 作用在方法上:第二級(jí)的訪問(wèn)目錄
  • 細(xì)節(jié):路徑可以不編寫(xiě) / 表示應(yīng)用的根目錄開(kāi)始

1、RequestMapping的屬性

path 指定請(qǐng)求路徑的url

value value屬性和path屬性是一樣的

mthod 指定該方法的請(qǐng)求方式

@Controller
@RequestMapping(path = "/role") // 一級(jí)請(qǐng)求路徑
public class RoleController {
    /**
     * /role/save
     * method="當(dāng)前方法允許請(qǐng)求方式能訪問(wèn)"
     * params="請(qǐng)求路徑上傳參數(shù)"
     * @return
     */
   @RequestMapping(path = "/save",method = {RequestMethod.GET})
    public String save(){
        System.out.println("保存角色...");
        return "suc";
    }
    @RequestMapping(value = "/delete")
    public String delete(){
        System.out.println("刪除角色...");
        return "suc";
    }
}

2、RequestMapping的請(qǐng)求參數(shù)綁定

(1). 綁定機(jī)制

  • 表單提交的數(shù)據(jù)都是k=v格式的 username=haha&password=123
  • SpringMVC的參數(shù)綁定過(guò)程是把表單提交的請(qǐng)求參數(shù),作為控制器中方法的參數(shù)進(jìn)行綁定的
  • 要求:提交表單的name和參數(shù)的名稱是相同的

(2). 支持的數(shù)據(jù)類型

  • 基本數(shù)據(jù)類型和字符串類型
  • 實(shí)體類型(JavaBean)
  • 集合數(shù)據(jù)類型(List、map集合等)

? 基本數(shù)據(jù)類型和字符串類型

  • 提交表單的name和參數(shù)的名稱是相同的
  • 區(qū)分大小寫(xiě)

? 實(shí)體類型(JavaBean)

  • 提交表單的name和JavaBean中的屬性名稱需要一致
  • 如果一個(gè)JavaBean類中包含其他的引用類型,那么表單的name屬性需要編寫(xiě)成:對(duì)象.屬性 例如:address.name
  • 給集合屬性數(shù)據(jù)封裝
  • JSP頁(yè)面編寫(xiě)方式:list[0].屬性

二、RequestParam注解

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

屬性

  • ? value:請(qǐng)求參數(shù)中的名稱
  • ? required:請(qǐng)求參數(shù)中是否必須提供此參數(shù),默認(rèn)值是true,必須提供

代碼如下

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
@Controller
@RequestMapping("/dept")
public class DeptController {
    @RequestMapping("/save")
    public String save(@RequestParam(value = "username",required = false) String name){
        System.out.println(name);
        return "suc";
    }
}

三、RequestBody注解

作用:用于獲取請(qǐng)求體的內(nèi)容(注意:get方法不可以):將前端的json對(duì)象轉(zhuǎn)換成javabean實(shí)體對(duì)象

屬性

required:是否必須有請(qǐng)求體,默認(rèn)值是true

代碼如下

    @RequestMapping("/save2")
    public String save2(@RequestBody Student student){
        System.out.println(body);
        return "suc";
    }

四、RestFul風(fēng)格

1、@PathVariable注解

url:

http://localhost:8080/SpringMVC/rest/commit.do/1/1

controller接收:用占位符的形式截取

//映射訪問(wèn)路徑
@RequestMapping("/commit.do/{p1}/{p2}")
public String index(@PathVariable int p1, @PathVariable String p2, Model model){
    String result = p1+p2;
    //Spring MVC會(huì)自動(dòng)實(shí)例化一個(gè)Model對(duì)象用于向視圖中傳值
    model.addAttribute("msg", "結(jié)果:"+result);
    //返回視圖位置
    return "suc";
}

2、使用method屬性指定請(qǐng)求類型

用于約束請(qǐng)求的類型,可以收窄請(qǐng)求范圍。指定請(qǐng)求謂詞的類型如GET, POST, HEAD, OPTIONS, PUT, PATCH, DELETE, TRACE等

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

相關(guān)文章

  • 如何修改nacos權(quán)重報(bào)錯(cuò)問(wèn)題

    如何修改nacos權(quán)重報(bào)錯(cuò)問(wèn)題

    這篇文章主要介紹了如何修改nacos權(quán)重報(bào)錯(cuò)問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-07-07
  • java中線程池最實(shí)用的創(chuàng)建與關(guān)閉指南

    java中線程池最實(shí)用的創(chuàng)建與關(guān)閉指南

    試中經(jīng)常會(huì)問(wèn)到,創(chuàng)建一個(gè)線程池需要哪些參數(shù)啊,線程池的工作原理啊,卻很少會(huì)問(wèn)到線程池如何安全關(guān)閉的,下面這篇文章主要給大家介紹了關(guān)于java中線程池最實(shí)用的創(chuàng)建與關(guān)閉的相關(guān)資料,需要的朋友可以參考下
    2021-09-09
  • 關(guān)于idea-web.xml版本過(guò)低怎么生成新的(web.xml報(bào)錯(cuò))問(wèn)題

    關(guān)于idea-web.xml版本過(guò)低怎么生成新的(web.xml報(bào)錯(cuò))問(wèn)題

    今天通過(guò)本文給大家分享idea-web.xml版本過(guò)低怎么生成新的(web.xml報(bào)錯(cuò))問(wèn)題,通過(guò)更換web.xml版本解決此問(wèn)題,感興趣的朋友跟隨小編一起看看吧
    2021-07-07
  • idea報(bào)錯(cuò):java程序包c(diǎn)om.github.xiaoymin.knife4j.spring.annotations不存在問(wèn)題解決

    idea報(bào)錯(cuò):java程序包c(diǎn)om.github.xiaoymin.knife4j.spring.annotations

    這篇文章主要介紹了idea報(bào)錯(cuò):java程序包c(diǎn)om.github.xiaoymin.knife4j.spring.annotations不存在問(wèn)題解決,需要的朋友可以參考下
    2023-06-06
  • JAVA基礎(chǔ)-GUI

    JAVA基礎(chǔ)-GUI

    這篇文章主要介紹了JAVA中關(guān)于GUI的相關(guān)知識(shí),文中代碼非常詳細(xì),供大家參考和學(xué)習(xí),感興趣的朋友可以了解下
    2020-06-06
  • 在IDEA中創(chuàng)建父工程和子模塊module的方法步驟

    在IDEA中創(chuàng)建父工程和子模塊module的方法步驟

    這篇文章主要介紹了在IDEA中創(chuàng)建父工程和子模塊module的方法步驟,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2019-02-02
  • druid ParserException類錯(cuò)誤問(wèn)題及解決

    druid ParserException類錯(cuò)誤問(wèn)題及解決

    這篇文章主要介紹了druid ParserException類錯(cuò)誤問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • kafka topic 權(quán)限控制(設(shè)置刪除權(quán)限)

    kafka topic 權(quán)限控制(設(shè)置刪除權(quán)限)

    大家都知道Kafka是一個(gè)消息隊(duì)列,把消息放到隊(duì)列里邊的叫生產(chǎn)者,從隊(duì)列里邊消費(fèi)的叫消費(fèi)者。今天通過(guò)本文給大家介紹kafka topic 權(quán)限控制的相關(guān)知識(shí),感興趣的朋友一起看看吧
    2021-11-11
  • 一分鐘掌握J(rèn)ava?Quartz定時(shí)任務(wù)

    一分鐘掌握J(rèn)ava?Quartz定時(shí)任務(wù)

    這篇文章主要為大家介紹了Java?Quartz定時(shí)任務(wù)一分鐘掌握教程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-05-05
  • Java的HashMap源碼解析

    Java的HashMap源碼解析

    這篇文章主要介紹了Java的HashMap源碼解析,HashMap是一個(gè)用于存儲(chǔ)Key-Value鍵值對(duì)的集合,每一個(gè)鍵值對(duì)是一個(gè)Node,后臺(tái)是用一個(gè)Node數(shù)組來(lái)存放數(shù)據(jù),這個(gè)Node數(shù)組就是HashMap的主干,需要的朋友可以參考下
    2023-11-11

最新評(píng)論

墨竹工卡县| 菏泽市| 左云县| 肃北| 望城县| 潮州市| 嵩明县| 博湖县| 莆田市| 新竹县| 满洲里市| 海安县| 赣州市| 福清市| 福州市| 鄂托克前旗| 河北区| 阿克陶县| 湘西| 古浪县| 嵩明县| 孝昌县| 浙江省| 阿城市| 连南| 青神县| 义乌市| 东丽区| 巫溪县| 新沂市| 城固县| 漯河市| 贡山| 黎川县| 根河市| 广宁县| 曲沃县| 乐昌市| 喀喇沁旗| 武鸣县| 固原市|