在返回的json数据量大时,启用Gzip压缩,可以提高传输效率。下面为Gzip压缩对json字符串压缩并输出到页面的代码。

一、代码

	/** 向浏览器输出字符串响应数据,启用gzip压缩 */
protected void writeResponseDataStr(String data){
/** 获取响应对象 */
HttpServletResponse response = ServletActionContext.getResponse();
/** 设置响应内容类型 */
response.setContentType("text/html;charset=utf-8");
try {
/** 告诉浏览器,服务器响应的数据是用GZIP压缩的 */
response.setHeader("Content-Encoding", "gzip");
//GZIP压缩的原理是:将数据全部压缩进内存输出流中,再从将内存输出流中的数据输出
/** 创建内存输出流的容器 */
ByteArrayOutputStream bos = new ByteArrayOutputStream();
/** 创建GZIP压缩对象 */
GZIPOutputStream gzip = new GZIPOutputStream(bos);
/** 进行压缩 */
gzip.write(data.getBytes("utf-8"));
gzip.flush();
gzip.close();
/** 向浏览器输出响应数据 */
response.getOutputStream().write(bos.toByteArray());
} catch (IOException e) {
e.printStackTrace();
}
};
 
1
    /** 向浏览器输出字符串响应数据,启用gzip压缩 */ 
2
    protected void writeResponseDataStr(String data){
3
        /** 获取响应对象 */
4
        HttpServletResponse response = ServletActionContext.getResponse();
5
        /** 设置响应内容类型 */
6
        response.setContentType("text/html;charset=utf-8");
7
        try {
8
            /** 告诉浏览器,服务器响应的数据是用GZIP压缩的 */
9
            response.setHeader("Content-Encoding", "gzip");
10
            //GZIP压缩的原理是:将数据全部压缩进内存输出流中,再从将内存输出流中的数据输出
11
            /** 创建内存输出流的容器 */
12
            ByteArrayOutputStream bos = new ByteArrayOutputStream();
13
            /** 创建GZIP压缩对象 */
14
            GZIPOutputStream gzip = new GZIPOutputStream(bos);
15
            /** 进行压缩 */
16
            gzip.write(data.getBytes("utf-8"));
17
            gzip.flush();
18
            gzip.close();
19
            /** 向浏览器输出响应数据 */
20
            response.getOutputStream().write(bos.toByteArray());
21
        } catch (IOException e) {
22
            e.printStackTrace();
23
        }
24
    };

使用Gzip压缩数据,加快页面访问速度的更多相关文章

  1. Apache 使用gzip、deflate 压缩页面加快网站访问速度

    Apache 使用gzip 压缩页面加快网站访问速度 介绍: 网页压缩来进一步提升网页的浏览速度,它完全不需要任何的成本,只不过是会让您的服务器CPU占用率稍微提升一两个百分点而已或者更少.   原理 ...

  2. [技术博客]使用CDN加快网站访问速度

    [技术博客]使用CDN加快网站访问速度 2s : most users are willing to wait 10s : the limit for keeping the user's atten ...

  3. 利用curl并发来提高页面访问速度

    在我们平时的程序中难免出现同时访问几个接口的情况,平时我们用curl进行访问的时候,一般都是单个.顺序访问,假如有3个接口,每个接口耗时500毫 秒那么我们三个接口就要花费1500毫秒了,这个问题太头 ...

  4. 在windows、linux中开启nginx的Gzip压缩大大提高页面、图片加载速度<转>

    为了降低tomcat服务的压力,把页面上的图片采用windows版的nginx进行加载,由于有些图片比较大,加载特别的慢,所以在nginx中打开了gzip的压缩功能.加载图片的速度快了很多. 通过站长 ...

  5. 2-12-配置squid代理服务器加快网站访问速度

    本节所讲内容: squid服务器常见概念 squid服务器安装及相关配置文件 实战:配置squid正向代理服务器 实战:配置透明squid代理提升访问速度 实战:配置squid反向代理加速度内网web ...

  6. 【转】加快网站访问速度——Yslow极限优化

    Yslow是一套雅虎的网页评分系统,详细的列出了各项影响网页载入速度的参数,这里不做多说. 我之前就一直参考Yslow做博客优化,经过长时间的学习也算是有所收获,小博的YslowV2分数达到了94分( ...

  7. ECshop网店系统百万级商品量性能优化-加快首页访问速度

    如果ECshop的商品数达到几万,十几万的时候,如果首页没有缓存,第一次访问的时候,你会发现其慢无比,原因就是清空了Cache后或者没有Cache的情况下,ECshop会Bulid一些Cache数据, ...

  8. 浏览器提示ERR_CONTENT_DECODING_FAILED,Gzip压缩数据无法解压

    最近在页面上有个显示数据表格的功能,数据由后台传给前台JS表格插件.数据格式为JSON 由于数据量很大,就想到用GZIP压缩以后传给前台.压缩前,某个表格的数据量达到3M多,用GZIP压缩后就200K ...

  9. Python—HTTP处理Gzip压缩数据

    HTTP 请求中包含Accept-encoding: gzip头信息可以告诉服务器,如果它有任何新数据要发送给我时,请以压缩的格式发送.如果服务器支持压缩,它将返回由 gzip 压缩的数据并且使用Co ...

随机推荐

  1. QQ运动步数&自定义ProgressBar

    效果如下 gif图展示效果不好,实际体验无卡顿 1.自定义属性 早Values目录下New-values resource file,命名为attrs.xml(命名随意,但规范命名为attrs.xml ...

  2. 二叉搜索树(Binary Search Tree)实现及测试

    转:http://blog.csdn.net/a19881029/article/details/24379339 实现代码:  Node.java  //节点类public class Node{ ...

  3. Django ModelForm类生成表单

    1. 定义ModelForm类 #froms.py from django import forms from app01.modles import User class UserModelForm ...

  4. TreeView失去焦点时亮显选中状态

    Windows Form下设置属性即可. TreeView.HideSelection = false

  5. LeetCode 题解之Add Digits

    1.问题描述 2.问题分析 循环拆分数字,然求和判断. 3.代码 int addDigits(int num) { ) return num; int result = num; do{ vector ...

  6. QT的初步学习笔记

    一.Qt简介 1.Qt是什么:图形用户界面程序框架  能做界面的还有什么:MFC.GTK+ 2.Qt的由来和发展 3.为什么选择Qt 二.Qt环境与工具 1.工具   a.Qt助手:里面详细说明了Qt ...

  7. SharePoint读取配置文件

    配置文件存放目录 C:\inetpub\wwwroot\wss\VirtualDirectories\80\web.config 读取配置 string Name=Configuration.WebC ...

  8. centos7 安装 jdk1.8

    首先是Linux的不同版本的额系统自带的配置是不一样的,比如centos6上有的自带的jdk环境的话要装1.8的就要进行卸载或者马上进行更改 jdk是java程序依赖的环境 首先查看你的系统下是否有j ...

  9. 阿里八八Alpha阶段Scrum(2/12)

    今日进度 叶文滔: 11.1:搭建Andriod Studio开发环境 11.2:已经完成Alpha阶段的APP整体框架搭建. 11.3:根据会议讨论内容,增加了模块标题栏返回键. 王国超: 完成了多 ...

  10. 旋转的地球css3

    css3果然博大精深: 1.代码里面还有用box-shadow制作椭圆形阴影的效果,厉害了!之前找了好久都没找到,今天给找到了 html: <section class="stage& ...