Glassfish没有更新JavaScript文件

Glassfish not updating JavaScript files

本文关键字:JavaScript 文件 更新 Glassfish      更新时间:2023-09-26

我一直在为一个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文件。

你只需要清除你的浏览器缓存。