Java Tutorial/Servlet/Buffer
Keep Client Alive By Setting Buffer Size
<source lang="java">
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("Less than 16K of response body"); out.println("</BODY></HTML>"); }
}</source>
Servlet: Set Buffer Size
<source lang="java">
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"); } }
}</source>