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