java.util.zip.GZIPOutputStream

> -----Original Message-----
> From: A mailing list for discussion about Sun Microsystem's
> Java Servlet
> API Technology. [mailto:[EMAIL PROTECTED]]On Behalf Of
> Ashwath Narayan A
> Sent: Monday, August 09, 1999 2:47 PM
> To: [EMAIL PROTECTED]
> Subject: Re: Compressing the output of a servlet - SOLUTION
>
>
> Hi Andres,
>
> Hope you won't mind this question.
> Where's GZIPOutputStream class available?
>
> Thanks.
>
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>
> "Do, or do not. There is no 'try'." - Yoda -
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> Ashwath Narayan A
> Torry Harris Business Solutions
> Member - Software Engineering Services
> Sona Towers, # 71, Millers Road
> Bangalore - 560 052, INDIA
> Tel: (+91-80) 2097511 Fax: (+91-80) 2259833
> web: www.thbs.com
>
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>
> ----- Original Message -----
> From: Andr�s Aguiar <[EMAIL PROTECTED]>
> To: <[EMAIL PROTECTED]>
> Sent: Monday, August 09, 1999 3:45 PM
> Subject: Re: Compressing the output of a servlet - SOLUTION
>
>
> > I've solved the problem, so I'm posting the solution in the
> list because I
> > think it's pretty useful.
> >
> > Background: HTTP request have an 'Accept-Encoding' header
> that tells the
> > HTTP server what kind of encoding does the browser accept.
> One of the
> > possible encodings is 'gzip'. If the browser accepts that kind of
> encoding,
> > you can compress the output of the servlet using a
> GZipOutputStream, and
> the
> > browser will decompress it on the fly.
> >
> > It's pretty simple to do it:
> >
> > // htmlOut is a StringBuffer with the data to print in the
> HTML page.
> > res/req are the HttpServletResponse/Request
> >
> > String acceptEncoding = req.getHeader("Accept-Encoding");
> > if      (acceptEncoding != null &&
> acceptEncoding.indexOf("gzip") >= 0)
> > {
> >         res.setHeader("Content-Encoding", "gzip");
> >
> >         GZIPOutputStream gzOut = new
> GZIPOutputStream(res.getOutputStream());
> >         gzOut.write(htmlOut.toString().getBytes());
> >         gzOut.close();
> >         res.getOutputStream().close();
> > }
> > else
> > {
> >         res.getWriter().print(htmlOut);
> >         res.getWriter().close();
> > }
> >
> > I've tried with NS 4.06, NS 4.6, IE 5 and IE 4 in
> WindowsNT. All of them
> > report that accept the 'gzip' encoding, and they display
> the compressed
> page
> > correctly. NS 3, NS 2 and Opera report that they don't
> support the 'gzip'
> > encoding. So, it seems that they have a consistent behavior.
> >
> > If anyone tries this and finds a browser that is inconsistent (ie it
> reports
> > it supports gzip but it doesn't), please let me know.
> >
> > Regards.
> >
> > > -----Original Message-----
> > > From: A mailing list for discussion about Sun Microsystem's
> > > Java Servlet
> > > API Technology. [mailto:[EMAIL PROTECTED]]On
> > > Behalf Of Heiko
> > > Grussbach
> > > Sent: Monday, August 09, 1999 8:36 AM
> > > To: [EMAIL PROTECTED]
> > > Subject: Re: Compressing the output of a servlet
> > >
> > >
> > > Hi Andr�s,
> > >
> > > I havent used compression myself, but info may be found
> in J. Hunters
> > > servlet book on page 189. According to this, you need to set
> > > the content
> > > header of the response to x-gzip or x-compress (not just to
> > > gzip as you
> > > do).
> > > Also, revise your check for the the header, it might return
> > > null in which
> > > case your first line would fail with a NullPointerException.
> > > Please tell me if you get it working!!
> > >
> > > Regards
> > >
> > > Heiko
> > > [EMAIL PROTECTED]
> > >
> > >
> > >
> > >
> > >
> > > Andr�s Aguiar <[EMAIL PROTECTED]> on 07-08-99 11:53:47
> > >
> > > Please respond to "A mailing list for discussion about Sun
> > > Microsystem's
> > >       Java              Servlet API Technology."
> > >       <[EMAIL PROTECTED]>
> > >
> > > To:   [EMAIL PROTECTED]
> > > cc:    (bcc: Heiko Grussbach/NMG/CRP-HT)
> > >
> > > Subject:  Compressing the output of a servlet
> > >
> > >
> > >
> > > Content-type: text/plain; charset
> > >
> > > I'm trying to send the output of my servlet compressed to
> the browser,
> > > depending on the 'Accept-Encoding' header in the HTTP request.
> > > I've followed the HTTP1.1 spec, but it seems that I'm
> doing something
> > > wrong.
> > > This is the code I'm using:
> > > file://-----------------------------
> > > // htmlOut is a StringBuffer that has the data to send to
> the browser.
> > > if      (req.getHeader("Accept-Encoding").indexOf("gzip") >{
> > >         res.setHeader("Content-Encoding", "gzip");
> > >         res.setHeader("Transfer-Encoding","chunked");
> > >         res.getOutputStream().write(new
> > > String(Long.toHexString(htmlOut.length()).toUpperCase() +
> > > "\r\n").getBytes());
> > >         GZIPOutputStream gzOut
> > > GZIPOutputStream(res.getOutputStream());
> > >         gzOut.write(htmlOut.toString().getBytes());
> > >         gzOut.close();
> > >         res.getOutputStream().write(new
> > > String("\r\n0\r\n\r\n").getBytes());
> > >         res.getOutputStream().close();
> > > }
> > > file://---------------------
> > > If someone was able to do it, send me a clue.
> > > Regards.
> > > ______________________________________________________________
> > > _____________
> > > To unsubscribe, send email to [EMAIL PROTECTED] and
> > > include in the body
> > > of the message "signoff SERVLET-INTEREST".
> > > Archives:
http://archives.java.sun.com/archives/servlet-interest.html
> > Resources:
> > http://java.sun.com/products/servlet/external-resources.html
> > LISTSERV Help: http://www.lsoft.com/manuals/user/user.html
> >
> > ______________________________________________________________
> > _____________
> > To unsubscribe, send email to [EMAIL PROTECTED] and
> > include in the body
> > of the message "signoff SERVLET-INTEREST".
> >
> > Archives: http://archives.java.sun.com/archives/servlet-interest.html
> > Resources:
> > http://java.sun.com/products/servlet/external-resources.html
> > LISTSERV Help: http://www.lsoft.com/manuals/user/user.html
> >
> >
>
>
___________________________________________________________________________
> To unsubscribe, send email to [EMAIL PROTECTED] and include in the
body
> of the message "signoff SERVLET-INTEREST".
>
> Archives: http://archives.java.sun.com/archives/servlet-interest.html
> Resources: http://java.sun.com/products/servlet/external-resources.html
> LISTSERV Help: http://www.lsoft.com/manuals/user/user.html
>

___________________________________________________________________________
To unsubscribe, send email to [EMAIL PROTECTED] and include in the body
of the message "signoff SERVLET-INTEREST".

Archives: http://archives.java.sun.com/archives/servlet-interest.html
Resources: http://java.sun.com/products/servlet/external-resources.html
LISTSERV Help: http://www.lsoft.com/manuals/user/user.html

___________________________________________________________________________
To unsubscribe, send email to [EMAIL PROTECTED] and include in the body
of the message "signoff SERVLET-INTEREST".

Archives: http://archives.java.sun.com/archives/servlet-interest.html
Resources: http://java.sun.com/products/servlet/external-resources.html
LISTSERV Help: http://www.lsoft.com/manuals/user/user.html

Reply via email to