1. 程式人生 > >springMVC引數繫結失敗的原因有以下2種

springMVC引數繫結失敗的原因有以下2種

新搭建一個springMVC專案,發現通過postman 呼叫post方法,提交Body設定成form-data時,controller層無法自動繫結引數,翻閱資料後,發現是由下列1的原因引起。

1.form表單檔案上傳

設定enctype=”multipart/form-data”時會導致引數繫結失敗。
解決方法:
需要在mvc配置檔案中進行如下配置

<!-- 檔案上傳 -->
<bean id="multipartResolver"
    class="org.springframework.web.multipart.commons.CommonsMultipartResolver"
>
<!-- 設定上傳檔案的最大尺寸為5MB --> <property name="maxUploadSize"> <value>5242880</value> </property> </bean>

2.tomcat伺服器配置

在tomcat伺服器service.xml配置檔案中配置maxPostSize=”0”會導致引數繫結失敗

<Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout
="20000" maxPostSize="0" redirectPort="8443" />

解決方法:
maxPostSize=”0”會導致 post 可傳遞的大小限制為 0 。在某些版本中會有此問題,如果想要設定可以設定為 maxPostSize=”-1”,表示不限制post引數。

form-data和x-www-form-urlencoded的區別:

1、form-data:

就是http請求中的multipart/form-data,它會將表單的資料處理為一條訊息,以標籤為單元,用分隔符分開。既可以上傳鍵值對,也可以上傳檔案。當上傳的欄位是檔案時,會有Content-Type來表名檔案型別;content-disposition,用來說明欄位的一些資訊;
由於有boundary隔離,所以multipart/form-data既可以上傳檔案,也可以上傳鍵值對,它採用了鍵值對的方式,所以可以上傳多個檔案。

2、x-www-form-urlencoded:
就是application/x-www-from-urlencoded,會將表單內的資料轉換為鍵值對,比如,name=java&age = 23

相關推薦

springMVC引數失敗原因以下2

新搭建一個springMVC專案,發現通過postman 呼叫post方法,提交Body設定成form-data時,controller層無法自動繫結引數,翻閱資料後,發現是由下列1的原因引起。 1.form表單檔案上傳 設定enctype=”multipa

SpringMVC 引數相關注解

@RequestParams 作用:把請求中指定名稱的引數給控制器中的形參賦值。 屬性: // <a href="account/save3.do?id=100&username=jack"> 儲存 2</a>

06-springMVC-引數-01

springMVC引數的繫結01 前言: 1. 簡單型別繫結 1.1 前臺請求引數和後臺處理器形參**同名** 1.2 前臺請求引數和後臺處理器形參**不同名** 1.3

springmvc引數

1. 基本資料型別(以int為例,其他類似): Controller程式碼: @RequestMapping("saysth.do") public void test(int count) { } 表單程式碼: <form action="saysth.do"

SpringMVC引數(從請求中接受引數

引數繫結(從請求中接收引數) 1)預設型別: 在controller方法中可以有也可以沒有,看自己需求隨意新增. httpservletRqeust,httpServletResponse,htt

SpringMVC引數註解

以下文章轉自“開濤的部落格”在SpringMVC 的控制器中提供了很多請求資料繫結的註解,以及功能處理方法支援的引數型別:請求引數繫結註解:@RequestParam繫結單個請求引數值;@PathVariable繫結URI模板變數值;@CookieValue繫結Cookie資

springMVC引數原理

主要核心的類是ServletInvocableHandlerMethod類,它是繼承InvocableHandlerMethod類,也就是InvocableHandlerMethod的子類。核心的繫結引數的方法是getMethodArgumentValues方法,顧名思義,方

SpringMVC 引數詳解

概述 記得之前跟前端同事聯調介面的時候,後端springMVC需要接收陣列型別的引數,然後跟前端說需要傳陣列型別過來。後來前端童鞋傳了陣列,但是後端接收不成功,聯調失敗。那時候由於時間關係沒有仔細研究這塊,當時想了個辦法就是前端傳一個json字串,後端換成接收

springmvc 引數註解詳解

簡介   Handler method引數繫結常用的註解,我們根據它們處理request的不同內容部分來看主要分為四類:   A. 處理requesr uri部分的註解,@PathVariable   B. 處理 request header部分的註解,@RequestH

Spring MVC引數失敗

1.客戶端請求到達Spring MVC的Controller層以後,呼叫HandlerAdapter的方法進行方法以及引數繫結,其中這個繫結過程是自動完成的。<mvc:annotation-driven />此註解預設已匯入將json資料轉換為Java物件的be

springmvc(十六)springmvc註解開發-springmvc引數-map

也通過在包裝pojo中定義map型別屬性。 在包裝類中定義Map物件,並新增get/set方法,action使用包裝物件接收。 包裝類中定義Map物件如下: Public class QueryVo

SpringMVC引數學習總結【前後端資料引數傳遞】

目錄 1. 繫結機制 2. 支援的資料型別 3. 引數請求中文亂碼解決 4.自定義型別轉換器 5、最後引數繫結學習小結 SpringMVC作為Controller

二、Springmvc+Mybatis 引數之預設引數 簡單型別 POJO POST亂碼問題

web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/

SpringMVC入門丶請求引數丶常用註解

SpringMVC入門 建立WEB工程,引入依賴 <!-- 版本鎖定 --> <properties> <spring.version>5.0.2.RELEASE</spring.version> </properties> &

SpringMVC框架(1)之(1.3 自定義引數

一、自定義引數繫結-屬性編輯器(不推薦) 問題:① 4.1 itemsList.jsp 中增加顯示 “訂購日期” 屬性;② JSP頁面中日期拿到的是字串,而提交到Controller中POJO類ItemsCustom 屬性物件的日期欄位要變成Date型別,即字串轉換成日期型別,無法自動轉

SpringMVC框架(1)之(1.3 引數

引數繫結 一、繫結簡單型別引數:整型、字串、float/double、日期、布林(eg:Controller中方法 public String editItemsSubmit(String name,Float price)) (eg:4.2 editItems.jsp 中 name

Springmvc引數

spring引數繫結過程 概念:從客戶端請求key/value資料,經過引數繫結,將key/value資料繫結到controller方法形參上。 springmvc中,接受頁面提交的資料是通過方法形參來接收,而不是在controller類定義成員變數來接收 第一步:

SpringMVC 完美解決PUT請求引數問題(普通表單和檔案表單)

一 解決方案 修改web.xml配置檔案 將下面配置拷貝進去(在原有的web-app節點裡面配置 其它配置不變) <!-- 處理PUT提交引數(只對基礎表單生效) --> <filter> <filter-name>httpPutFormContentFilter

<SpringMvc>入門三 引數

  1.get請求 <%--請求引數的繫結--%> <%--get請求引數--%> <a href="/param/testParam1?username=tom&password=123456">請求引數繫結</a

SpringMVC請求引數(用法)

目錄 1.把請求資料封裝到JavaBean類中 (1)自定義一個JavaBean類 package com.heima.domain; import java.io.Serializ