POST提交大量數據,致使後面數據丟失

這個問題,解決了好久,先簡單說下我解決的具體思路:javascript

首先:form表單提交,致使後面數據丟失,考慮了提交大量的數據,致使後臺溢出,剩餘數據量丟失,因此從網上搜了教程:html

 

參考連接:java

http://www.javashuo.com/article/p-nxvlgxst-my.htmlgit

 

 

在tomcat中添加  maxPostSize="0"github

結果調試無論用,而後通過多方的搜索,說是form表單添加屬性api

 

https://github.com/DimonHo/DH_Note/issues/7瀏覽器

 發現仍是不行,最後有點泄氣兒了,終於找到了解決方案:tomcat

須要在tomcat中同時添加  maxParameterCount、maxPostSize 、maxSavePostSize。安全

<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" maxSavePostSize="-1" maxPostSize="-1" maxParameterCount="-1"/>

 

便可解決問題。服務器

參考連接:

http://www.javashuo.com/article/p-quoolvcu-bs.html

 

 maxParameterCount 解釋:

    http-get請求中容許傳遞的查詢字符串的最大個數,儘管各類http瀏覽器(proxy工具)都會對http-get請求的長度和查詢字符串的個數有限制,你仍然能夠經過tomcat再次設定合適的值。parameter個數越多,事實上對tomcat的內存開支更大,不少時候處於安全或者實用的角度考慮,maxParameterCount的值都不會太大。默認值爲10000,」-1″表示無限制。若是請求中參數的個數超過限定值,請求將會被拒絕。

 

這個解決方案不是很好,由於不對提交參數進行限制,可能會形成服務器壓力過大,嚴重影響程序性能,帶來很是糟糕的用戶體驗。但因爲這是一個老舊的系統,這是設計上的問題,要進行完全的調整,改動會很大,因此目前只能經過這種方式來緩解一下,往後確定是要重構的。若是是一個正在開發的項目,絕對不能這麼作,惟一的方法就是修改設計,不容許一次提交如此多的數據。

https://blog.csdn.net/liushuijinger/article/details/45914581

相關文章
相關標籤/搜索