tomcat獲取post傳的參數,只接收到前半部分參數,后半部分參數沒有接收到
可能的原因是:
tomcat中maxParameterCount是用來限制請求中的最大參數量,默認是10000,如果超過這個數值,會默認把多出的參數截取掉
(將被容器自動解析的最大數量的參數和值對(GET加上POST)。參數值對超出此限制將被忽略。值小於0表示沒有限制。如果沒有指定,默認為10000。請注意, FailedRequestFilter
過濾器可以用來拒絕達到了極限值的請求。)
如果超過默認值的話,可以手動設值
設為-1 沒有限制
設為50000 接收上限是 設定的值
<Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443" maxParameterCount="-1" />
tomcat 公共屬性:
allowTrace
一個布爾值,它可以用來啟用或禁用跟蹤HTTP方法。如果沒有指定,該屬性設置為false。
asyncTimeout
默認超時時間以毫秒為單位的異步請求。如果沒有指定,該屬性被設置為10000(10秒)。
enableLookups
如果你想request.getRemoteHost()的調用 執行,以便返回的遠程客戶端的實際主機名的DNS查詢,則設置為true。設置為false時跳過DNS查找,並返回字符串形式的IP地址(從而提高性能)。默認情況下,禁用DNS查找。
maxHeaderCount
容器允許的請求頭字段的最大數目。請求中包含比指定的限制更多的頭字段將被拒絕。值小於0表示沒有限制。如果沒有指定,默認設置為100。
maxParameterCount
將被容器自動解析的最大數量的參數和值對(GET加上POST)。參數值對超出此限制將被忽略。值小於0表示沒有限制。如果沒有指定,默認為10000。請注意, FailedRequestFilter 過濾器可以用來拒絕達到了極限值的請求。
maxPostSize
將被容器以FORM URL參數形式處理的最大長度(以字節為單位)的POST。通過設置此屬性的值小於或等於0可以禁用該限制。如果沒有指定,該屬性被設置為2097152(2兆字節)。
maxSavePostSize
將被容器在FORM或CLIENT-CERT認證中保存/緩沖的POST的最大尺寸(以字節為單位)。對於這兩種類型的身份驗證,在用戶身份驗證之 前,POST將被保存/緩沖。對於POST CLIENT-CERT認證,處理該請求的SSL握手和緩沖清空期間,POST將被緩存。對於Form認證,POST將被保存,同時用戶將被重定向到登陸 表單。POST將被一直保留直到用戶成功認證或者認證請求關聯的會話超時。將此屬性設置為-1可以禁用此限制。將此屬性設置為0,POST數據在身份驗證 過程中將不被保存。如果沒有指定,該屬性設置為4096(4千字節)。
parseBodyMethods
以逗號分隔的HTTP方法列表,通過方法列表,等同於POST方法,request 正文將被解析成請求參數。這在RESTful應用程序要支持以POST式的語義解析PUT請求中是非常有用的。需要注意的是設置其他值(不是POST)會導致Tomcat的行為違反servlet規范的目的。在這里為了符合HTTP規范明確禁止HTTP方法TRACE。默認值是POST
port
TCP端口號,連接器利用該端口號將創建一個服務器套接字,並等待傳入的連接。你的操作系統將只允許一個服務器應用程序在一個特定的IP地址偵聽特定的端口號。如果使用特殊值0(零),則Tomcat將為連接器隨機選擇一個空閑的端口。這是通常只用在嵌入式和測試應用程序。
protocol
設置協議來處理傳入流量。默認值是 HTTP/1.1,將使用自動切換機制來選擇阻塞的基於Java的連接器或APR /native 為基礎的連接器。如果PATH(Windows)或LD_LIBRARY_PATH(在大多數Unix系統)的環境變量包含在Tomcat的本地庫里,APR /native 連接器將被使用。如果在本地庫中無法找到,阻斷基於Java的連接器將被使用。需要注意的是使用HTTPS比Java連接器與APR /native 連接器有不同的設置。一個明確的協議,而不是依靠上述自動切換機構,可用以下值:
org.apache.coyote.http11.Http11Protocol -阻塞式的Java連接器org.apache.coyote.http11.Http11NioProtocol -不阻塞Java連接器org.apache.coyote.http11.Http11AprProtocol的 -的APR / native 連接器
也可以使用的用戶自定義的實現。看一看在我們的連接器比較圖。Java連接器,HTTP和HTTPS,配置是相同的。 APR連接器和APR特定的SSL設置的更多信息,請訪問APR文檔
proxyName
如果這個連接正在使用的代理服務器配置,配置該屬性指定的服務器的名稱,可以調用request.getServerName()返回。有關更多信息,請參見代理支持。
proxyPort
如果這個連接正在使用的代理服務器配置,配置該屬性指定服務器端口,可以調用request.getServerPort()返回。有關更多信息,請參見代理支持。
redirectPort
如果該連接器支持非SSL請求,並且接收到的請求為滿足安全約束需要SSL傳輸, Catalina 將自動將請求重定向到指定的端口號。
scheme
將該屬性設置為你想調用request.getScheme()返回的協議的名稱。例如,對於SSL連接器,你會將此屬性設置為“HTTPS ”。默認值是“ HTTP ”。
secure
如果你想調用request.isSecure()收到此連接器的請求返回true,請該該屬性設置為true。您希望SSL連接器或非SSL連接器接收數據通過一個SSL加速器,像加密卡,SSL設備,甚至一個web服務器。默認值是假的。
URIEncoding
這將指定使用的字符編碼,來解碼URI字符。如果沒有指定,ISO-8859-1將被使用。
useBodyEncodingForURI
這指定是否應該用於URI查詢參數,而不是使用URIEncoding contentType中指定的編碼。此設置兼容性Tomcat 4.1.x版(該版在contentType中指定編碼,或者使用request.setCharacterEncoding的方法顯式設置(參數為 URL傳來的值)。默認值false。
useIPVHosts
將該屬性設置為true會導致Tomcat使用收到請求的IP地址,來確定將請求發送到哪個主機。默認值是假的。
xpoweredBy
將此屬性設置為true會導致Tomcat支持使用Servlet規范的通知,(在規范中推薦使用頭字段)。默認值是假的。