国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

4、SpringMVC之獲取請求參數(shù)

這篇具有很好參考價值的文章主要介紹了4、SpringMVC之獲取請求參數(shù)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

4.1 環(huán)境搭建

創(chuàng)建名為spring_mvc_demo2的新module,過程參考3.1節(jié)

4.1.1、創(chuàng)建請求控制器

4、SpringMVC之獲取請求參數(shù)

package org.rain.controller;

import org.springframework.stereotype.Controller;

/**
 * @author liaojy
 * @date 2023/10/9 - 8:32
 */
@Controller
public class TestParamController {
}

4、SpringMVC之獲取請求參數(shù)

package org.rain.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

/**
 * @author liaojy
 * @date 2023/10/9 - 8:49
 */
@Controller
public class PortalController {
    @RequestMapping("/")
    public String portal(){
        return "index";
    }
}

4.1.2、創(chuàng)建靜態(tài)資源目錄及頁面

4、SpringMVC之獲取請求參數(shù)

<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8">
    <title>首頁</title>
</head>
<body>

</body>
</html>

4、SpringMVC之獲取請求參數(shù)

<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8">
    <title>成功</title>
</head>
<body>

<h1>success.html</h1>

</body>
</html>

4.1.3、配置tomcat

4、SpringMVC之獲取請求參數(shù)

4、SpringMVC之獲取請求參數(shù)

4.2、通過ServletAPI獲取請求參數(shù)

4.2.1、控制器方法示例

4、SpringMVC之獲取請求參數(shù)

如果控制器方法有HttpServletRequest類型的形參,DispatcherServlet就會將封裝了當(dāng)前請求的對象傳給控制器方法

    @RequestMapping("/param/servletAPI")
    public String getParamByServletAPI(HttpServletRequest request){
        String username = request.getParameter("username");
        String password = request.getParameter("password");
        System.out.println("username:"+username);
        System.out.println("password:"+password);
        return "success";
    }

4.2.2、頁面請求示例

4、SpringMVC之獲取請求參數(shù)

<form th:action="@{/param/servletAPI}" method="post">
    用戶名:<input type="text" name="username">
    密碼:<input type="password" name="password">
    <input type="submit" value="登錄">
</form>

4.2.3、測試效果

4、SpringMVC之獲取請求參數(shù)

+++++++++++++++++++++++++分割線+++++++++++++++++++++++++

4、SpringMVC之獲取請求參數(shù)

+++++++++++++++++++++++++分割線+++++++++++++++++++++++++

4、SpringMVC之獲取請求參數(shù)

+++++++++++++++++++++++++分割線+++++++++++++++++++++++++

4、SpringMVC之獲取請求參數(shù)

4.3、通過控制器方法的形參獲取請求參數(shù)

4.3.1、控制器方法示例

4、SpringMVC之獲取請求參數(shù)

如果在控制器方法存在和請求參數(shù)同名的形參,DispatcherServlet就會將請求參數(shù)賦值給控制器方法中對應(yīng)的形參

    @RequestMapping("/param")
    public String getParam(String username,String password){
        System.out.println("username:"+username);
        System.out.println("password:"+password);
        return "success";
    }

4.3.2、頁面請求示例

4、SpringMVC之獲取請求參數(shù)

<form th:action="@{/param}" method="post">
    用戶名:<input type="text" name="username">
    密碼:<input type="password" name="password">
    <input type="submit" value="登錄">
</form>

4.3.3、測試效果

4、SpringMVC之獲取請求參數(shù)

+++++++++++++++++++++++++分割線+++++++++++++++++++++++++

4、SpringMVC之獲取請求參數(shù)

+++++++++++++++++++++++++分割線+++++++++++++++++++++++++

4、SpringMVC之獲取請求參數(shù)

4.4、@RequestParam注解

@RequestParam注解用于將請求參數(shù)和控制器方法的形參建立映射關(guān)系,其有三個屬性:

  • value:指定要為形參賦值的請求參數(shù)的參數(shù)名。

  • required:設(shè)置是否必須傳輸此請求參數(shù),默認值為true;
    若設(shè)置為true時,則當(dāng)前請求必須傳輸value所指定的請求參數(shù),
    若沒有傳輸該請求參數(shù),且沒有設(shè)置defaultValue屬性,則頁面報錯400:Required String parameter 'xxx' is not present;
    若設(shè)置為false時,則當(dāng)前請求不是必須傳輸value所指定的請求參數(shù),
    若沒有傳輸該請求參數(shù),則注解所標(biāo)識的形參的值為null。

  • defaultValue:設(shè)置形參的默認值;
    不管required屬性值為true或false,當(dāng)value所指定的請求參數(shù)沒有傳輸或傳輸?shù)闹禐?"時,則使用默認值為形參賦值。

4.4.1、控制器方法示例

4、SpringMVC之獲取請求參數(shù)

    @RequestMapping("/param")
    public String getParam(@RequestParam(value = "name",required = true,defaultValue = "everyone") String username, String password){
        System.out.println("username:"+username);
        System.out.println("password:"+password);
        return "success";
    }

4.4.2、頁面請求示例

4、SpringMVC之獲取請求參數(shù)

<form th:action="@{/param}" method="post">
    用戶名:<input type="text" name="name">
    密碼:<input type="password" name="password">
    <input type="submit" value="登錄">
</form>

4.4.3、有傳參的測試效果

4、SpringMVC之獲取請求參數(shù)

+++++++++++++++++++++++++分割線+++++++++++++++++++++++++

4、SpringMVC之獲取請求參數(shù)

+++++++++++++++++++++++++分割線+++++++++++++++++++++++++

4、SpringMVC之獲取請求參數(shù)

4.4.4、無傳參的測試效果

4、SpringMVC之獲取請求參數(shù)

+++++++++++++++++++++++++分割線+++++++++++++++++++++++++

4、SpringMVC之獲取請求參數(shù)

+++++++++++++++++++++++++分割線+++++++++++++++++++++++++

4、SpringMVC之獲取請求參數(shù)

4.5、@RequestHeader和@CookieValue

  • @RequestHeader 注解用于將請求頭信息和控制器方法的形參建立映射關(guān)系,其三個屬性的用法和@RequestParam的相同

  • @CookieValue 注解用于將Cookie數(shù)據(jù)和控制器方法的形參建立映射關(guān)系,其三個屬性的用法和@RequestParam的相同

4.5.1、控制器方法示例

4、SpringMVC之獲取請求參數(shù)

    @RequestMapping("/param")
    public String getParam(
            @RequestParam(value = "name",required = true,defaultValue = "everyone") String username,
            String password,
            @RequestHeader("referer") String referer,
            @CookieValue(value = "JSESSIONID",required = false) String jsessionId
    ) {
        System.out.println("username:"+username);
        System.out.println("password:"+password);
        System.out.println("referer:"+referer);
        System.out.println("jsessionId:"+jsessionId);
        return "success";
    }

4.5.2、測試效果

4、SpringMVC之獲取請求參數(shù)

+++++++++++++++++++++++++分割線+++++++++++++++++++++++++

4、SpringMVC之獲取請求參數(shù)

+++++++++++++++++++++++++分割線+++++++++++++++++++++++++

4、SpringMVC之獲取請求參數(shù)

4.6、通過實體類形參獲取請求參數(shù)(常用)

4.6.1、實體類示例

4、SpringMVC之獲取請求參數(shù)

注意:要保證實體類的屬性名和請求參數(shù)名一致

package org.rain.pojo;

/**
 * @author liaojy
 * @date 2023/10/10 - 8:45
 */
public class User {
    
    private Integer id;

    private String username;

    private String password;

    public User() {
    }

    public User(Integer id, String username, String password) {
        this.id = id;
        this.username = username;
        this.password = password;
    }

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    @Override
    public String toString() {
        return "User{" +
                "id=" + id +
                ", username='" + username + '\'' +
                ", password='" + password + '\'' +
                '}';
    }
}

4.6.2、控制器方法示例

4、SpringMVC之獲取請求參數(shù)

    @RequestMapping("/param/pojo")
    public String getParamByPojo(User user){
        System.out.println(user);
        return "success";
    }

4.6.3、頁面請求示例

4、SpringMVC之獲取請求參數(shù)

<form th:action="@{/param/pojo}" method="post">
    用戶名:<input type="text" name="username">
    密碼:<input type="password" name="password">
    <input type="submit" value="登錄">
</form>

4.6.4、測試效果

4、SpringMVC之獲取請求參數(shù)

+++++++++++++++++++++++++分割線+++++++++++++++++++++++++

4、SpringMVC之獲取請求參數(shù)

+++++++++++++++++++++++++分割線+++++++++++++++++++++++++

4、SpringMVC之獲取請求參數(shù)

4.7、解決獲取請求參數(shù)的亂碼問題

4.7.1、post請求的亂碼解決方式

4、SpringMVC之獲取請求參數(shù)

注意:SpringMVC中處理編碼的過濾器一定要配置到其他過濾器之前,否則無效;過濾器的順序根據(jù)filter-mapping標(biāo)簽的排序決定。

    <!--配置springMVC的編碼過濾器-->
    <filter>
        <filter-name>CharacterEncodingFilter</filter-name>
        <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
        <init-param>
            <!--該初始化參數(shù)用于設(shè)置請求參數(shù)的編碼方式-->
            <param-name>encoding</param-name>
            <param-value>UTF-8</param-value>
        </init-param>
        <init-param>
            <!--該初始化參數(shù)用于設(shè)置響應(yīng)參數(shù)也使用同樣的編碼方式-->
            <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>

4.7.2、get請求的亂碼解決方式

從tomcat8及以后的版本,get請求的亂碼問題默認已被官方解決;本例展示tomcat7的解決方式。

  • 找到并打開編輯該文件:tomcat安裝目錄\conf\server.xml

  • 在第一個 Connector 標(biāo)簽中,添加對應(yīng)的 UTF 編碼

4、SpringMVC之獲取請求參數(shù)文章來源地址http://www.zghlxwxcb.cn/news/detail-711723.html

URIEncoding="UTF-8"

到了這里,關(guān)于4、SpringMVC之獲取請求參數(shù)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 4、SpringMVC之獲取請求參數(shù)

    4、SpringMVC之獲取請求參數(shù)

    創(chuàng)建名為spring_mvc_demo2的新module,過程參考3.1節(jié) 如果控制器方法有HttpServletRequest類型的形參,DispatcherServlet就會將封裝了當(dāng)前請求的對象傳給控制器方法 +++++++++++++++++++++++++分割線+++++++++++++++++++++++++ +++++++++++++++++++++++++分割線+++++++++++++++++++++++++ +++++++++++++++++++++++++分割線++++++

    2024年02月08日
    瀏覽(20)
  • 詳解 SpringMVC 中獲取請求參數(shù)

    詳解 SpringMVC 中獲取請求參數(shù)

    在Spring MVC中,獲取請求參數(shù)有很多種方式,先來個開盤小菜,使用@RequestParam注解來獲取請求參數(shù)。 @RequestParam注解可以用于方法的參數(shù)上,用于指定請求參數(shù)的名稱。例如,如果你的請求參數(shù)名為\\\"username\\\",你可以在方法參數(shù)上使用@RequestParam(“username”)來獲取該參數(shù)的值。

    2024年02月10日
    瀏覽(25)
  • springMVC獲取請求參數(shù)的方式

    將HttpServletRequest作為控制器方法的形參,此時HttpServletRequest類型的參數(shù)表示封裝當(dāng)前請求的請求報文 只需要在控制器方法的形參位置,設(shè)置一個形參,形參的名字和請求參數(shù)的名字一致即可 后端根據(jù)前端頁面?zhèn)魅氲膶嶋H參數(shù)進行一一取值(參數(shù)的少的情況下建議使用) @Re

    2024年02月02日
    瀏覽(29)
  • SpringMVC之獲取請求參數(shù)和域?qū)ο蠊蚕頂?shù)據(jù)

    學(xué)習(xí)的最大理由是想擺脫平庸,早一天就多一份人生的精彩;遲一天就多一天平庸的困擾。各位小伙伴,如果您: 想系統(tǒng)/深入學(xué)習(xí)某技術(shù)知識點… 一個人摸索學(xué)習(xí)很難堅持,想組團高效學(xué)習(xí)… 想寫博客但無從下手,急需寫作干貨注入能量… 熱愛寫作,愿意讓自己成為更好

    2024年02月04日
    瀏覽(18)
  • SpringMVC中Controller層獲取前端請求參數(shù)的幾種方式

    SpringMVC中Controller層獲取前端請求參數(shù)的幾種方式

    在controller層方法中定義形參,若請求時參數(shù)名、參數(shù)類型相同,則SpringMVC會自動綁定。 下面使用PostMan進行測試發(fā)現(xiàn),無論是將參數(shù)直接拼接到URL還是寫在form-data里;只要參數(shù)類型和參數(shù)名與方法形參相同,則會自動綁定 當(dāng)controller層中的方法形參名與請求參數(shù)名不同時,可

    2024年02月11日
    瀏覽(25)
  • postman 獲取請求參數(shù)值并設(shè)置為環(huán)境變量

    postman 獲取請求參數(shù)值并設(shè)置為環(huán)境變量

    說明:使用postman時有時需要保存請求body中某個值在其他接口使用 獲取請求值(寫在pre-request Script中) 補充: 獲取返回值數(shù)據(jù),同理(寫在tests中)

    2024年02月11日
    瀏覽(39)
  • 【SpringMVC】參數(shù)傳遞與用戶請求和響應(yīng)

    【SpringMVC】參數(shù)傳遞與用戶請求和響應(yīng)

    目錄 一、Postman 工具使用 1.1 Postman安裝 1.2 Postman的使用 1.2.1 創(chuàng)建WorkSpace工作空間 1.2.2 創(chuàng)建請求 ? 二、參數(shù)傳遞 2.1 添加 Slf4j 依賴 2.2?普通傳參 知識點1:@RequestMapping 知識點2:@RequestParam 2.3 路徑傳參 知識點3:@PathVariable 2.4 Json數(shù)據(jù)傳參 ?知識點4:@RequestBody ? 三、響應(yīng) 3.1 響

    2024年02月09日
    瀏覽(22)
  • SpringMVC項目請求(JSON數(shù)據(jù)傳輸參數(shù))

    SpringMVC項目請求(JSON數(shù)據(jù)傳輸參數(shù))

    現(xiàn)在比較流行的開發(fā)方式為異步調(diào)用。前后臺以異步方式進行交換,傳輸?shù)臄?shù)據(jù)使用的是 JSON ,所以前端如果發(fā)送的是JSON數(shù)據(jù),后端該如何接收? 對于JSON數(shù)據(jù)類型,我們常見的有三種: json普通數(shù)組([“value1”,“value2”,“value3”,…]) json對象({key1:value1,key2:value2,…}) json對象

    2023年04月18日
    瀏覽(21)
  • SpringMVC 獲取參數(shù)

    SpringMVC 獲取參數(shù)

    1、通過ServletAPI獲取 將HttpServletRequest作為控制器方法的形參,此時HttpServletRequest類型的參數(shù)表示封裝了當(dāng)前請求的請求報文的對象 2、通過控制器方法的形參獲取請求參數(shù) 在控制器方法的形參位置,設(shè)置和請求參數(shù)同名的形參,當(dāng)瀏覽器發(fā)送請求,匹配到請求映射時,在Dis

    2024年01月21日
    瀏覽(19)
  • SpringMvc參數(shù)獲取

    SpringMvc參數(shù)獲取

    目錄 一、封裝為簡單數(shù)據(jù)類型 二、封裝為單個對象 (1)實體類 (2)控制層 三、封裝為關(guān)聯(lián)對象 (1)實體類 (2)控制層 (3)使用表單發(fā)送帶有參數(shù)的請求 四、封裝為List集合 (1)控制層 五、封裝為對象類型集合 (1)實體類 六、封裝為Map集合 (1)實體類 七、使用

    2024年02月07日
    瀏覽(13)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包