我正在对使用HTTP POST和Servlet在两个系统之间发送XML的Java应用程序进行故障排除。我怀疑问题是XML的增长方式太大了。这可能是问题所在吗?有限制吗?
当它不起作用时,消费者端的request.getParameter("message")
将返回null。这两个应用程序都在TomCat上运行。例如,大小为1.73mb的XML文档无法通过。
答案 0 :(得分:97)
根据this,<Connector>
的默认值为2 MB。
maxPostSize = POST的最大字节数,将由容器FORM URL参数解析处理。可以通过将此属性设置为小于或等于0的值来禁用该限制。如果未指定,则此属性设置为2097152(2兆字节)。
编辑Tomcat的server.xml。在<Connector>
元素中,添加属性maxPostSize
并设置更大的值(以字节为单位)以增加限制。
说完了,如果这是问题,你应该有一个例外。
tomcat中的Post data too big
答案 1 :(得分:7)
HTTP POST请求没有定义的最大大小。如果您注意到这样的限制,那么它就是您的HTTP服务器/客户端的任意限制。
如果你告诉 这个XML有多大,你可能会得到更好的答案。
答案 2 :(得分:1)
根据服务器和/或应用程序配置的不同,可能存在限制。 For Example, check
答案 3 :(得分:0)
是的,最大为2MB,可以通过这样的配置更改来增加它。如果您的POST正文不是多部分文件形式,则可能需要在应用程序yml配置文件中为tomcat添加max-http-post配置。
node-pre-gyp install --fallback-to-build
spring:
servlet:
multipart:max-file-size: 10MB
multipart:max-request-size: 100MB
您可能需要为最新的sprintboot版本添加它->
服务器: 雄猫 max-http-form-post-size:10MB