以extjs 作为例子实验
一、首先,去http://sourceforge.net/projects/filterlib网站下载tk-filters-1.0.1.zip。
二、解压这个tk-filters-1.0.1.zip压缩文件,将解压后的文件tk-filters.jar放在项目的WEB-INF/lib/下。
GZIPFilter.Enabled=false(默认为false,true打开GZIP压缩功能)
GZIPFilter.LogStats=false(默认为false,true打开GZIP压缩功能日志,可以在后台看到压缩比例信息)
CacheFilter.Enabled=false(默认为false,true打开GZIP缓存功能)
注:可以自行选择想打开的功能,再将此文件复制到项目的WEB-INF/class文件夹下
四、打开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调试测试 (可以看到加载的文件的大小)。
压缩前 1.20 MB 压缩后372k 比较给力