Use GZIPOutputStream class over the response.getOutputStream() and set "gzip" option in the HTTP response header:
out = new PrintWriter(new GZIPOutputStream(response.getOutputStream()), false);
response.setHeader("Content-Encoding", "gzip");
It is necessary to set "gzip" option in the HTTP response header:
response.setHeader("Content-Encoding", "gzip");
Add <servlet-encoding> tag to the servlet block in the application descriptor file (web.xml)
<servlet>
<servlet-name>MyServlet</servlet-name>
<servlet-class>com.test.MyServlet</servlet-class>
<servlet-encoding>gzip</servlet-encoding>
</servlet>
The developer has not to do anything. Compressed content mode should be enabled by user in browser settings.
Use GZIPPrintWriter instead of PrintWriter and set "gzip" option in the HTTP response header:
response.setHeader("Content-Encoding", "gzip");
response.getGZIPPrintWriter().println(htmlData);
|