背景:由于目前做一体化项目,该项目是js左面应用程序,类似webqq,会产生大量的传输数据,程序如下
package com.test;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.zip.GZIPOutputStream;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class GzipUtils {
// 根据报头来判断浏览器是否支持gzip解压缩功能
public static boolean isGzipSupported(HttpServletRequest request) {
String encodings = request.getHeader("Accept-Encoding");
return ((encodings != null) && (encodings.indexOf("gzip") != -1));
}
// 判断gzip功能是否已经启用
public static boolean isGzipDisabled(HttpServletRequest request) {
String flag = request.getParameter("disableGzip");
return ((flag != null) && (!flag.equalsIgnoreCase("false")));
}
//返回gzip压缩后的PrintWriter
public static PrintWriter getGzipWriter(HttpServletResponse response){
try {
return (new PrintWriter(new GZIPOutputStream(response.getOutputStream())));
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
return null;
}
}
}
package com.test;
import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.PrintWriter;
import java.io.StringReader;
import java.util.Date;
import java.util.zip.ZipInputStream;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.sun.xml.internal.messaging.saaj.util.ByteInputStream;
public class TestServlet extends HttpServlet {
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
doPost(req, resp);
}
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
System.out.println(new Date());
String s = "wanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghui"
+"wanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghui"
+"wanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghui"
+"wanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghui"
+"wanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghui"
+"wanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghui"
+"wanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghui"
+"wanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghui"
+"wanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghui"
+"wanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghuiwanhonghui"
;
PrintWriter out =null;
if (GzipUtils.isGzipSupported(req)
&& !GzipUtils.isGzipDisabled(req)) {
out = GzipUtils.getGzipWriter(resp);
resp.setHeader("Content-Encoding", "gzip");
} else {
out = resp.getWriter();
}
out.println(s);
out.close();
}
}