功能:利用sevrlet吧資料壓縮在傳輸到前台
package cn.hncu.img;import java.io.ByteArrayOutputStream;import java.io.IOException;import java.io.OutputStream;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 GZipServlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doPost(request, response); } /** * 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 { //把位元組數組str中的資料 壓縮到 bos記憶體流當中 String str="sssdadasdasdassssdadasdasda" + "ssssdadasdasdassssdadasdasdasss" + "sdadasdasdassssdadasdasdassssdadasdasdas"; byte[] buf=str.getBytes(); System.out.println("buf-length:"+buf.length); ByteArrayOutputStream bos=new ByteArrayOutputStream(); GZIPOutputStream gout=new GZIPOutputStream(bos); gout.write(buf); gout.close(); //從記憶體流array中把壓縮後的資料拿出來 byte dest[]=bos.toByteArray(); System.out.println("des-length:"+dest.length); response.setHeader("Content-Encoding", "gzip");//告訴瀏覽器,當前發送的是gzip格式的內容 response.setContentType("text/html"); OutputStream out=response.getOutputStream(); //out.write(src); out.write(dest); out.flush(); out.close(); }}