`
newspringwork
  • 浏览: 101378 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

Tomcat配置gzip压缩

 
阅读更多

有时因为数据量大(或者图片比较大)需要启用压缩,这里就记录下如何开启Tomcat的gzip压缩

1.配置server.xml文件

找到包含protocol="HTTP/1.1"这个属性值的connector,添加下面的配置:

compression="on" compressionMinSize="50" noCompressionUserAgents="gozilla, traviata" compressableMimeType="application/json,text/html,text/xml,text/javascript,text/css,text/plain"

其中:

compressableMimeType表示启用压缩的mimetype,noCompressionUserAgents表示哪些浏览器不使用gzip压缩

 

2.应用中输出数据

response.setContentType("application/json;charset=UTF-8");
PrintWriter writer = response.getWriter();
writer.print(......);
writer.flush();
writer.close();

 这里主要是要设置Content-Type这个头,应该在之前配置的compressableMimeType列表中

 

3.获取gzip压缩后的数据

采用HttpClient方式模拟http请求,想要获取的是gzip压缩后的数据,那么应该在accept-encoding请求头的值中添加gzip类型

public static void main(String[] args) throws Exception {
		HttpMethod method = new GetMethod("http://localhost/web/user");
		method.setRequestHeader(new Header("accept-encoding","gzip,deflate,sdch"));
		HttpClient client = new HttpClient();
		client.executeMethod(method);
		String response = method.getResponseBodyAsString();
		System.out.println("---------------------------------------------------------");
		System.out.println(response);
		System.out.println("---------------------------------------------------------");
		String res = getUngzipString(method);
		System.out.println("---------------------------------------------------------");
		System.out.println(res);
		System.out.println("---------------------------------------------------------");
		System.out.println();
	}
	
	public static String getUngzipString(HttpMethod method) throws Exception{
		InputStream is = method.getResponseBodyAsStream();  
        GZIPInputStream gzin = new GZIPInputStream(is);  
        InputStreamReader isr = new InputStreamReader(gzin, "UTF-8");   
        java.io.BufferedReader br = new java.io.BufferedReader(isr);  
        StringBuffer sb = new StringBuffer();  
        String tempbf;  
        while ((tempbf = br.readLine()) != null) {  
            sb.append(tempbf);  
        }  
        isr.close();  
        gzin.close();  
        System.out.println(method.getResponseHeader("Content-Type")+"-->"+method.getResponseHeader("Content-Type").getValue());
        return sb.toString(); 
	}

 如上段代码是测试读取gzip的2个方法,第一个打印System.out.println(response)输出的内容是乱码,第二个打印System.out.println(res)输出的是gzip解压后的内容

 

分享到:
评论

相关推荐

    tomcat设置gzip压缩共2页.pdf.zip

    【标题】:“Tomcat设置Gzip压缩”是一个关于在Apache Tomcat服务器上配置Gzip压缩以提高Web应用程序性能的主题。Gzip是一种广泛使用的数据压缩算法,它可以减少HTTP响应的大小,从而加快网页加载速度,降低网络带宽...

    Tomcat配置gzip压缩提高浏览网站的速度

    Tomcat服务器通过配置gzip压缩,可以显著提高网站内容的传输效率,从而加快用户浏览网站的速度。 首先,需要了解HTTP压缩的概念。HTTP压缩是一种使用各种算法来减少文件大小,以减少HTTP传输过程中的数据量的技术。...

    Tomcat下,使用gzip压缩数据

    在Tomcat中,配置gzip压缩主要涉及到修改`conf/server.xml`文件。在这个文件中,我们需要找到`<Connector>`标签,这个标签定义了Tomcat服务器的连接器,用于处理HTTP请求。在`<Connector>`标签内添加或修改以下参数...

    开启TOMCAT6的GZIP压缩

    #### 配置TOMCAT6以启用GZIP压缩 TOMCAT自5.0版本起就已经支持对输出内容进行GZIP压缩。以下是具体步骤: 1. **编辑配置文件**: - 打开`$TOMCAT_HOME/conf/server.xml`文件。 - 查找`<Connector>`标签,并添加...

    tomcat GZIP源码

    标题 "Tomcat GZIP源码" 指的是Apache Tomcat服务器中用于实现GZIP压缩功能的源代码。GZIP是一种广泛使用的数据压缩算法,它能够有效地减小HTTP响应的大小,从而提高网页加载速度,降低网络带宽的消耗。在Tomcat中,...

    tomcat设置gzip压缩的原理及配置方法

    本文将详细介绍在Apache Tomcat服务器上设置GZIP压缩的原理和配置方法。 首先,让我们探讨一下GZIP压缩的原理。GZIP压缩算法基于deflate算法,是一种文件压缩格式,广泛用于在HTTP协议中进行文件压缩。当服务器对...

    设置tomcat启用gzip压缩的具体操作方法

    启用Tomcat的gzip压缩,需要修改`%TOMCAT_HOME%/conf/server.xml`配置文件中的`<Connector>`节点。具体步骤如下: 1. 打开压缩功能:在`<Connector>`节点中添加`compression="on"`,这表示开启gzip压缩。 2. 设置...

    tomcat开启gzip

    ### 开启Tomcat中的GZIP压缩 在现代Web开发中,提高网站性能是至关重要的一步。...同时,正确配置GZIP压缩也可以帮助减少服务器资源的消耗。希望本文能帮助您更好地理解如何在实际应用中启用GZIP压缩。

    tomcat,apache,iis的GZIP配置

    【GZIP配置详解:Tomcat, Apache, IIS】 GZIP是一种广泛使用的数据压缩...总的来说,无论是在Tomcat、Apache还是IIS服务器上,启用GZIP压缩都是提升Web性能的有效手段,只需要根据各自服务器的配置方式进行适当调整。

    Tomcat多端口域名访问并配置开启gzip压缩方法

    这些操作对于希望优化Tomcat配置的开发者来说非常实用。 最后,如果读者在实施上述配置时遇到问题,可以留言询问。作者承诺会尽快回复,帮助读者解决问题。同时,作者对于支持其网站的读者表示感谢,并鼓励大家转载...

    EhCache开启gzip压缩功能

    除了EhCache的内置功能,还有其他第三方库或框架如OSCache也提供了gzip压缩的支持,它们可能有不同的配置和使用方式,但原理类似,都是在缓存内容返回给客户端前进行压缩。 值得注意的是,虽然gzip压缩在大部分现代...

    Tomcat配置方法.rar

    《深入解析Tomcat配置》 Tomcat是一款广泛应用的开源Java Servlet容器,它是Apache软件基金会Jakarta项目的一部分。作为Web服务器,Tomcat能够处理HTTP协议,支持Servlet和JSP技术,是开发和部署Java Web应用的理想...

    Tomcat配置优化(完整版)

    ### Tomcat配置优化知识点 ...以上内容涵盖了Tomcat配置优化的关键点,包括Gzip压缩、JVM参数优化、服务器参数设置、解决各种常见问题等。通过对这些配置项进行合理调整,可以显著提升Tomcat服务器的性能和稳定性。

    如何验证Tomcat Gzip配置是否生效的方法

    本文主要介绍在Apache Tomcat服务器上配置和验证Gzip压缩是否生效的方法。 首先需要了解Tomcat中关于Gzip压缩的相关配置项,它们通常被设置在`conf/server.xml`文件中的`<Connector>`标签里。要启用Gzip压缩,需要...

    J2EE gzip压缩

    1. **服务器配置**:大多数现代Web服务器(如Apache Tomcat、Jetty、IBM WebSphere等)都支持配置gzip压缩。通过修改服务器配置文件(如Tomcat的`server.xml`),我们可以开启gzip压缩并设置相应的参数,如最小压缩...

    GZIP压缩Tomcat并提升web性能过程图解

    本文将深入探讨如何在Tomcat服务器上启用GZIP压缩以提高Web性能,并提供详细的过程图解。GZIP压缩是一种常见的HTTP协议支持的数据压缩机制,能够显著减少网络传输的数据量,从而加快网页加载速度,降低服务器带宽...

    Tomcat7中开启gzip压缩功能的配置方法

    很多大站都开启了gzip压缩,不过也有很多网站并没有开启gzip压缩,上次看了一篇文章说开启gzip压缩后对搜索引擎不友好,但从带宽和流量的角度来看,还是有必要开启gzip压缩的。 对于tomcat7服务器,打开conf文件夹下...

Global site tag (gtag.js) - Google Analytics