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

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

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

一、RequestMapping注解

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

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

  • 作用在類上:第一級的訪問目錄
  • 作用在方法上:第二級的訪問目錄
  • 細節(jié):路徑可以不編寫 / 表示應用的根目錄開始

1、RequestMapping的屬性

path 指定請求路徑的url

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

mthod 指定該方法的請求方式

@Controller
@RequestMapping(path = "/role") // 一級請求路徑
public class RoleController {
    /**
     * /role/save
     * method="當前方法允許請求方式能訪問"
     * params="請求路徑上傳參數(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的請求參數(shù)綁定

(1). 綁定機制

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

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

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

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

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

? 實體類型(JavaBean)

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

二、RequestParam注解

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

屬性

  • ? value:請求參數(shù)中的名稱
  • ? required:請求參數(shù)中是否必須提供此參數(shù),默認值是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注解

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

屬性

required:是否必須有請求體,默認值是true

代碼如下

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

四、RestFul風格

1、@PathVariable注解

url:

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

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

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

2、使用method屬性指定請求類型

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

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

相關(guān)文章

  • Java基礎夯實之線程問題全面解析

    Java基礎夯實之線程問題全面解析

    操作系統(tǒng)支持多個應用程序并發(fā)執(zhí)行,每個應用程序至少對應一個進程?。進程是資源分配的最小單位,而線程是CPU調(diào)度的最小單位。本文將帶大家全面解析線程相關(guān)問題,感興趣的可以了解一下
    2022-11-11
  • Mybatis查詢時數(shù)據(jù)丟失的問題及解決

    Mybatis查詢時數(shù)據(jù)丟失的問題及解決

    Mybatis查詢時數(shù)據(jù)丟失的問題及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-01-01
  • spring單元測試下模擬rabbitmq的實現(xiàn)

    spring單元測試下模擬rabbitmq的實現(xiàn)

    這篇文章主要介紹了spring單元測試下模擬rabbitmq的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-05-05
  • SpringCloud Gateway網(wǎng)關(guān)功能介紹與使用

    SpringCloud Gateway網(wǎng)關(guān)功能介紹與使用

    SpringCloud Gateway 是 Spring Cloud 的一個全新項目,它旨在為微服務架構(gòu)提供一種簡單有效的統(tǒng)一的 API 路由管理方式。這篇文章主要介紹了SpringCloud Gateway網(wǎng)關(guān)作用,需要的朋友可以參考下
    2022-12-12
  • javaWeb傳收參數(shù)方式總結(jié)示例分析

    javaWeb傳收參數(shù)方式總結(jié)示例分析

    這篇文章主要為大家介紹了javaWeb傳收參數(shù)方式總結(jié)示例分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-08-08
  • Java之進程和線程的區(qū)別

    Java之進程和線程的區(qū)別

    這篇文章主要介紹了進程與線程的區(qū)別,線程具有許多傳統(tǒng)進程所具有的特征,而把傳統(tǒng)的進程稱為重型進程(Heavy—Weight Process),它相當于只有一個線程的任務,有感興趣的小伙伴可以參考閱讀本文
    2023-03-03
  • 淺析java 10中的var關(guān)鍵字用法

    淺析java 10中的var關(guān)鍵字用法

    2018年3月20日,Oracle發(fā)布java10。java10為java帶來了很多新特性。這篇文章主要介紹了Java 10 var關(guān)鍵字詳解和示例教程,需要的朋友可以參考下
    2018-10-10
  • Spring 注入static屬性值方式

    Spring 注入static屬性值方式

    文本介紹了Spring如何從屬性文件給static屬性注入值,在寫一些與配置相關(guān)的工具類時常用。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • Java實現(xiàn)單詞倒序輸出

    Java實現(xiàn)單詞倒序輸出

    這篇文章主要介紹了Java實現(xiàn)單詞倒序輸出,幫助大家更好的理解和學習Java,感興趣的朋友可以了解下
    2020-08-08
  • 圖文詳解java內(nèi)存回收機制

    圖文詳解java內(nèi)存回收機制

    這篇文章主要以圖文結(jié)合的方式為大家詳細介紹了java內(nèi)存回收機制,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-10-10

最新評論