Jetty是否支持HTTP分块响应/传输编码?

Jetty是否支持HTTP分块响应/传输编码?,jetty,embedded-jetty,Jetty,Embedded Jetty,我目前正在使用Jetty 8,我想在servlet响应中编写几个事件(文本)。例如: 写起始 编写事件2 编写事件3 写完 全部由分隔符分隔\n 此响应的时间跨度可能不会超过20秒,但客户端应在发生时接收每个事件(行)。我找不到这方面的任何文档,但我想与社区核实一下 如果Jetty不这样做,是否还有其他servlet引擎可以这样做,也可以嵌入 顺便说一句,我尝试了下面的方法,但是在servlet返回之前没有收到任何数据,然后一次收到所有数据 resp.setContentType("text

我目前正在使用Jetty 8,我想在servlet响应中编写几个事件(文本)。例如:

写起始 编写事件2 编写事件3 写完

全部由分隔符分隔\n

此响应的时间跨度可能不会超过20秒,但客户端应在发生时接收每个事件(行)。我找不到这方面的任何文档,但我想与社区核实一下

如果Jetty不这样做,是否还有其他servlet引擎可以这样做,也可以嵌入

顺便说一句,我尝试了下面的方法,但是在servlet返回之前没有收到任何数据,然后一次收到所有数据

  resp.setContentType("text/html");
    resp.setHeader("Transfer-Encoding", "chunked");
    resp.getWriter().write("closing");
    resp.getWriter().flush();

    try {
        Thread.sleep(5000);
    } catch (InterruptedException e) {
        e.printStackTrace();
    }

    resp.getWriter().write("closed");
    resp.getWriter().flush();

编辑:必须使用\r\n作为行终止符

如果每一行都以\r\n

    resp.setContentType("text/html");
    resp.setHeader("Transfer-Encoding", "chunked");
    resp.getWriter().write("closing\r\n");
    resp.getWriter().flush();

    try {
        Thread.sleep(5000);
    } catch (InterruptedException e) {
        e.printStackTrace();
    }

    resp.getWriter().write("closed\r\n");
    resp.getWriter().flush();