最近需要部署一個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
鮑國鈺 閱讀(5924)
評論(3) 編輯 收藏