Compactando dados dos Servlets Dica enviada pelo George Gastaldi ([EMAIL PROTECTED])
Para otimizar no recebimento de uma página HTML no Browser, é possível compactar os dados a serem enviados em GZIP, caso o browser suporte. O conteúdo será descompactado no lado cliente. O servlet Java abaixo mostra como usar saída comprimida de servlets. Você pode comprimir grandes partes de dados antes de enviar e eles serão descompactados pelo browser na hora diminuindo o tempo de transmissão dos dados entre o servidor HTTP e o browser cliente. Qualquer browser supporta, por default, formatos diferentes de arquivos. Os mais conhecidos e úteis são GIF e JPG. Mas os browsers também suportam arquivos gzip, e nos seus servlets, você pode detectar que formatos são suportados analisando o cabeçalho do request. import java.io.*; import java.util.zip.*; import java.lang.*; import javax.servlet.*; import javax.servlet.http.*; public class GzipServlet extends HttpServlet { public void doGet (HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException { doPost(req,res); } public void doPost (HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException { String encoding=req.getHeader("Accept-Encoding"); boolean canGzip=false; if (encoding!=null) if (encoding.indexOf("gzip")>=0) canGzip=true; if (canGzip) { res.setHeader("Content-Encoding","gzip"); OutputStream o=res.getOutputStream(); GZIPOutputStream gz=new GZIPOutputStream(o); String bigStuff=""; bigStuff+="<html>"; bigStuff+="<br>Dados Compactados"; bigStuff+="</html>"; gz.write(bigStuff.getBytes()); gz.close(); o.close(); } else // sem compactacao { res.setContentType("text/html"); PrintWriter out=res.getWriter(); out.println("<html>"); out.println("<br>Sem Compactação de Dados"); out.println("</html>"); out.flush(); out.close(); } } } Bons códigos!!! ______________________________________________________________________________ Handerson Ferreira Gomes Summa Technologies Boletim Dicas Java - Sua dose diária de Java. ================================================================================ [dicas-list] circula diariamente com pequenas dicas sobre a plataforma Java e é mais um serviço da Sociedade de Usuários Java - http://www.soujava.org.br *** SouJava - Fortalecendo a Comunidade Java Brasileira! *** - Para contribuir com uma dica, envie um e-mail para [EMAIL PROTECTED] - Participe de outras listas de discussão sobre a linguagem Java. Saiba mais em http://www.soujava.org.br/lista.htm -------------------------------------------------------------------------------- - Para assinar este boletim: mailto:[EMAIL PROTECTED] - Para cancelar sua assinatura: mailto:[EMAIL PROTECTED] - Dicas anteriores: http://www.mail-archive.com/dicas-list%40soujava.org.br - Para discutir sobre as dicas, acesse o Mundo OO (http://www.mundooo.com.br)