我有一个基于 tomcat 的 java web 应用程序。 我用 tomcat 7 发现的问题是接受不完整的数据。
我的场景: 我尝试发送一个带有 ~100kb JSON 正文的 HTTP POST 请求。 我在请求中间停止客户端。
预期行为: 我希望请求无效,错误代码作为响应。 实际行为: 应用程序接收部分 JSON。
我每次都能重现。
当我读取请求对象时: - Content-Length 标题是正确的。 - 正文中的 JSON 是部分的。
我复制了以下 tomcat 版本: 7.0.57 7.0.63 我无法用 tomcat 8.0.24 重现。 对我来说升级是不可能的。
可以配置tomcat拒绝部分请求吗? 我不会对 tomcat 应该处理的问题实现验证。
最佳答案
我想你搜索的是 FailedRequestFilter .
将以下代码添加到您的 web.xml 中以添加过滤器
<filter>
<filter-name>FailedRequestFilter</filter-name>
<filter-class>org.apache.catalina.filters.FailedRequestFilter</filter-class>
</filter>
关于java - Tomcat 7 接受不完整的数据 - 期待 SocketTimeoutException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32118708/