ie11 js修正后,如何确保jsp每次都加载最新

如题所述

IE浏览器自动加载修改后的js文件或者jsp文件原理不同。
1、热部署jsp:
Tomcat jsp热部署的实现原理大体是这样的,每个JSP页面从上次访问到下次访问总是有默认几秒的缓存时间的,也就说并不是严格的即修改即生效,tocmat7默认是有4秒的缓存延迟的。这个默认的缓存延迟是在类EmbeddedServletOptions的private intmodificationTestInterval = 4;这个属性定义的。如果过了4秒缓存时间即失效,这个时候tomcat就会读取jsp的modified时间戳和work目录下编译好的class文件的modified的时间戳作对比。如果相等则class文件没有过期,则不会重新编译jsp文件,如果过期了则重新将jsp编译成java,并进一步编译成class。同时调用JasperLoader来重新加载这个有jsp编译好的class文件。

2、js修改后需要在后面加版本号才能自动加载
定义时间戳:
public final static SYSTEM_STARUP_TIME = System.currentTimeMillis();
比如<script type="text/javascript" src="/js/2011/oschina.js?<%=SYSTEM_STARUP_TIME %>"></script>
温馨提示:答案为网友推荐,仅供参考
相似回答