一種Java Web程式資源的最佳化方法
作者:chszs,轉載需註明。部落客頁:http://blog.csdn.net/chszs
要怎樣組織和最佳化CSS和指令檔資源?
很多CSS和JavaScript資源分散在不同的檔案中,可能對網頁的載入速度有影響。
WRO4J是一個很有用的API,可以最小化和壓縮Web資源檔,包括CSS和JavaScript檔案。WRO4J可以在建立時進行配置——使用適當的Maven外掛程式,也可以在運行時通過過濾器進行配置。
本文講述怎樣在構建應用程式時,配置和使用WRO4J。
第一步是需要定義分組——建立和包含的資源,這通過建立wro.xml設定檔實現,此檔案放入WEB-INF目錄。如下:
<?xml version="1.0" encoding="UTF-8"?><groups xmlns="http://www.isdc.ro/wro"> <group name="javaonly-base-scripts"> <js minimize="false">/scripts/jquery-1.6.1.min.js</js> <js minimize="false">/scripts/jqXMLUtils.pack.js</js> <js minimize="false">/scripts/cufon/cufon-yui.js</js> <js minimize="false">/scripts/cufon/font.js</js> <js minimize="false">/scripts/cufon/replace.js</js> </group> <group name="javaonly-scripts"> <js>/scripts/scriptFile1.js</js> <js>/scripts/scriptFile2.js</js> </group> <group name="javaonly-debugging"> <js minimize="false">/scripts/scriptDebug1.js</js> <js minimize="false">/scripts/scriptDebug1.js</js> </group> <group name="javaonly-styles"> <css>/styles/screen/base.css</css><css>/styles/screen/layout.css</css><css>/styles/screen/content.css</css><css>/styles/screen/menu.css</css><css>/styles/screen/footer.css</css><css>/styles/screen/login.css</css><css>/styles/screen/tooltip.css</css> <css>/styles/screen/homepage.css</css> </group></groups></pre>
隨後,我們在Maven設定檔中添加WRO4J外掛程式。如下:
<plugin> <groupId>ro.isdc.wro4j</groupId> <artifactId>wro4j-maven-plugin</artifactId> <version>${wro4j.version}</version> <executions> <execution> <id>optimize-web-resources</id> <phase>compile</phase> <goals> <goal>run</goal> </goals> </execution> </executions> <configuration> <ignoreMissingResources>false</ignoreMissingResources> <jsDestinationFolder> ${project.build.directory}/${project.build.finalName}/scripts/wro/ </jsDestinationFolder> <cssDestinationFolder> ${project.build.directory}/${project.build.finalName}/styles/wro/ </cssDestinationFolder> <wroManagerFactory> ro.isdc.wro.maven.plugin.manager.factory.ConfigurableWroManagerFactory </wroManagerFactory> </configuration> </plugin>
最後,我們在網頁上添加最小化後的資源檔,如下:
<link rel="stylesheet" type="text/css" href="/wro/javaonly-styles.css" /><script type="text/javascript" src="/wro/javaonly-base-scripts.js"></script>
WRO4J的首頁:http://code.google.com/p/wro4j/wiki/GettingStarted