http请求内容压缩学习笔记


import java.io.ByteArrayOutputStream;
import java.io.IOException;
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 Dmo1 extends HttpServlet {

public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {

String data = "bbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa";
System.out.println("压缩前" + data.length());

// 以下代码完成将String类型压缩到byte[]中
ByteArrayOutputStream bout = new ByteArrayOutputStream();
GZIPOutputStream gout = new GZIPOutputStream(bout);
gout.write(data.getBytes());
gout.flush();
gout.close();

// 取出压缩后的数据
byte[] buf = bout.toByteArray();
System.out.println("压缩后" + buf.length);

// 将压缩后的数据输出到浏览器
response.setHeader("content-encoding", "gzip");
response.setHeader("content-length", buf.length + "");

// 服务端以字节方式输出
response.getOutputStream().write(buf);

}

}

访问:

原文地址:http://blog.51cto.com/357712148/2104330

时间: 2024-10-12 19:02:17

http请求内容压缩学习笔记的相关文章

内容提供者学习笔记

##内容提供者笔记## ###步骤### 1.创建实现了ContentProvider的子类MyContentProvider并重写父类的方法 2.作为android四大组件之一,要在manifest.xml文件中注册provider标签 <provider             android:name="cn.itcast.db.MyContentProvider"             android:authorities="cn.itcast.db.per

Linux对文件归档和压缩(学习笔记八)

一.归档和压缩 压缩命令工具:gzip,bzip2 归档命令工具:tar 二.压缩 2.1.gzip gzip是一种标准的.广泛应用的文件压缩和解压缩实用工具.gzip允许文件并置.用gzip压缩文件,可以得到格式为“*.tar.gz”或“*.tgz”的tarball打包文件. gzip选项 –stdout:将输出写到标准输出设备上. –to-stdout:将输出写到标准输出设备上. –decompress:解压缩文件. –uncompress:解压缩文件. -d:解压缩文件. -f:强行压缩/

自定义属性,匹配数组内容——JS学习笔记2015-5-26(第39天)

使用自定义属性匹配数组内容 1 <!DOCTYPE HTML> 2 <html> 3 <head> 4 <title>匹配数组内容</title> 5 <meta charset="utf-8"> 6 <script> 7 window.onload = function(){ 8 var aBtn=document.getElementsByTagName('input'); 9 var arr =

Linux对文件内容基本操作(学习笔记七)

一.cat 1.1.查看文件内容 格式:cat 文件名 [[email protected] /]# cat /etc/resolv.conf # Generated by NetworkManager nameserver 10.198.1.1 nameserver 8.8.8.8 [[email protected] /]# 但是当文件内容比较多,超过一屏时,cat命令就不能满足查看要求,就要用到more|less来查看 1.2.重定向输入文件内容到新的文件 [[email protecte

HttpClient与APS.NET Web API:请求内容的压缩与解压

首先说明一下,这里的压缩与解压不是通常所说的http compression——那是响应内容在服务端压缩.在客户端解压,而这里是请求内容在客户端压缩.在服务端解压. 对于响应内容的压缩,一般Web服务器(比如IIS)都提供了内置支持,只需在请求头中包含 Accept-Encoding: gzip, deflate ,客户端浏览器与HttpClient都提供了内置的解压支持.HttpClient中启用这个压缩的代码如下: var httpClient = new HttpClient(new Ht

struts2学习笔记(4)---------action中的方法调用

系统需要使用Action的不同方法来处理用户请求,这就需要让同一个Action里面包含多个控制处理逻辑. 1)动态方法调用 即DMI(dynamic method invocation),使用actionName!methodName的形式来指定想要调用的方法,如果想使用DMI,需要在struts.xml里面加入这句话: <constant name="struts.enable.DynamicMethodInvocation" value="true" /&

udacity android学习笔记: lesson 3

udacity android学习笔记: lesson 3 作者:干货店打杂的 /titer1 /Archimedes 出处:https://code.csdn.net/titer1 联系:1307316一九六八 声明:本文采用以下协议进行授权: 自由转载-非商用-非衍生-保持署名|Creative Commons BY-NC-ND 3.0 ,转载请注明作者及出处. tips:https://code.csdn.net/titer1/pat_aha/blob/master/Markdown/an

Linux学习笔记——例说makefile 增加自定义共享库

0.前言 从学习C语言开始就慢慢开始接触makefile,查阅了很多的makefile的资料但总感觉没有真正掌握makefile,如果自己动手写一个makefile总觉得非常吃力.所以特意借助博客总结makefile的相关知识,通过例子说明makefile的具体用法. 例说makefile大致分为4个部分 1.只有单个C文件 2.含有多个C文件 3.需要包括头文件路径 4.增加宏定义 5.增加系统共享库 6.增加自定义共享库 7.一个实际的例子 [代码仓库]--makefile-example

linux文档的打包和压缩 3月27日学习笔记

linux文档的打包和压缩 一.gzip:压缩工具 gzip只能压缩文件,不可以压缩目录后面直接跟要压缩的文件就可以进行压缩. 文件压缩后默认会带一个后缀名,作用是为了区分是什么工具压缩的. 压缩和解压之后源文件都会消失. 1.压缩passwd文件 [[email protected] cheng]# gzip passwd  [[email protected] cheng]# ls passwd.gz 2.gzipz -d:解压文件 [[email protected] cheng]# gz