Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Tomcat jsf内容的gzip压缩_Tomcat_Jsf 2_Primefaces_Mojarra - Fatal编程技术网

Tomcat jsf内容的gzip压缩

Tomcat jsf内容的gzip压缩,tomcat,jsf-2,primefaces,mojarra,Tomcat,Jsf 2,Primefaces,Mojarra,我有一个jsf应用程序(mojarra 2.1.8,primefaces 3.3)在Tomcat6上运行。在用google page speed分析firebug中的页面时,我意识到我可以通过gzip压缩来优化一些东西 Compressing the following resources with gzip could reduce their transfer size by 371,1KiB (74% reduction). Compressing http://localhost:8

我有一个jsf应用程序(mojarra 2.1.8,primefaces 3.3)在Tomcat6上运行。在用google page speed分析firebug中的页面时,我意识到我可以通过gzip压缩来优化一些东西

Compressing the following resources with gzip could reduce their transfer size by 371,1KiB (74% reduction).

 Compressing http://localhost:8080/someApp/javax.faces.resource/jquery/jquery.js.jsf?ln=primefaces could save 72,5KiB (74% reduction).
 Compressing http://localhost:8080/someApp/javax.faces.resource/theme.css.jsf?ln=primefaces-aristo could save 53,4KiB (71% reduction).
 Compressing http://localhost:8080/someApp/javax.faces.resource/jsf.js.jsf?ln=javax.faces could save 49,6KiB (78% reduction). 
 ...
我已经在server.xml中打开了压缩

<Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"
      compression="on" 
      noCompressionUserAgents="gozilla, traviata"
      compressableMimeType="text/html,text/xml,text/plain,application/javascript,application/json,text/javascript"/>

但它不会压缩上面列出的文件

我还需要做什么才能使压缩工作正常


Jonny

您的
server.xml
一切正常。您的具体问题很可能是编辑了错误的
server.xml
文件。在像Eclipse这样的IDE中,原始的Tomcat服务器安装默认保持不变。相反,Eclipse在Servers项目中创建其所有配置文件的副本,并使用工作区元数据部署webapps,最终只有Tomcat服务器引擎从Tomcat安装中使用

确保您正在编辑正确的
server.xml
文件,即服务器项目中的文件:

Tomcat自己的
/conf/server.xml
文件仅在Eclipse之外启动时使用,或者在您告诉Eclipse完全控制Tomcat安装时使用。为此,, 双击Servers视图中的Tomcat服务器条目,并相应地更改服务器位置


您的.js.jsf和.css.jsf资源的MIME类型是什么?您使用什么客户端进行测试?嗨,Christoper,谢谢您的回复。这些资源由Primefaces动态提供/添加。js.jsf有application/javascript(列在compressablemmetype中),而.css.jsf有text/css(好的,不列在compressablemmetype中)。我的客户端:WinXP上最新的Chrome浏览器。Jonny当从服务器请求这些资源时,您是否在响应中获得了正确的内容类型头?你也有一个内容长度的标题吗?嗨,克里斯托弗,谢谢你试图帮助我。我得到了正确的内容类型和内容长度。JonnyHi BalusC,感谢您提供详细信息。我在Servers项目中编辑了正确的server.xml。text/html是gzip,但不是css和js。让我发疯:)。Jonny您的
compressablemmetype
列表中没有
text/css
。你确定你看到的是正确的答案吗?缓存验证请求的响应,如304“Not Modified”响应当然不是gzip。但你在评论的第二部分回答了我的问题。我清空了我的缓存,现在它“工作了”。万分感谢,不客气。您也可以只执行Ctrl+F5或Ctrl+R强制硬刷新,具体取决于浏览器品牌。