一、首先,去http://sourceforge.net/projects/filterlib網站下載tk-filters-1.0.1.zip。
二、解壓這個tk-filters-1.0.1.zip壓縮文件,將解壓后的文件tk-filters.jar放在Ext項目的WEB-INF/lib/下。
三、打開解壓后的文件夾tk-filters\conf\tk-filters.properties
GZIPFilter.Enabled=false(默認為false,true打開GZIP壓縮功能)
GZIPFilter.LogStats=false(默認為false,true打開GZIP壓縮功能日志,可以在后台看到壓縮比例信息)
CacheFilter.Enabled=false(默認為false,true打開GZIP緩存功能)
注:可以自行選擇想打開的功能,再將此文件復制到Ext項目的WEB-INF/class文件夾下(我這邊eclipse3.5是WEB-INF/classes下面)
四、打開Ext項目的WEB-INF/web.xml文件
<!-- GZIPFilter壓縮定義 設置此項時tk-filters.properties的GZIPFilter.Enabled=true才可用-->
<filter>
<filter-name>GZIPFilter</filter-name>
<filter-class>com.tacitknowledge.filters.gzipfilter.GZIPFilter</filter-class>
</filter>
<!-- GZIPFilter 設置自己想要壓縮的文件類型-->
<filter-mapping>
<filter-name>GZIPFilter</filter-name>
<url-pattern>*.js</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>GZIPFilter</filter-name>
<url-pattern>*.jsp</url-pattern>
</filter-mapping>
<!-- CacheFilter緩存定義 設置此項時tk-filters.properties的CacheFilter.Enabled=true才可用 -->
<filter>
<filter-name>CacheFilter</filter-name>
<filter-class>com.tacitknowledge.filters.cache.CacheHeaderFilter</filter-class>
</filter>
<!-- CacheFilter 設置自己想要緩存的文件類型-->
<filter-mapping>
<filter-name>CacheFilter</filter-name>
<url-pattern>*.gif</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>CacheFilter</filter-name>
<url-pattern>*.jpg</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>CacheFilter</filter-name>
<url-pattern>*.png</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>CacheFilter</filter-name>
<url-pattern>*.js</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>CacheFilter</filter-name>
<url-pattern>*.css</url-pattern>
</filter-mapping>
五、測試:用的也是FireFox,以及FireBug調試測試。我的項目中用的Ext是3.2.1,ext-all.js為662KB。壓縮后得到的大小僅為181K,壓縮率達到了27%,頁面加載速度得到了很大的提高。