首次加载网页时,浏览器会请求并缓存Java脚本,如果您尝试重新打开ADF应用程序的同一网页,而该ADF应用程序运行包含包含Java脚本的修改版本的不同版本,则它们可能会过时。似乎在缓存时再次请求。 Oracle ADF是否提供机制来确保浏览器对Java脚本的请求仅来自不同版本?
最佳答案
这是一个有效的问题,但不应在ADF框架内解决。
您可以使用Oracle Web Tier来控制缓存过期策略。
进一步说明一下:
首先:Oracle Web Tier方便地建立在Apache Web Server之上。这很重要,因为有关如何使用Apache的知识库(文档,论坛,博客等)显然更大,并且很容易找到专家建议。
您在此处描述的内容称为“浏览器缓存清除”,在网站升级后,您需要“强制”浏览器清除静态缓存(css和javascript)。这样做的唯一方法是更改缓存资源的URL,但是在应用程序逻辑内部实现此操作(虽然是一种常见做法)是错误的设计和不良的关注点分离。这应该从您的Web服务器而不是Web应用程序服务器进行全局控制。
如果您在Weblogic上使用Oracle Web Tier(Apache),则可以将mod_rewrite用于controlling the caching of updated files。