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)