Java Tutorial/Servlet/Buffer

Материал из Java эксперт
Версия от 17:44, 31 мая 2010; (обсуждение)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

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");
    }
  }
}