功能:利用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();
}
}