Вывод сжатых HTML документов из сервлета
Решение осуществления вывода сжатого HTML документа, генерируемого сервлетом. Это позволяет уменьшать траффик в среднем на 60-80%
Решение смотрите в коде - вроде бы всё понятно. Замечание - этот пример сам определяет, поддерживает ли браузер сжатые документы.
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.util.zip.*;
public class ZipServlet extends HttpServlet
{
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{
response.setContentType("text/html");
String encodings = request.getHeader("Accept-Encoding");
String encodeFlag = request.getParameter("encoding");
PrintWriter out;
if((encodings != null)&&(encodings.indexOf("gzip") != -1)&&
!"none".equals(encodeFlag))
{
OutputStream out1 = response.getOutputStream();
out = new PrintWriter(new GZIPOutputStream(out1), false);
response.setHeader("Content-Encoding", "gzip");
}
else out = response.getWriter();
out.println("writing HTML document"); // пишем тело документа
out.close();
}
}
Автор: YmI aka iKot