导致java.lang.IllegalStateException的原因:在tomcat/mod_jk中张贴过大


8

需要调整哪些配置以及它的位置在哪里,以增加允许的最大张贴大小?

20

默认情况下,Apache Tomcat会对其接受的HTTP POST请求的最大大小设置限制。在Tomcat 5中,此限制设置为2 MB。当您尝试上传大于2 MB的文件时,可能会发生此错误。

解决方案是重新配置Tomcat以接受更大的POST请求,通过增加限制或禁用它。这可以通过编辑[TOMCAT_DIR] /conf/server.xml来完成。将HTTPConnector的Tomcat配置参数maxPostSize设置为更大的值(以字节为单位)以增加限制。将其设置为0将禁用大小检查。有关更多信息,请参阅Tomcat Configuration Reference


4

对于其他人来说,我看到你正在耦合Apache HTTP和Tomcat(tomcat/mod_jk),在这种情况下,编辑Coyote/JK2 AJP 1.3连接器的方式与标准连接器相同(Coyote HTTP /1.1),因为AJP1.3 Connector是Tomcat接收数据的地方。

<!-- Define a Coyote/JK2 AJP 1.3 Connector on port 8009 --> 
<Connector port="8009" 
      enableLookups="false" redirectPort="8443" debug="0" 
      protocol="AJP/1.3" maxPostSize="0"/> 

0

IllegalStateException异常的根本原因是java servlet试图在提交响应后写入输出流。

请注意,重定向/分派请求后没有内容添加到响应中。