中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

JavaWeb中常用的請求傳參注解有哪些

發布時間:2023-04-04 16:06:39 來源:億速云 閱讀:128 作者:iii 欄目:開發技術

這篇文章主要介紹“JavaWeb中常用的請求傳參注解有哪些”,在日常操作中,相信很多人在JavaWeb中常用的請求傳參注解有哪些問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”JavaWeb中常用的請求傳參注解有哪些”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

    1、@RequestMapping

    @RequestMapping 既可以用在類級別,也可以用在方法級別,當它定義在類級別的時候,標明該控制器所處理的請求都將被映射到這個路徑下。

    另外,@RequestMapping中可以使用method屬性,如果指定了method屬性的值,那么就只能使用指定的請求方法,如果沒有指定的話,那么就可以使用HTTP的get/post方法了。

    get 請求特點

    • a. 請求參數會添加到請求資源路徑的后面,只能添加少量參數(因為請求行只有一行,大約只能存放2K左右的數據)

    • b. 請求參數會顯示在瀏覽器地址欄,路由器會記錄請求地址 (極為的不安全)

    • c. 如果傳輸中文,必定會亂碼(原因:get 請求默認編碼格式為:IIO-8859-1,后臺編碼格式一般為:GBK或者UTF-8)

    post 請求的特點

    • a. 請求參數添加到請求體里面,可以添加大量的參數(也解釋了為什么瀏覽器地址欄不能發送post請求,在地址欄里我們只能填寫URL,并不能進入到 Http 包的請求體當中)

    • b. 相對安全,但是,post 請求不會對請求參數進行加密處理(可以使用https協議來保證數據安全)

    2、@GetMapping

    用于將HTTP GET請求映射到特定處理程序方法的注釋。

    相當于@RequestMapping(method = RequestMethod.GET)

    3、@PostMapping

    用于將 HTTP POST 請求映射到特定處理程序方法的注釋。

    相當于@RequestMapping(method = RequestMethod.POST)

    4、@RequestParam

    這個注解是使用在方法的形參上的,主要用途就是將請求的參數綁定到方法的形參上,有一個required屬性,默認情況下是true,就是必須要傳參數,如果想該形參可傳可不傳參數的話,就將屬性值設置為false即可。

    @RequestMapping("/hello")
      public String hello(@RequestParam(value = "name", required = false) String name, @RequestParam(value = "age", required = true) String age) {
      //age參數必須傳 ,name可傳可不傳
      ...
      }

    5、@PathVariable

    該注解主要是用于做動態綁定使用,讓形參的值變成可供使用的URL變量,多用在 Restful 風格中。

    @RequestMapping(value="/hello/{name}",method=RequestMethod.GET)
    public String findPet(@PathVariable String name) {
    //使用@PathVariable注解綁定 {name} 到String name
    }

    @PathVariable中的參數可以是任意的簡單類型,如int、long、Date等,Spring會自動將其轉換成合適的類型或者拋出TypeMismatchException異常,也可以注冊支持額外的數據類型。

    另外,它也支持正則表達式,這就決定了它超強的屬性,它能在路徑模板中使用占位符,可以設定特定的前綴匹配和后綴匹配,自定義格式等。

    6、@RequestBody

    該注解是指方法形參應該被綁定到HTTP請求的Body上。

    @RequestMapping(value = "/something", method = RequestMethod.PUT)
    public void handle(@RequestBody User user){
       //可以綁定自定義的對象類型
    }

    JavaWeb中常用的請求傳參注解有哪些

    使用 @RequestBody 注解

    @RequestBody 注解是用于接收請求的 Content-Type為application/json 類型的請求,數據類型是 JSON。

    JavaWeb中常用的請求傳參注解有哪些

    不使用 @RequestBody 注解

    不使用 @RequestBody 注解時,可以接收 Content-Type為application/x-www-form-urlencoded 類型,或者 Text 類型的請求所提交的數據,數據格式:

    aaa=111&bbb=222  

    1)form 表單提交以及用 Ajax 提交數據時方法所發送的請求就是這種類型。

    2)后臺只需用具有對應屬性 id 和 name 的對象接收就行。

    JavaWeb中常用的請求傳參注解有哪些

    如果使用了 @RequestBody 來強行接收 Text 或者 application/x-www-form-urlencoded 類型,會報類型 not supported 的如下錯誤:

    JavaWeb中常用的請求傳參注解有哪些

    到此,關于“JavaWeb中常用的請求傳參注解有哪些”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

    向AI問一下細節

    免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

    AI

    鄂尔多斯市| 嘉祥县| 濮阳市| 吐鲁番市| 拉萨市| 新民市| 呈贡县| 沅陵县| 孟村| 云和县| 翁源县| 芮城县| 咸丰县| 斗六市| 灌南县| 方城县| 金阳县| 浪卡子县| 泗阳县| 温州市| 嵊泗县| 五指山市| 克拉玛依市| 孟州市| 闽侯县| 南涧| 陇川县| 浦县| 沂水县| 怀来县| 西昌市| 林甸县| 宝鸡市| 宾阳县| 澜沧| 宁国市| 宝坻区| 临邑县| 阿拉尔市| 原阳县| 改则县|