在树脂 3.0 中的 http 后响应中,内容长度为 0


Content length is 0 in http post response in resin 3.0

我有一个客户端使用 http POST 方法将一些数据发布到我们的服务器。我们的服务器是带有java的树脂3.0。当我发送响应时,无论是否保存数据,都不会设置响应的内容长度。客户端正在使用 curl 库(php 包装器),它们接收的内容长度为 0。当我尝试通过浏览器在同一网址上将表单提交到我们的服务器时,它会起作用并显示响应。

我尝试使用Apache HttpClient通过postmethod提交数据,我收到的内容长度为-1,但我确实得到了完整的响应。我无法理解问题出在哪里。我也做了一些谷歌,发现树脂在发送响应时会进行一些分块编码。但我想它也适用于 GET 方法。但是对于GET方法,我的客户端正在获取内容长度并且也能够获得响应。需要这方面的帮助。

"Content-Length"是响应中的一个标头,它警告客户端响应的大小。 它不是流的实际长度。

你可以在 Servlet 中使用 response.setContentLength(...); 来设置它的值。