servlet 对传输数据进行压缩
来源:互联网 发布:欧洲右翼崛起知乎 编辑:程序博客网 时间:2024/05/22 10:41
背景:由于目前做一体化项目,该项目是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();
}
}
- servlet 对传输数据进行压缩
- 对传输数据的压缩
- 是否需要对网络传输数据进行压缩?如何选择压缩算法?
- Gzip对数据进行压缩
- 用jrtplib对媒体数据进行传输
- 用过滤器对页面数据进行压缩
- JAVA对数据进行压缩和解压
- 对通过网络传输的数据进行加密
- servlet压缩数据
- 浅谈前端性能优化(二)——对HTTP传输进行压缩
- 利用 JZLib 对数据进行压缩以及解压缩
- 尝试对struts2返回的JSON数据进行压缩
- java服务器对json数据进行gzip压缩
- 对目录进行压缩.
- 对IOT进行压缩
- 对图片进行压缩
- 对图片进行压缩
- 对图片进行压缩
- 【zz】对Linux的进程内核栈的认识
- Ajax与JSON的一些总结
- 字符输入限制正则表达式
- 扩展欧几里得算法
- VTK简介
- servlet 对传输数据进行压缩
- UVA 10137 旅行
- 详解Java多态性(转)
- S3C2440A工程移植:从ADS1.2到RealView MDK
- Ubuntu开机自动挂载硬盘的权限问题
- SQL 的包含查询 例子:根据IP获得省市名称,然后再获得市的ID
- Java与云计算
- Visio2007的UML菜单
- 基于NIOS II的流水灯