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" />
wro4j:Java Web资源压缩相关推荐
- java web资源目录下_Java Web项目中的各种资源的路径写法
如图,在项目中要跳转到如下的路径中(在项目下的target.html): public class PathDemo extends HttpServlet { public void doGet(H ...
- java Web程序使用wro4j合并、压缩js、css等静态资源
在Web项目中,js.css合并压缩,不仅有利于减少Http请求数量.减少宽带资源占用,还能有效的管理各种js.css的引入,使整个项目更加有序.而对于访问用户来说,其更大的好处是增加了页面的打开速度 ...
- 前端资源压缩合并maven插件之wro4j
前端资源压缩合并maven插件之wro4j 原文写于 2014-05-14 https://github.com/kuitos/kuitos.github.io/issues/5 参考文章:前端性能优 ...
- java web压缩过滤器_Java Web过滤器Filter(五)
Filter概述 Filter意为滤镜或者过滤器,用于在Servlet之外对request或者response进行修改.Filter提出滤镜链的概念,一个FilterChain包括多外Filter.客 ...
- Java中用ClassLoader载入各种资源(类、文件、web资源)的方法
ClassLoader主要对类的请求提供服务,当JVM需要某类时,它根据名称向ClassLoader要求这个类,然后由ClassLoader返回这个类的class对象. ClassLoader负责载入 ...
- ASP.NET Core Web 资源打包与压缩
本文将介绍使用的打包和压缩的优点,以及如何在ASP.NET Core应用程序中使用这些功能. 概述 在ASP.Net中可以使用打包与压缩这两种技术来提高Web应用程序页面加载的性能.通过减少从服务器请 ...
- IntelliJ IDEA 中的Java Web项目的资源文件复制新增如何更新到部署包中?
文章目录 resources目录下的文件复制新增 webapp目录的文件复制新增 IntelliJ IDEA 中的Java Web项目的资源文件如果复制新增,正常的重新部署.重启服务器.update ...
- Java Web应用实现GZIP压缩传输
本篇介绍Java Web 应用如何配置GZIP压缩以提高js , css 等文件的传送速度, 加快网页的展现速度. 实现方式选择 直接压缩文件, 比如将js文件通过gzip 工具压缩成 .gzjs 的 ...
- java web 加载类_Java中用ClassLoader载入各种资源(类、文件、web资源)的方法
lassLoader主要对类的请求提供服务,当JVM需要某类时,它根据名称向ClassLoader要求这个类,然后由ClassLoader返回这个类的class对象. ClassLoader负责载入系 ...
最新文章
- 美团即时物流的分布式系统架构设计
- 高德纳咨询公司(Gartner)预测:2019年七大人工智能科技趋势
- 利剑无意之JAVA面试题(二)
- jquery mobile页面切换效果(Flip toggle switch)(注:jQuery移动使用的数据属性的列表。 )...
- python post有随机字符串_Python 中的POST/GET包构建以及随机字符串的生成
- qpython能使用json吗l_[python] 详解Python在使用JSON时需要注意的编码问题
- nginx post请求超时_nginx的重试机制以及nginx常用的超时配置说明
- 参加2015年TOP100会议的零散笔记
- Python-变分模态分解(VMD)python代码及其测试用例
- 串口硬盘如何应用于并口硬盘计算机,串口并口硬盘连接具体步骤(转)
- Flash builder 4.6下载以及安装
- 计算机辅助初中英语教学,利用多媒体优化初中英语课堂教学课题研究
- 解析阿里“聚石塔”产品
- JavaWeb 狂神
- 随心所欲的“四舍五入” 之 ROUNDUP函数如何使用?
- 20130114 1080p vs. 1080i
- ABP官方文档(四十四)【后台作业和后台工人】
- 第6章 PPT页面排版与高级设计技术
- oracle ORA-22992问题
- 高性能 MySQL实战