wuaji 发表于 2017-2-7 10:43:38

TextArea提交失败(Tomcat 关于表单提交数据量过大导致数据丢失的问题)

Tomcat 关于表单提交数据量过大导致数据丢失的问题
  使用ajax的方式提交TextArea内容过大无法提交的原因,使用POST提交也是一样,后台没接收到故怀疑是提交失败,郁闷ing。
  随便上传了一个字符串 ,发现可以正常的提交,不用问肯定是提交的内容超过了限制。
  alert了一下字符串长度 ,超过了3百万页面加载缓慢。想了想,post的提交规则,八成是tomcat的问题。
  在网上查了查 ,果然是这个问题 
  通过查看资料,发现tomcat默认传输最大的数据限制为2M,最后的解决办法是设大tomcat的conf下的server.xml中<Connector 的maxPostSize的值.(设为0是取消POST的大小限制)
  打开tomcat目录下的conf目录,修改server.xml 文件 增加 maxPostSize="0" 即可。其中单位为:byte
  <Connector  
debug="0"  
acceptCount="100"  
connectionTimeout="20000"  
disableUploadTimeout="true"  
port="8080"  
redirectPort="8443"  
enableLookups="false"  
minSpareThreads="25"  
maxSpareThreads="75"  
maxThreads="150"  
maxPostSize="0"  
URIEncoding="GBK"  
  />  
Connector元素属性介绍 
  1、maxHttpHeaderSize
  属性:maxHttpHeaderSize;
  含义:Tomcat可以传输与接受的HTTP请求或响应标题的最大长度,以字节为单位;
  默认值:8192(8kB)
  2、maxKeepAliveRequests
  属性:maxKeepAliveRequests;
  含义:由每个客户端到Tomcat的HTTP keep-alive连接能完成的最大请求数。在完成指定的请求数以后,Tomcat关闭了连接,而客户端必须重新连接。
  设置该值为-1,配置无限连接(注意,在不产生更多的请求的时候,这可能导致连接一直处于open状态)。设置为1表示彻底禁止keep-alive连接;
  默认值:100
  3、maxPostSize
  属性:maxPostSize;
  含义:POST请求参数的最大值,将由容器自动分析;
  默认值:2097152(2 MB)
  
   4、maxSavePostSize
  属性:maxSavePostSize;
  含义:POST请求参数的最大值,在认证过程中将由容器保存;
  默认值:4096(4 kB)
  5、maxSpareThreads
  属性:maxSpareThreads;
  含义:该Connector应保持active实际却处于idle状态的请求处理最大线程数,只要活跃线程数不超过maxThreads的设置值就行。如果在APR或NIO连接器上设置该属性,则不会起作用;
  默认值:50
  6、maxThreads
  属性:maxThreads;
  含义:该Connector应并发运行的请求处理线程最大数。如果把该值设得太高,则服务器将无法阻挡线程调度且需要太长的时间才能完成请求。
  如果设置太小,则Tomcat将不能充分利用服务器计算机的硬件资源,而请求的时间比所需要的时间要长。有关设置最优的硬件与软件组合的细节,请参见Tomcat性能调效。如果在APR或NIO连接器上设置该属性,则不会生效;
  默认值:200
  7、minSpareThreads
  属性:minSpareThreads;
  含义:只要活跃线程数没有超过maxThreads的设置值,该Connector应该保持alive却保持idle状态的请求处理线程的最小数量。如果在APR或NIO连接器上设置该属性,则不会起作用;
  默认值:4
  
   8、noCompressionUserAgents
  属性:noCompressionUserAgents;
  含义:对Web服务器声明的一些HTTP客户端,支持HTTP 1.1 GZIP压缩,但不能正常工作。可以将该属性设置为以逗号分割的常规表达式列表,与阻碍HTTP客户端的用户代理字符串相匹配,而且该连接器对与之相匹配的客户端不使用GZIP压缩;
  默认值:空字符串
  参考:http://my.oschina.net/fangliwen/blog/68164
  http://yqling2008.iteye.com/admin/blogs/1517684
页: [1]
查看完整版本: TextArea提交失败(Tomcat 关于表单提交数据量过大导致数据丢失的问题)