wro4j:Java Web资源压缩

wro4j是一个Web资源优化工具。众所周知,到服务器加载一个大的文件比加载两个小的文件快,因为会增加HTTP交互的次数并且大部分浏览器在任何时候对于同一个服务器,只保持两个连接。开发wro4j项目的目的是减少加载一个页面的请求次数和传输的数据量.

WRO4j最大限度地减少和压缩CSS和JavaScript等web资源,WRO4j可以在编译时配置一个非常有用的API - 与适当的maven插件一起运行时。
有两种办法使用,一个在运行时混合,一个是使用Maven编译时混合。

运行时混合:
第一步在web.xml加入wrofilter:

<filter>
      <filter-name>WebResourceOptimizer</filter-name>
      <filter-class>
        ro.isdc.wro.http.WroFilter
      </filter-class>
    </filter>

    <filter-mapping>
      <filter-name>WebResourceOptimizer</filter-name>
      <url-pattern>/wro/*</url-pattern>
    </filter-mapping>

第二步在WEB-INF 目录下配置一个wro.xml文件,如下:

  <groups xmlns="http://www.isdc.ro/wro">
      <group name="all">
        <css>/asset/*.css</css>
        <js>/asset/*.js</js>
      </group>
    </groups>      


在页面使用:
<link rel="stylesheet" type="text/css" href="/wro/all.css" />

这种方式会耗费一些服务器CPU。

编译时混合,使用Maven,需要多Maven熟悉:
wro.xml文件如下

<?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>



然后在pom.xml中增加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" />

 

下载地址:https://github.com/alexo/wro4j/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值