Tomcat no vacía el búfer de respuesta
probéHttpResponse#flushBuffer
yPrintWriter#flush
enTomcat 7
a continuación, pero parecía que la respuesta los ignoró en lugar de tirar el contenido por el cable lo antes posible como se esperaba.
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet("/HelloServlet")
public class HelloServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
PrintWriter pw = response.getWriter();
pw.println("say hi now");
pw.flush();
response.flushBuffer();
try {
Thread.sleep(5000);
} catch (Exception e) {
}
pw.println("say bye in 5 seconds");
}
}
El navegador mostró "hola" y "adiós" juntos después del retraso. ¿Es un mal comportamiento o intencionado?
@EDITA
De acuerdo a@Tomasz Nurkiewicz
ugerencia de @, probé nuevamente concurl
entonces el problema desapareció. Parece que los navegadores estándar ytcp/ip monitor
packsmall pieces of contents
desde la misma respuesta http para procesarlos juntos.
@ EDIT 2
También se observa que tantoHttpResponse#flushBuffer
yPrintWriter#flush
manejarTomcat 7
para enviar al cliente datos fragmentados.