package com.gyarmy.demo4; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.PrintWriter; import java.util.zip.GZIPOutputStream; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class ZipServlet extends HttpServlet { /** * The doGet method of the servlet. <br> * * This method is called when a form has its tag value method equals to get. * * @param request * the request send by the client to the server * @param response * the response send by the server to the client * @throws ServletException * if an error occurred * @throws IOException * if an error occurred */ public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // gzip压缩测试 String myData = "www.gyarmy.com"; byte[] bytes = myData.getBytes(); System.out.println("压缩前:"+bytes.length); //压缩并输出 ByteArrayOutputStream bArray = new ByteArrayOutputStream(); GZIPOutputStream gos = new GZIPOutputStream(bArray); gos.write(bytes); gos.close(); //写入到输出流 byte[] b = bArray.toByteArray(); //浏览器设置 response.setHeader("Content-Encoding", "gzip"); response.setContentLength(b.length); //输出 response.getOutputStream().write(b); System.out.println("压缩后:"+b.length); } /** * The doPost method of the servlet. <br> * * This method is called when a form has its tag value method equals to * post. * * @param request * the request send by the client to the server * @param response * the response send by the server to the client * @throws ServletException * if an error occurred * @throws IOException * if an error occurred */ public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response); } }
0则评论给“Servlet压缩(gzip)测试”