Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 为什么对Grizzly HTTP服务器的POST请求主体不完整?_Java_Http_Post_Grizzly - Fatal编程技术网

Java 为什么对Grizzly HTTP服务器的POST请求主体不完整?

Java 为什么对Grizzly HTTP服务器的POST请求主体不完整?,java,http,post,grizzly,Java,Http,Post,Grizzly,我正在使用Grizzly HTTP服务器(Grizzly-comet-server-2.2.1.jar)。HTTP请求由org.glassfish.grizzly.HTTP.server.HttpHandler的后代处理。有时(似乎是随机的)使用Request参数调用方法service(Request-Request,Response-Response),其中content-length头的值与接收到的帖子正文的实际长度不同: request.getInputStream().available

我正在使用Grizzly HTTP服务器(Grizzly-comet-server-2.2.1.jar)。HTTP请求由
org.glassfish.grizzly.HTTP.server.HttpHandler
的后代处理。有时(似乎是随机的)使用
Request
参数调用方法
service(Request-Request,Response-Response)
,其中content-length头的值与接收到的帖子正文的实际长度不同:

request.getInputStream().available() < request.getContentLength().
处理程序本身

public class MyHttpHandler extends HttpHandler {

    protected static Logger log = Logger.getLogger(MyHttpHandler.class);

    public void service(Request
            request, Response
            response) throws Exception {

         if (request.getInputStream().available() != request.getContentLength()) {
             log.error("broken content section: only " + request.getInputStream().available() + " of " +
                    request.getContentLength() + "bytes.");
         }
        response.setContentLength(0);
        response.getWriter().write("");
    }
}

Grizzly服务器正常。看到答案了吗
public class MyHttpHandler extends HttpHandler {

    protected static Logger log = Logger.getLogger(MyHttpHandler.class);

    public void service(Request
            request, Response
            response) throws Exception {

         if (request.getInputStream().available() != request.getContentLength()) {
             log.error("broken content section: only " + request.getInputStream().available() + " of " +
                    request.getContentLength() + "bytes.");
         }
        response.setContentLength(0);
        response.getWriter().write("");
    }
}