Java Tutorial/Servlet/Buffer
Keep Client Alive By Setting Buffer Size
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.util.*;
public class MyServlet extends HttpServlet {
public void doGet(HttpServletRequest req, HttpServletResponse res)
throws ServletException, IOException {
res.setContentType("text/html");
// Ask for a 16K byte response buffer; do not set the content length
res.setBufferSize(16 * 1024);
PrintWriter out = res.getWriter();
out.println("<HTML>");
out.println("<HEAD><TITLE>Hello World</TITLE></HEAD>");
out.println("<BODY>");
out.println("<BIG>Less than 16K of response body</BIG>");
out.println("</BODY></HTML>");
}
}
Servlet: Set Buffer Size
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.net.*;
public class MyServlet extends HttpServlet {
public void doGet(HttpServletRequest req, HttpServletResponse res)
throws ServletException, IOException {
res.setBufferSize(8 * 1024); // 8K buffer
res.setContentType("text/html");
PrintWriter out = res.getWriter();
int size = res.getBufferSize(); // returns 8096 or greater
// Record the default size, in the log
log("The default buffer size is " + size);
out.println("The client won"t see this");
res.reset();
out.println("And this won"t be seen if sendError() is called");
if (req.getParameter("important_parameter") == null) {
res.sendError(res.SC_BAD_REQUEST, "important_parameter needed");
}
}
}