日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 前端技术 > javascript >内容正文

javascript

SpringMVC-请求处理

發(fā)布時(shí)間:2025/3/8 javascript 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SpringMVC-请求处理 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

SpringMVC獲取請(qǐng)求帶來(lái)的各種信息

    • 一、默認(rèn)方法獲取參數(shù)
    • 二、獲取請(qǐng)求參數(shù)的值-@RequestParam
      • @RequestParam("user")與 @PathVariable("user")區(qū)別
    • 三、獲取請(qǐng)求頭中的信息-@RequestHeader
    • 四、獲取請(qǐng)求中帶來(lái)的某個(gè)cookie的值-@CookieValue
    • 五、傳入-POJO
    • 解決亂碼問(wèn)題

一、默認(rèn)方法獲取參數(shù)

直接給方法入?yún)懸粋€(gè)和請(qǐng)求名請(qǐng)求名相同的變量,這個(gè)變量就來(lái)接收請(qǐng)求參數(shù)的值

運(yùn)行截圖



二、獲取請(qǐng)求參數(shù)的值-@RequestParam

參數(shù)默認(rèn)是必帶的
http://localhost:8080/SpringMVC/hand01? 報(bào)錯(cuò)400

@RequestParam(“user”)String usrname
usrname=requeset.getParameter(“user”);

value:指定要獲取的參數(shù)的key(瀏覽器地址欄里的參數(shù))
required:參數(shù)是否必帶,required=false:不帶不報(bào)錯(cuò)
defaultValue:不帶參數(shù)時(shí)顯示的值,默認(rèn)為null

@RequestMapping("/hand01")public String hand01(@RequestParam(value="user",required=false,defaultValue="ss")String usrname){System.out.println("變量:"+usrname);return "success";}

@RequestParam(“user”)與 @PathVariable(“user”)區(qū)別

三、獲取請(qǐng)求頭中的信息-@RequestHeader

request.getHeader(“User-Agent”)
@RequestHeader(“User-Agent”)String userAgent
userAgent=request.getHeader(“User-Agent”)

三個(gè)屬性同@RequestParam

@RequestMapping("/hand01")public String hand01(@RequestHeader("User-Agent")String userAgent){System.out.println("請(qǐng)求頭中瀏覽器的信息:"+userAgent);return "success";}

四、獲取請(qǐng)求中帶來(lái)的某個(gè)cookie的值-@CookieValue

以前獲取某個(gè)cookie的操作

Cookie[] cookies = request.getCookies(); for(Cookie c:cookies){if(c.getName().equals("SESSIONID")){String cv = c.getValue();} }

@CookieValue

@RequestMapping("/hand01")public String hand01(@CookieValue(value="JSESSIONID",required=false)String jid){System.out.println("cookie中jid的值:"+jid);return "success";}

五、傳入-POJO

如果我們的請(qǐng)求參數(shù)數(shù)一個(gè)POJO
SpringMVC自動(dòng)為這個(gè)POJO進(jìn)行賦值:
1)將POJO中的每個(gè)屬性,從request參數(shù)中嘗試獲取出來(lái),并封裝
2)還可以級(jí)聯(lián)封裝;屬性的屬性

@RequestMapping("/book")public String addBook(Book book){System.out.println("我要保存的圖書:"+book);return "success";} package com.jh.book;public class Book {private String bookName;private String author;private Double price;private Integer stock;private Integer sales;private Adress adress; package com.jh.book;public class Adress {private String province;private String city;private String street; <form action="book" method="post">書名:<input type="text" name="bookName"><br>作者:<input type="text" name="author"><br>價(jià)格:<input type="text" name="price"><br>庫(kù)存:<input type="text" name="stock"><br>銷量:<input type="text" name="sales"><br><hr>作者省: <input type="text" name="Adress.province">市: <input type="text" name="Adress.city">街道: <input type="text" name="Adress.street"><br><input type="submit"> </form>

解決亂碼問(wèn)題

提交的數(shù)據(jù)可能亂碼

1.請(qǐng)求亂碼
GET請(qǐng)求:改server.xml

<Connector URIEncoding="UTF-8" connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/>

POST請(qǐng)求:web.xml配置filter

web.xml中配置如下即可

<!-- 配置一個(gè)字符編碼的filter --><filter><filter-name>CharacterEncodingFilter</filter-name><filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class><!-- encoding:指定解決POST請(qǐng)求亂碼 --><init-param><param-name>encoding</param-name><param-value>UTF-8</param-value></init-param><!-- forceEncoding:順手解決響應(yīng)亂碼 --> <init-param><param-name>forceEncoding</param-name><param-value>true</param-value></init-param></filter><filter-mapping><filter-name>CharacterEncodingFilter</filter-name><url-pattern>/*</url-pattern></filter-mapping>

2.響應(yīng)亂碼
response.setContentType(“Text/html;charset=utf-8”)

與50位技術(shù)專家面對(duì)面20年技術(shù)見證,附贈(zèng)技術(shù)全景圖

總結(jié)

以上是生活随笔為你收集整理的SpringMVC-请求处理的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。