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

Spring MVC 參數(shù)接收

這篇具有很好參考價(jià)值的文章主要介紹了Spring MVC 參數(shù)接收。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

參數(shù)接收

Springmvc中,接收頁(yè)面提交的數(shù)據(jù)是通過(guò)方法形參來(lái)接收:

  • 處理器適配器調(diào)用springmvc使用反射將前端提交的參數(shù)傳遞給controller方法的形參

  • springmvc接收的參數(shù)都是String類型,所以spirngmvc提供了很多converter(轉(zhuǎn)換器)在特殊情況下需要自定義converter,如對(duì)日期數(shù)據(jù)

基本數(shù)據(jù)類型

  • 編寫controller

    @Controller
    @RequestMapping("/account")
    public class AccountController {
    ?
     ? ?@RequestMapping("/findAccount5")
     ? ?public String findAccount5(String username,Model model){
     ? ? ? ?model.addAttribute("msg", username);
     ? ? ? ?return "success";
     ?  }
     ? ?
     ? ?@RequestMapping("/findAccount6")
     ? ?public String findAccount6(String username,Integer age,Model model){
     ? ? ? ?model.addAttribute("msg", username+" "+age);
     ? ? ? ?return "success";
     ?  }
    }
  • 在index.jsp里面定義超鏈接

    <a href="/account/findAccount5?username=eric">參數(shù)接收-基本數(shù)據(jù)類型</a>
    <a href="/account/findAccount6?username=eric&age=22">參數(shù)接收-多個(gè)基本數(shù)據(jù)類型</a>

POJO類型參數(shù)綁定

  • 編寫pojo

    public class Account implements Serializable {
     ? ?private Integer id;
     ? ?private String name;
     ? ?private Float money;
     ? ?private Address address;
     ? //省略get set toString方法
     }
    public class Address implements Serializable {
     ? ?private String provinceName;
     ? ?private String cityName;
     ? ? //省略get set toString方法
     }
  • 編寫controller

    package com.by.controller;
    ?
    import com.by.pojo.Account;
    import org.springframework.stereotype.Controller;
    import org.springframework.ui.Model;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RequestMethod;
    import org.springframework.web.servlet.ModelAndView;
    ?
    @Controller
    @RequestMapping("/account")
    public class AccountController {
    ?
     ? ?@RequestMapping("/saveAccount")
     ? ?public String saveAccount(Account account, Model model){
     ? ? ? ?model.addAttribute("msg", account);
     ? ? ? ?return "success";
     ?  }
    }
  • 在index.jsp里面添加表單

    <form action="account/saveAccount" method="post">
     ?  賬戶名稱:<input type="text" name="name"><br/>
     ?  賬戶金額:<input type="text" name="money"><br/>
     ?  賬戶省份:<input type="text" name="address.provinceName"><br/>
     ?  賬戶城市:<input type="text" name="address.cityName"><br/>
     ? ?<input type="submit" value="保存">
    </form>

restful風(fēng)格

  • restful概述:

(Representational State Transfer,表現(xiàn)層狀態(tài)轉(zhuǎn)移):URL定位資源時(shí),用HTTP動(dòng)詞(GET,POST,DELETE,PUT)描述操作

restful風(fēng)格URL

  • 在Restful之前的操作: http://127.0.0.1/user/query?id=1 根據(jù)用戶id查詢用戶數(shù)據(jù) http://127.0.0.1/user/save 新增用戶 http://127.0.0.1/user/update?id=1 修改用戶信息 http://127.0.0.1/user/delete?id=1 刪除用戶信息

  • RESTful用法: http://127.0.0.1/user/1 GET 根據(jù)用戶id查詢用戶數(shù)據(jù) http://127.0.0.1/user POST 新增用戶 http://127.0.0.1/user PUT 修改用戶信息 http://127.0.0.1/user/1 DELETE 刪除用戶信息

  • RESTful總結(jié):

    Restful風(fēng)格就是請(qǐng)求url統(tǒng)一,根據(jù)不同的請(qǐng)求方式,請(qǐng)求不同的后臺(tái)方法。如果需要攜帶參數(shù),在url上使用/{}占位符。

@PathVaribale

  • 作用

    用于綁定url中的占位符。例如:/account/{id},這個(gè){id}就是url占位符

    url支持占位符是spring3.0之后加入的,是springmvc支持rest風(fēng)格url的重要標(biāo)志。

  • 描述需要使用指定的請(qǐng)求方式來(lái)請(qǐng)求該方法

    @Controller
    @RequestMapping("/account")
    public class AccountController {
     ? ?
        @RequestMapping(value="/findAccount7/{id}")
     ? ?public String findAccount11(@PathVariable Integer id, Model model){
     ? ? ? ?model.addAttribute("msg", id);
     ? ? ? ?return "success";
     ?  }
    }
  • 測(cè)試:在index.jsp里面定義超鏈接

    <a href="/account/findAccount7/123">restful傳參</a><br>

請(qǐng)求參數(shù)亂碼問(wèn)題

POST請(qǐng)求方式解決亂碼問(wèn)題

  • 在web.xml里面設(shè)置編碼過(guò)濾器

    <filter>
     ?<filter-name>CharacterEncodingFilter</filter-name>
     ?<filter-class>
     ?  org.springframework.web.filter.CharacterEncodingFilter
     ?</filter-class>
     ?<!-- 設(shè)置過(guò)濾器中的屬性值 -->
     ?<init-param>
     ? ?<param-name>encoding</param-name>
     ? ?<param-value>UTF-8</param-value>
     ?</init-param>
    </filter>
    <!-- 過(guò)濾所有請(qǐng)求 -->
    <filter-mapping>
     ?<filter-name>CharacterEncodingFilter</filter-name>
     ?<url-pattern>/*</url-pattern>
    </filter-mapping>
  • 測(cè)試

    Spring MVC 參數(shù)接收,Spring MVC,spring,mvc,java

GET請(qǐng)求方式解決亂碼問(wèn)題

  • tomcat對(duì)GET和POST請(qǐng)求處理方式是不同的,GET請(qǐng)求的編碼問(wèn)題,要改tomcat的 配置信息,如下:

    <plugin>
     ? ?<groupId>org.apache.tomcat.maven</groupId>
     ? ?<artifactId>tomcat7-maven-plugin</artifactId>
     ? ?<version>2.2</version>
     ? ?<configuration>
     ? ? ? ?<port>8080</port>
     ? ? ? ?<path>/</path>
     ? ? ? ?<!--按UTF-8進(jìn)行編碼-->
     ? ? ? ?<uriEncoding>UTF-8</uriEncoding>
     ? ?</configuration>
    </plugin>

自定義類型轉(zhuǎn)換器

使用場(chǎng)景

  • 在index.jsp里面添加日期類型

     ? ?<form action="account/saveAccount" method="post">
     ? ?  賬戶名稱:<input type="text" name="name"><br/>
     ? ?  賬戶金額:<input type="text" name="money"><br/>
     ? ?  賬戶省份:<input type="text" name="address.provinceName"><br/>
     ? ?  賬戶城市:<input type="text" name="address.cityName"><br/>
     ? ?  開戶日期:<input type="text" name="date"><br/>
     ? ? ?<input type="submit" value="保存">
     ? ?</form>
  • 在pojo里面添加日期類型

    public class Account implements Serializable {
     ? ?private Integer id;
     ? ?private String name;
     ? ?private Float money;
     ? ?private Address address;
     ? ?//添加日期類型
     ? ?private Date date;
     ? ?//省略get set toString方法
    } ? ?
  • 測(cè)試

    Spring MVC 參數(shù)接收,Spring MVC,spring,mvc,javaSpring MVC 參數(shù)接收,Spring MVC,spring,mvc,java
  • 原因

    我們前臺(tái)傳遞的是字符串類型的參數(shù),但是后臺(tái)使用的是Date類型接收的。我們期望springmvc可以幫我們做數(shù)據(jù)類型的自動(dòng)轉(zhuǎn)換,顯然沒有做,所以我們需要自己自定義類型轉(zhuǎn)換器。

自定義類型轉(zhuǎn)換器

  1. Converter接口說(shuō)明:

    Spring MVC 參數(shù)接收,Spring MVC,spring,mvc,java
  2. 定義一個(gè)類,實(shí)現(xiàn)Converter接口

    public class DateConverter implements Converter<String, Date> {
     ? ?@Override
     ? ?public Date convert(String source) {
     ? ? ? ?try {
     ? ? ? ? ? ?DateFormat format = new SimpleDateFormat("yyyy-MM-dd");
     ? ? ? ? ? ?return format.parse(source);
     ? ? ?  } catch (Exception e) {
     ? ? ? ? ? ?e.printStackTrace();
     ? ? ?  }
     ? ? ? ?return null;
     ?  }
    }
  3. 在 springmvc.xml配置文件中配置類型轉(zhuǎn)換器

        <!--開啟springmvc注解支持-->
     ? ?<mvc:annotation-driven conversion-service="cs"></mvc:annotation-driven>
     ? ?<!-- 配置類型轉(zhuǎn)換器工廠 -->
     ? ?<bean id="cs"
     ? ? ? ? ?class="org.springframework.context.support.ConversionServiceFactoryBean">
     ? ? ? ?<!-- 給工廠注入一個(gè)新的類型轉(zhuǎn)換器 -->
     ? ? ? ?<property name="converters">
     ? ? ? ? ? ?<set>
     ? ? ? ? ? ? ? ?<!-- 配置自定義類型轉(zhuǎn)換器 -->
     ? ? ? ? ? ? ? ?<bean class="com.by.converter.DateConverter"></bean>
     ? ? ? ? ? ?</set>
     ? ? ? ?</property>
     ? ?</bean>

使用ServletAPI接收參數(shù)

  • 編寫controller

    @Controller
    @RequestMapping("/account")
    public class AccountController {
    ?
     ? ?@RequestMapping("/findAccount8")
     ? ?public String findAccount8(HttpServletRequest request, 
     ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? HttpServletResponse response){
     ? ? ? ?String username = request.getParameter("name");
     ? ? ? ?String age = request.getParameter("age");
     ? ? ? ?request.setAttribute("msg",username+" "+age);
     ? ? ? ?return "success";
     ?  }
    }
  • 在index.jsp里面定義超鏈接文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-819397.html

    <a href="/account/findAccount8?username=eric&age=19">Servlet接收參數(shù)</a>

到了這里,關(guān)于Spring MVC 參數(shù)接收的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • 在 Spring MVC 中,用于接收前端傳遞的參數(shù)的注解常用的有以下幾種

    目錄 1、對(duì)于json請(qǐng)求體參數(shù), 2、對(duì)于路徑傳參 3、對(duì)于query傳參 4、對(duì)于form-data參數(shù), 總結(jié): ? 1、對(duì)于json請(qǐng)求體參數(shù), 請(qǐng)求頭的Content-Type應(yīng)為application/json。在前端,可以使用 data格式 傳參。在后端,可以使用 @RequestBody 注解來(lái)接收參數(shù)。 ? 2、對(duì)于路徑傳參 (例如:test/

    2024年01月23日
    瀏覽(19)
  • Java 新手如何使用Spring MVC 中的查詢字符串和查詢參數(shù)

    Java 新手如何使用Spring MVC 中的查詢字符串和查詢參數(shù)

    目錄 前言? ?什么是查詢字符串和查詢參數(shù)? Spring MVC中的查詢參數(shù)? 處理可選參數(shù) 處理多個(gè)值 處理查詢參數(shù)的默認(rèn)值 處理查詢字符串 示例:創(chuàng)建一個(gè)RESTful服務(wù)? 總結(jié) 作者簡(jiǎn)介: ?懶大王敲代碼,計(jì)算機(jī)專業(yè)應(yīng)屆生 今天給大家聊聊Java 新手如何使用Spring MVC 中的查詢字符串

    2024年02月03日
    瀏覽(27)
  • Spring MVC 請(qǐng)求參數(shù)綁定

    Spring MVC 請(qǐng)求參數(shù)綁定

    Spring MVC 是一個(gè)用于構(gòu)建 Web 應(yīng)用程序的框架,它提供了一種方便的方式來(lái)處理 HTTP 請(qǐng)求和響應(yīng)。在 Spring MVC 中,請(qǐng)求參數(shù)綁定是將 HTTP 請(qǐng)求中的參數(shù)映射到控制器方法的參數(shù)上的過(guò)程。Spring MVC 提供了多種方式來(lái)實(shí)現(xiàn)請(qǐng)求參數(shù)綁定。 請(qǐng)求參數(shù)綁定:說(shuō)?了SpringMVC如何接收請(qǐng)求

    2024年02月07日
    瀏覽(21)
  • Spring MVC各種參數(shù)進(jìn)行封裝

    Spring MVC各種參數(shù)進(jìn)行封裝

    目錄 一、簡(jiǎn)單數(shù)據(jù)類型 1.1?控制器方法 1.2?測(cè)試結(jié)果 二、對(duì)象類型 2.1?單個(gè)對(duì)象 2.1.1 控制器方法 2.1.2 測(cè)試結(jié)果 2.2?關(guān)聯(lián)對(duì)象 2.2.1?控制器方法 2.2.2 測(cè)試結(jié)果 三、集合類型 3.1?簡(jiǎn)單數(shù)據(jù)類型集合 3.1.1 控制方法 3.1.2 測(cè)試結(jié)果 3.2?對(duì)象數(shù)據(jù)類型集合 3.2.1 控制器方法 3.2.2 測(cè)試結(jié)

    2024年02月09日
    瀏覽(27)
  • Spring MVC: 請(qǐng)求參數(shù)的獲取

    Spring MVC: 請(qǐng)求參數(shù)的獲取

    在 Spring MVC 介紹中,談到前端控制器 DispatcherServlet 接收客戶端請(qǐng)求,依據(jù)處理器映射 HandlerMapping 配置調(diào)用相應(yīng)的處理器 Controller 。那么,處理器 Controller 具體是如何實(shí)現(xiàn)獲取請(qǐng)求參數(shù)的呢?

    2024年02月10日
    瀏覽(22)
  • 3.5 Spring MVC參數(shù)傳遞

    Spring MVC的Controller接收請(qǐng)求參數(shù)的方式有多種,本節(jié)主要介紹Spring MVC下的HttpServletRequest、基本數(shù)據(jù)類型、Java Bean、數(shù)組、List、Map、JSON參數(shù)傳遞方式,同時(shí)解決POST請(qǐng)求中文亂碼問(wèn)題。 基本數(shù)據(jù)類型以及他們的包裝類。 JSON格式采用鍵值對(duì)的方式來(lái)表示數(shù)據(jù),由花括號(hào) {} 包含對(duì)

    2024年02月13日
    瀏覽(21)
  • 案例13 Spring MVC參數(shù)傳遞案例

    案例13 Spring MVC參數(shù)傳遞案例

    基于Spring MVC實(shí)現(xiàn)HttpServletRequest、基本數(shù)據(jù)類型、Java Bean、數(shù)組、List、Map、JSON方式的參數(shù)傳遞。 選擇Maven快速構(gòu)建web項(xiàng)目,項(xiàng)目名稱為case13-springmvc02。 ? src.main路徑下,執(zhí)行new – Directory操作,選擇java、resources后,執(zhí)行回車鍵。 ? 在web.xml中配置DispatcherServlet。 src.main.java.

    2024年02月13日
    瀏覽(24)
  • Spring Mvc請(qǐng)求處理過(guò)程分析 --- 參數(shù)解析

    調(diào)試示例基于注解@RequestBody,請(qǐng)求的入?yún)⑹莏son格式的請(qǐng)求,本文主要分析spring解析請(qǐng)求參數(shù)的過(guò)程。 InvocableHandlerMethod的getMethodArgumentValues方法,會(huì)解析請(qǐng)求參數(shù)。 在上面的代碼中:args[i] = this.resolvers.resolveArgument(parameter, mavContainer, request, this.dataBinderFactory);完成對(duì)參數(shù)的解析

    2024年02月02日
    瀏覽(22)
  • Spring MVC:常用參數(shù)(注解)的使用和參數(shù)綁定的驗(yàn)證

    Spring MVC:常用參數(shù)(注解)的使用和參數(shù)綁定的驗(yàn)證

    Java EE企業(yè)級(jí)應(yīng)用開發(fā)教程(Spring+Spring MVC+MyBatis)(第2版) Spring MVC常用參數(shù) Spring MVC簡(jiǎn)單應(yīng)用 Spring MVC參數(shù)綁定 本實(shí)驗(yàn)采用的是本地安裝的tomcat8.5.0版本 (1)創(chuàng)建maven 管理的java web工程 (2)添加本地tomcat war包 (3)實(shí)驗(yàn)過(guò)程 輸出Hello Word 訪問(wèn)端口:http://localhost:8080/chapter1

    2024年02月04日
    瀏覽(21)
  • Spring MVC 參數(shù)傳遞和JSON數(shù)據(jù)處理

    Spring MVC 參數(shù)傳遞和JSON數(shù)據(jù)處理

    編寫controller 在index.jsp里面定義超鏈接 編寫controller 在index.jsp里面定義超鏈接 編寫controller 在index.jsp里面定義超鏈接 springmvc 默認(rèn)使用jackson作為json類庫(kù),不需要修改applicationContext-servlet.xml任何配置,只需引入以下類庫(kù)springmvc就可以處理json數(shù)據(jù): @RequestBody:作用是接收前端aja

    2024年01月24日
    瀏覽(21)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包