开发者社区> 问答> 正文

tomcat7配置gzip没有效果:报错

由于使用ExtJS,所以想对js、css等静态文件进行压缩,但是项目中没用到Apache或者Nginx,前使用的Tomcat7,想到在tomcat里面配置gzip,熟料配置了以后压缩没有任何效果,ext-all.js701K还是701k,所以想讨教一下,tomcat7里面如何配置gzip。

下面贴出我tomcat里面的配置:

<!--with gzip-->
<Connector port="80" protocol="HTTP/1.1"
           connectionTimeout="20000"
           redirectPort="8443"
           compression="on"
           compressionMinSize="2048"
           noCompressionUserAgents="gozilla,traviata"
           compressableMimeType="text/html,text/css,text/javascript" />

tomcat6里面这样配置是可以压缩的

tomcat7里面配置了无效

我看官网API里面也是这样配置参数也是这几个

下面附上tomcat6压缩的截图:

可以看出来,ext-all.js是被压缩过的。

tomcat7如何配置呢?求解答!感激涕零!

展开
收起
kun坤 2020-06-06 18:13:24 457 0
1 条回答
写回答
取消 提交回答
  • 已经测出来了,tomcat7里面js的mime类型改了,新版的是

    conf/web.xml

    <mime-mapping>
         <extension>js</extension>
         <mime-type>application/javascript</mime-type>
    </mime-mapping>

    所以上面的配置改为

    <Connector port="80" protocol="HTTP/1.1"
      connectionTimeout="20000"
      redirectPort="8443"
      compression="on"
      compressionMinSize="2048"
      noCompressionUserAgents="gozilla,traviata"
      compressableMimeType= "text/html,text/css,application/javascript" />

    但是奇怪的官网的两个版本里面有个不行。

    之前是用的标注的带x86的版本。一直不能压缩,后来下了个不带x86的版本发现可以,两者都是x86版本,区别就是bin里面多了

    下面标红的文件。

    但是实际运用中肯定是要用多出来这四个文件的版本,因为要注册服务的。

     

    所以就更迷惘了,求解释!

    ######好贴!######回复 @红薯 : 好像是 tcnative-1.dll 这个的原因,把这个从bin目录去掉,就可以压缩了,这个也是处理静态提速的,这两个可能不能并存!######回复 @sunnyjava : 这个还真没试过,我一直都用不带 x86 的那个版本,win和linux通用######回复 @红薯 : 没有解决啊,为什么完整版的tomcat里面不行呢?######回复 @红薯 : 他应该是想搞清楚为什么吧,而不是坚决问题本身。######

    好像是

    tcnative-1.dll

    这个的原因,把这个从bin目录去掉,就可以压缩了,这个也是处理静态提速的,这两个可能不能并存!

    ######我删除了依然不行######关键是怎么才能验证gzip生效
    2020-06-06 18:13:34
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Apache Tomcat 的云原生演进 立即下载
低代码开发师(初级)实战教程 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载