Glassfish没有更新JavaScript文件
Glassfish not updating JavaScript files
我一直在为一个web项目使用Glassfish 3.1,即使在更新了一个JavaScript文件,并将整个项目重新发布到Glassfish服务器上之后,服务器似乎也执行旧版本的文件。我试过,重新启动服务器,但一切都白费了。提前谢谢。
在我的回答中,我假设您完全确信,即使打包了更新的脚本,页面上仍然呈现旧的脚本版本。然而,我建议你仔细检查一下。
这里有一些选项:
第一个选项如果它是一台开发人员机器,并且只有一次缓存问题,您可以通过从GLASSFISH_HOME中删除应用程序、生成的和osgi缓存文件夹来快速修复它。在你应该停止你的AS之前。
第二个选项如果您不希望页面兑现,可以创建一个javax.servlet.Filter
,并使用doFilter
方法将Expires
标头添加到响应中。如果您使用过去的某个日期,则页面将永远不会被缓存。
((HttpServletResponse) resp).addHeader("Expires", "Mon, 8 Aug 2006 10:00:00 GMT");
或者,您可以计算一个值,这将是您的缓存策略。
第三种选择您可以在页面URL中添加参数。例如http://{YOUR_URL}/${PATH_TO_PAGE}?版本={APP_version}
您不必读取或处理此参数,因此不关心其名称或值,但如果在应用程序中,每次升级应用程序并导航到添加此参数的页面时都会增加{APP_VERSION},则会使每个应用程序版本的页面URL都是唯一的,并且您可以确保未使用以前版本的缓存版本。这种方式当然有点尴尬,但它仍然是一种选择。顺便说一句,这是一个很好的方法来检查你是否真的遇到了缓存相关的问题。只需在页面URL中添加一个带有随机值的随机参数,就可以看到最新的脚本版本。
第四个选项你可以以某种方式组合这些选项
希望对有所帮助
这不是Glassfish的问题。这是因为你的浏览器缓存了js文件。
你只需要清除你的浏览器缓存。
- 使用压缩的JavaScript文件(不是运行时压缩)
- 如何包含特定于每个视图angularjs的javascript文件
- 将数据从javascript文件导入VB.Net页面
- Chrome加载旧版本的Javascript文件
- 操作员”;新的“;根据我想在几个JavaScript文件中使用的类,在JavaScript中使用
- gulp-if-javascript文件,但不在gulp-useref的特定目录中
- 如何在visualstudio中调试web api时编辑javascript文件
- 关于引入外部javascript文件的问题&css通过https
- 有没有办法在tinymceiframe中加载一个外部javascript文件
- 什么'是在asp.net MVC中将本地化的resources.resx文件转换为javascript文件的有效
- 在一个javascript文件中为整个网站创建标签
- 如何在定义js文件后为外部javascript文件设置变量
- 显示IIS上javascript文件(SOAP请求)的XML响应
- ResolveUrl没有'我似乎不适合当链接到具有动态虚拟目录的外部javascript文件时
- 我应该将MVC视图特定的javascript文件放在哪个文件夹中
- Django'支持Javascript文件中的翻译
- MVC正在忽略我的Javascript文件
- 为什么不't我的ruby代码与javascript文件一起插入
- 在Javascript文件中获取PHP变量
- 如何在Windows中将Javascript文件编译成二进制文件