【jsp】ajax使用post提交参数的内容过多时出现达到了post请求大小限制

一个jsp+java做的web项目中,对用户在textarea中输入的内容进行encudURIComponent编码,然后提交到后台服务器。但是用户输入的内容过多,比如在1000字(中文)时,由于对文字使用了encudURIComponent编码,所以会造成提交的数据内容过长,此时会报“达到了post请求大小限制”的错误。(如下图)服务器使用的tomcat9,在tomcat的server.xml中的:<Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443" maxPostSize="-1"/> 设置了maxPostSize="-1"或者maxPostSize="0"均无效。求大神赐教解决办法!!!
最新回答
心素如简

2024-09-22 03:48:14

如果遇到这种情况,你需要做如下事情:

1)监听Request请求头Connection是不是keep-alive,此值表示客户端与服务器需要保持长连接

2)监听服务器的Response响应,看看返回的状态码是不是100--199之间,如果不是,说明是你的浏览器不支持请求续点.即一次请求过大,需要分批才能完成一个完整的请求动作。

3)Tomcat里的maxPostSize尝试改为maxPostSize=1024*2(不要超过2MB大小,单位字节),如果不行再改为:

<!--HTTP 协议改为最新版本的HTTP协议-->
<Connector port="8080" 
           enableLookups="false" redirectPort="8443" debug="0"
           protocol="HTTP/2.0" maxPostSize="0"/>