为什么部署在新浪sae部署java web云上的静态页面中引入的js和css文件失效 / 蓝讯

Java Web程序使用wro4j合并、压缩js、css等静态资源
在Web项目中,js、css合并压缩,不仅有利于减少Http请求数量、减少宽带资源占用,还能有效的管理各种js、css的引入,使整个项目更加有序。而对于访问用户来说,其更大的好处是增加了页面的打开速度,大大提升了用户体验。所以,互联网各类网站,会通过各种手段,对静态文件进行合并、压缩,动静分离,使用CDN加速等。以此达到网站访问速度的优化。官网使用的是Java语言开发。因此使用了Java 方面的第三方Jar:wro4j来压缩Js、CSS。本文主要介绍Java Web程序是如何使用wro4j合并、压缩js、Css等静态资源的。1.&&& 首先下载wro4j-core.1.6.2.jar,maven管理的项目可使用如下依赖获取架包。&dependency&
&&&&&groupId&ro.isdc.wro4j&/groupId&
&&&&&artifactId&wro4j-core&/artifactId&
&&&&&version&1.6.2&/version&
&/dependency&2.&&& 配置Js、CSS合并策略。新建wro.xml文件,放置在WEB-INF目录下面即:/src/main/webapp/WEB-INF/wro.xml。以everycoding官网代码为例,配置详情如下:&?xml&version=&1.0&&encoding=&UTF-8&?&
&groups&xmlns=&http://www.isdc.ro/wro&&xmlns:xsi=&http://www.w3.org/2001/XMLSchema-instance&
&&&&xsi:schemaLocation=&http://www.isdc.ro/wro&wro.xsd&&
&&&&&group&name=&basic&&
&&&&&&&&&css&/static/css/front.css&/css&
&&&&&&&&&js&/static/js/jquery.js&/js&
&&&&&&&&&js&/static/js/jquery.paging.min.js&/js&
&&&&&&&&&js&/static/js/front/global.js&/js&
&&&&&&&&&js&/static/js/front/search.js&/js&
&&&&&/group&
&&&&&group&name=&custom&&
&&&&&&&&&css&/static/css/front.css&/css&
&&&&&&&&&css&/static/css/comment/comment.css&/css&
&&&&&&&&&css&/static/plugins/syntaxhighlighter/shCore.css&/css&
&&&&&&&&&js&/static/js/front/coding.js&/js&
&&&&&/group&
&/groups&3.&&& 在视图页面引入合并后的js、css.详情可见站点的引入方式&link&href=&/static/css/basic.css?minimize=false&v=7&&rel=&stylesheet&&
&script&src=&/static/js/basic.js?minimize=false&v=5&&&/script&4.&&& 在web.xml中配置wro4j的过滤器,使js、css合并策略生效。代码配置方式如下:其中,/static/是Everycoding官网放置静态文件的目录,具体配置请参考自身项目&filter&
&&&&&filter-name&WebResourceOptimizer&/filter-name&
&&&&&filter-class&
&&&&&&&&ro.isdc.wro.http.WroFilter
&&&&&/filter-class&
&&&&&init-param&
&&&&&&&&&param-name&debug&/param-name&
&&&&&&&&&param-value&true&/param-value&
&&&&&/init-param&
&&&&&init-param&
&&&&&&&&&param-name&disableCache&/param-name&
&&&&&&&&&param-value&true&/param-value&
&&&&&/init-param&
&&&&&!--&&init-param&&&param-name&gzipResources&/param-name&&&param-value&false&/param-value&&
&&&&&&&&&/init-param&&&init-param&&&param-name&cacheUpdatePeriod&/param-name&&&param-value&1&/param-value&&
&&&&&&&&&/init-param&&&init-param&&&param-name&modelUpdatePeriod&/param-name&&&param-value&1&/param-value&&
&&&&&&&&&/init-param&&&init-param&&&param-name&minimizeEnabled&/param-name&&&param-value&true&/param-value&&
&&&&&&&&&/init-param&&--&
&filter-mapping&
&&&&&filter-name&WebResourceOptimizer&/filter-name&
&&&&&url-pattern&/static/*&/url-pattern&
&/filter-mapping&5.&&& Web.xml中配置的wro4j属性Debug的作用Debug:在开发环境,一般设置为true。生产环境设置为false那么在开发环境中,将debug设置为true有什么好处呢?原因是:当debug为false时,视图中引入的js、css都是合并压缩过的代码,尤其是Js,不利于我们开发过程中进行断点调试等工作。如果,我们想在开发过程中,断点调试Js代码,需要将Debug设置为true。同时,视图引入的js代码部分,需要加上参数:minimize=false。表明:合并,但是不压缩js。如:/static/js/basic.js?minimize=false需要注意的时,当debug=false时,这个参数的作用将失效。Js、Css在生成环境一定是压缩的状态。6.&&& wro4j相关配置属性详解属性默认值描述debugtruetrue代表开发环境,false代表生成环境minimizeEnabledtrue是否压缩资源gzipResourcestrueTrue,则表明response将开启gzipresourceWatcherUpdatePeriod0怎样的频率静态资源更新被监控,0表明不监控。 & & &当监控到资源有更新时,则静态资源的缓存失效。 & & &(since & &1.4.8)resourceWatcherAsyncfalse对异步更新的静态资源的监控,当属性resourceWatcherUpdatePeriod 配置大于0时,这个值才有意义 (since 1.7.3)cacheUpdatePeriod0怎么样的频率刷新缓存。0表示不刷新静态缓存。modelUpdatePeriod0怎样的频率刷新wro.xml合并压缩策略。0表示不刷新。header&见官网说明disableCachefalse是否禁用静态资源缓存1.7.6之后的版本已废弃parallelPreprocessingfalse是否开启预处理器并行执行,以提高效率connectionTimeout2000外部资源访问的超时时间,1.4.5版本后有效managerFactoryClassNameN/A默认BaseWroManagerFactory管理encodingUTF-8设置读写编码格式ignoreMissingResourcestrue为false时,丢失的资源会引发异常产生。True则会忽略这些异常。ignoreEmptyGrouptrue为false时,空引入链接将失败。True,则忽略。1.4.5之后版本有效。ignoreFailingProcessorfalse为true时,有问题的资源将以原生的方式引入。 & & &1.4.7版本后有效。cacheGzippedContentfalse缓存是否使用gzipped的静态内容. since 1.4.4之后版本有效jmxEnabledtrue是否关闭JMX.mbeanNamewro4jJMX & &console 见官网Wro4j的详细用法可参考:如果Java Web项目希望使用动静分离的方式单独部署静态文件,可参考:
1 人赞了本文
2015年11月
2015年05月
2015年06月
2015年06月
2015年07月
2015年11月
2015年11月
2015年07月
2015年05月
2015年05月
2016年03月
2016年03月
2016年03月
2016年03月
2016年03月
2016年03月
2016年03月
2016年03月
2016年03月
2016年03月
@2015 Every coding team All rights reservedjs,css等静态文件更新时如何避免浏览器缓存
[问题点数:40分,结帖人xyq1986]
js,css等静态文件更新时如何避免浏览器缓存
[问题点数:40分,结帖人xyq1986]
不显示删除回复
显示所有回复
显示星级回复
显示得分回复
只显示楼主
2016年1月 总版技术专家分月排行榜第二2015年11月 总版技术专家分月排行榜第二2015年10月 总版技术专家分月排行榜第二
优秀小版主
2014年4月 荣获微软MVP称号
2014年12月 企业软件大版内专家分月排行榜第一2014年11月 企业软件大版内专家分月排行榜第一2014年7月 企业软件大版内专家分月排行榜第一2011年10月 企业开发大版内专家分月排行榜第一2011年5月 企业开发大版内专家分月排行榜第一2011年3月 企业开发大版内专家分月排行榜第一2010年12月 企业开发大版内专家分月排行榜第一2010年11月 企业开发大版内专家分月排行榜第一2010年9月 企业开发大版内专家分月排行榜第一2010年8月 企业开发大版内专家分月排行榜第一2010年7月 企业开发大版内专家分月排行榜第一2010年6月 企业开发大版内专家分月排行榜第一2010年5月 企业开发大版内专家分月排行榜第一
2016年3月 .NET技术大版内专家分月排行榜第二2016年1月 .NET技术大版内专家分月排行榜第二2015年12月 .NET技术大版内专家分月排行榜第二2015年2月 .NET技术大版内专家分月排行榜第二2015年1月 .NET技术大版内专家分月排行榜第二2014年11月 .NET技术大版内专家分月排行榜第二2014年5月 .NET技术大版内专家分月排行榜第二2014年4月 .NET技术大版内专家分月排行榜第二2012年2月 多媒体/设计/Flash/Silverlight 开发大版内专家分月排行榜第二
2016年5月 .NET技术大版内专家分月排行榜第三2016年4月 .NET技术大版内专家分月排行榜第三2016年2月 .NET技术大版内专家分月排行榜第三2015年10月 .NET技术大版内专家分月排行榜第三2015年9月 .NET技术大版内专家分月排行榜第三2015年7月 .NET技术大版内专家分月排行榜第三2015年6月 .NET技术大版内专家分月排行榜第三2015年5月 .NET技术大版内专家分月排行榜第三2015年4月 .NET技术大版内专家分月排行榜第三2014年12月 .NET技术大版内专家分月排行榜第三2014年10月 .NET技术大版内专家分月排行榜第三2014年9月 .NET技术大版内专家分月排行榜第三2014年1月 .NET技术大版内专家分月排行榜第三2013年12月 .NET技术大版内专家分月排行榜第三2013年10月 .NET技术大版内专家分月排行榜第三2013年5月 .NET技术大版内专家分月排行榜第三2011年9月 .NET技术大版内专家分月排行榜第三2011年2月 .NET技术大版内专家分月排行榜第三2010年2月 .NET技术大版内专家分月排行榜第三
2016年3月 .NET技术大版内专家分月排行榜第二2016年1月 .NET技术大版内专家分月排行榜第二2015年12月 .NET技术大版内专家分月排行榜第二2015年2月 .NET技术大版内专家分月排行榜第二2015年1月 .NET技术大版内专家分月排行榜第二2014年11月 .NET技术大版内专家分月排行榜第二2014年5月 .NET技术大版内专家分月排行榜第二2014年4月 .NET技术大版内专家分月排行榜第二2012年2月 多媒体/设计/Flash/Silverlight 开发大版内专家分月排行榜第二
2016年5月 .NET技术大版内专家分月排行榜第三2016年4月 .NET技术大版内专家分月排行榜第三2016年2月 .NET技术大版内专家分月排行榜第三2015年10月 .NET技术大版内专家分月排行榜第三2015年9月 .NET技术大版内专家分月排行榜第三2015年7月 .NET技术大版内专家分月排行榜第三2015年6月 .NET技术大版内专家分月排行榜第三2015年5月 .NET技术大版内专家分月排行榜第三2015年4月 .NET技术大版内专家分月排行榜第三2014年12月 .NET技术大版内专家分月排行榜第三2014年10月 .NET技术大版内专家分月排行榜第三2014年9月 .NET技术大版内专家分月排行榜第三2014年1月 .NET技术大版内专家分月排行榜第三2013年12月 .NET技术大版内专家分月排行榜第三2013年10月 .NET技术大版内专家分月排行榜第三2013年5月 .NET技术大版内专家分月排行榜第三2011年9月 .NET技术大版内专家分月排行榜第三2011年2月 .NET技术大版内专家分月排行榜第三2010年2月 .NET技术大版内专家分月排行榜第三
2016年3月 .NET技术大版内专家分月排行榜第二2016年1月 .NET技术大版内专家分月排行榜第二2015年12月 .NET技术大版内专家分月排行榜第二2015年2月 .NET技术大版内专家分月排行榜第二2015年1月 .NET技术大版内专家分月排行榜第二2014年11月 .NET技术大版内专家分月排行榜第二2014年5月 .NET技术大版内专家分月排行榜第二2014年4月 .NET技术大版内专家分月排行榜第二2012年2月 多媒体/设计/Flash/Silverlight 开发大版内专家分月排行榜第二
2016年5月 .NET技术大版内专家分月排行榜第三2016年4月 .NET技术大版内专家分月排行榜第三2016年2月 .NET技术大版内专家分月排行榜第三2015年10月 .NET技术大版内专家分月排行榜第三2015年9月 .NET技术大版内专家分月排行榜第三2015年7月 .NET技术大版内专家分月排行榜第三2015年6月 .NET技术大版内专家分月排行榜第三2015年5月 .NET技术大版内专家分月排行榜第三2015年4月 .NET技术大版内专家分月排行榜第三2014年12月 .NET技术大版内专家分月排行榜第三2014年10月 .NET技术大版内专家分月排行榜第三2014年9月 .NET技术大版内专家分月排行榜第三2014年1月 .NET技术大版内专家分月排行榜第三2013年12月 .NET技术大版内专家分月排行榜第三2013年10月 .NET技术大版内专家分月排行榜第三2013年5月 .NET技术大版内专家分月排行榜第三2011年9月 .NET技术大版内专家分月排行榜第三2011年2月 .NET技术大版内专家分月排行榜第三2010年2月 .NET技术大版内专家分月排行榜第三
2016年3月 .NET技术大版内专家分月排行榜第二2016年1月 .NET技术大版内专家分月排行榜第二2015年12月 .NET技术大版内专家分月排行榜第二2015年2月 .NET技术大版内专家分月排行榜第二2015年1月 .NET技术大版内专家分月排行榜第二2014年11月 .NET技术大版内专家分月排行榜第二2014年5月 .NET技术大版内专家分月排行榜第二2014年4月 .NET技术大版内专家分月排行榜第二2012年2月 多媒体/设计/Flash/Silverlight 开发大版内专家分月排行榜第二
2016年5月 .NET技术大版内专家分月排行榜第三2016年4月 .NET技术大版内专家分月排行榜第三2016年2月 .NET技术大版内专家分月排行榜第三2015年10月 .NET技术大版内专家分月排行榜第三2015年9月 .NET技术大版内专家分月排行榜第三2015年7月 .NET技术大版内专家分月排行榜第三2015年6月 .NET技术大版内专家分月排行榜第三2015年5月 .NET技术大版内专家分月排行榜第三2015年4月 .NET技术大版内专家分月排行榜第三2014年12月 .NET技术大版内专家分月排行榜第三2014年10月 .NET技术大版内专家分月排行榜第三2014年9月 .NET技术大版内专家分月排行榜第三2014年1月 .NET技术大版内专家分月排行榜第三2013年12月 .NET技术大版内专家分月排行榜第三2013年10月 .NET技术大版内专家分月排行榜第三2013年5月 .NET技术大版内专家分月排行榜第三2011年9月 .NET技术大版内专家分月排行榜第三2011年2月 .NET技术大版内专家分月排行榜第三2010年2月 .NET技术大版内专家分月排行榜第三
2016年3月 .NET技术大版内专家分月排行榜第二2016年1月 .NET技术大版内专家分月排行榜第二2015年12月 .NET技术大版内专家分月排行榜第二2015年2月 .NET技术大版内专家分月排行榜第二2015年1月 .NET技术大版内专家分月排行榜第二2014年11月 .NET技术大版内专家分月排行榜第二2014年5月 .NET技术大版内专家分月排行榜第二2014年4月 .NET技术大版内专家分月排行榜第二2012年2月 多媒体/设计/Flash/Silverlight 开发大版内专家分月排行榜第二
2016年5月 .NET技术大版内专家分月排行榜第三2016年4月 .NET技术大版内专家分月排行榜第三2016年2月 .NET技术大版内专家分月排行榜第三2015年10月 .NET技术大版内专家分月排行榜第三2015年9月 .NET技术大版内专家分月排行榜第三2015年7月 .NET技术大版内专家分月排行榜第三2015年6月 .NET技术大版内专家分月排行榜第三2015年5月 .NET技术大版内专家分月排行榜第三2015年4月 .NET技术大版内专家分月排行榜第三2014年12月 .NET技术大版内专家分月排行榜第三2014年10月 .NET技术大版内专家分月排行榜第三2014年9月 .NET技术大版内专家分月排行榜第三2014年1月 .NET技术大版内专家分月排行榜第三2013年12月 .NET技术大版内专家分月排行榜第三2013年10月 .NET技术大版内专家分月排行榜第三2013年5月 .NET技术大版内专家分月排行榜第三2011年9月 .NET技术大版内专家分月排行榜第三2011年2月 .NET技术大版内专家分月排行榜第三2010年2月 .NET技术大版内专家分月排行榜第三
2009年2月 .NET技术大版内专家分月排行榜第三
匿名用户不能发表回复!|
每天回帖即可获得10分可用分!小技巧:
你还可以输入10000个字符
(Ctrl+Enter)
请遵守CSDN,不得违反国家法律法规。
转载文章请注明出自“CSDN(www.csdn.net)”。如是商业用途请联系原作者。评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
第一章 JavaScript (基础)
第二章 JavaScript(高级)yii中引入js和css&文件
如何在yii 中引入js和css 文件呢?
除了用常用的引入方法外,
&link rel="stylesheet" href="css/index.css"
&script type="text/javascript"
src="js/jquery.js"&&/script&
yii 还有它自带的引入方法:
引入普通的js : registerScriptFile() 方法;
引入核心的js : registerCoreScript() 方法;
引入css :registerCssFile()& 方法。
示例如下 :
Yii::app()-&clientScript
&&&&&&&&&&&&&&&
-&registerCoreScript('jquery')&&&&&&&&
//引入核心的js文件
&&&&&&&&&&&&&&&
-&registerCssFile(Yii::app()-&theme-&baseUrl.'/css/index.css')
&&&&&&&&&&&&&&&
-&registerScriptFile(Yii::app()-&theme-&baseUrl."/js/main.js")&&
<img ALT=""
TITLE="yii中引入js和css&文件" />
他们的功能和上述的常用方法是一样的。
另外,为了提高页面的加载速度,可以把一些js 文件放在页尾。
yii 用方法 CClientScript::POS_XXX (XXX 可以是
HEAD,BEGIN,END,LOAD,READY参数中的任何一个)。
他们的具体用法和具体含义如下:
<img ALT=""
TITLE="yii中引入js和css&文件" />Yii::app()-&clientScript
-&registerScriptFile(Yii::app()-&baseUrl
. "/js/main.js", CClientScript::POS_END);
各参数的含义:
CClientScript::POS_HEAD& : 把该js 文件放在标签中的
CClientScript::POS_BEGIN : 把该js 文件放在标签的开始
CClientScript::POS_END&& :
把该js 文件放在标签的最后
CClientScript::POS_LOAD& : 把该js 文件放在
window.onload() 方法中
CClientScript::POS_READY : 把该js 文件放在 JQuery.ready()
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

我要回帖

更多关于 新浪邮箱下载链接失效 的文章

 

随机推荐