最近需要部署一个Web应用,由于使用了较多的JS文件和XML文件,所以在加载的时候就会产生加载文件数量和体积过于庞大的问题
如果是部署在Tomcat下可以轻松解决,在Tomcat安装目录下的conf文件夹下的server.xml文件中找到节点
1 <Connector port="8080" protocol="HTTP/1.1" maxHttpHeaderSize="8192"
2 maxThreads="150" connectionTimeout="20000"
3 redirectPort="8443" disableUploadTimeout="true" URIEncoding="utf-8"
4 compression="on"
5 compressionMinSize="500"
6 noCompressionUserAgents="gozilla, traviata"
7 compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain" /> compression属性为on时表示启用gzip压缩
compressionMinSize属性表示文件大小达到多少字节时进行gzip压缩,如compressionMinSize="500" 表示大于500字节的文件进行gzip压缩
noCompressionUserAgents表示不支持gzip压缩
compressableMimeType进行gzip压缩的文件类型
Weblogic没有找到支持gzip压缩的相关配置,所以决定采用过滤器
在web.xml文件中做如下配置
1 <!-- GZIPFilter Definition -->
2 <filter>
3 <filter-name>GZIPFilter</filter-name>
4 <filter-class>
5 com.tacitknowledge.filters.gzipfilter.GZIPFilter
6 </filter-class>
7 </filter>
8 <filter-mapping>
9 <filter-name>GZIPFilter</filter-name>
10 <url-pattern>*.js</url-pattern>
11 </filter-mapping>
12 <filter-mapping>
13 <filter-name>GZIPFilter</filter-name>
14 <url-pattern>*.xml</url-pattern>
15 </filter-mapping> 稍后会给出gzipfilter示例工程
将工程下classes文件夹下的文件拷贝到自己的工程下
将工程下的tk-filters.properties文件拷贝到classes根目录下 修改GZIPFilter.Enabled和GZIPFilter.LogStats的值为true表示启用gzip压缩
做如上的配置,如果需要压缩的更多类型的文件,可以增加<filter-mapping>节点进行相应的设置就可以了
然后采用IE浏览器采用httpwatch软件进行访问网站速度和下载数量大小的检测,FireFox加载httpfox插件,谷歌浏览器使用Speed Tracer插件
一般都可以压缩至原来大小的1/3.
示例工程下载地址
http://public.bay.livefilestore.com/y1p3-WBg1MuLT4pREa8b0maeFpmyKRMWVtu7_ymXPW0Q2YLdIf-uNl1npPNAtqlmvnTg0t4xcm9PZbMeHTVnGa-5w/gzipfilter.rar?download&psid=1
IE用httpwatch下载地址
http://public.bay.livefilestore.com/y1p3-WBg1MuLT7FmmmU5RUryPPrskGbFI3gOybJaapZSMKAV8ztlsxg81OyzXytfUecdfpTWRcGGGZl7dT0VemoGQ/HttpWatchPro-v6.014.rar?download&psid=1谷歌用Speed Tracer插件下载地址
http://public.bay.livefilestore.com/y1p3-WBg1MuLT7FmmmU5RUryPPrskGbFI3gOybJaapZSMKAV8ztlsxg81OyzXytfUecdfpTWRcGGGZl7dT0VemoGQ/HttpWatchPro-v6.014.rar?download&psid=1有什么好的建议请给我留言,十分感谢。
posted on 2011-01-14 14:12
鲍国钰 阅读(5907)
评论(3) 编辑 收藏