【问题标题】:<c:import> getting old (probably cached) html content<c:import> 变旧(可能是缓存的)html 内容
【发布时间】:2011-03-04 02:24:41
【问题描述】:

我正在通过标记在 JSP 中访问 URL:

我正在正确获取 html 内容。现在,我更改了 temp.html 的 html 内容,但 JSP 正在呈现旧的 html 内容。相反,如果我直接调用http://servername.com/html/temp.html,我会得到新修改的内容。

html 托管在 Akamai 服务器上,我已确保 Akamai 缓存正在刷新。

任何线索为什么会发生这种情况?是否有任何其他类型的代理/服务器缓存正在检索旧内容?

谢谢, 纳兰

【问题讨论】:

    标签: jsp caching


    【解决方案1】:

    尝试添加一个带有随机值的查询字符串。例如。时间戳。

    <jsp:useBean id="now" class="java.util.Date" />
    
    <c:import url="/${pageContext.request.contextPath}/html/temp.html?${now.time}" var="content" />
    

    请注意,我从您的 url 中删除了不必要的噪音。

    【讨论】:

    • 效果很好。但我仍然不明白是什么让它只使用查询字符串?如果您能在这方面帮助我,我将不胜感激。
    • 这样 URL 每次都会变得不同,所以不会有从缓存中加载的风险。
    • 好的,谢谢。实际上,静态内容托管在 Akamai 服务器上。这个特殊问题只能在 staging.server.com 上重现,而在 origin.staging.server.com 上,它曾经可以正常工作。 akamai 缓存被多次清除。任何线索和原始服务器如何以不同的方式缓存内容?
    【解决方案2】:

    可能是您的浏览器(尝试 ctrl + f5)通过导入在您的页面上执行强制刷新。

    【讨论】:

      猜你喜欢
      • 2017-01-06
      • 1970-01-01
      • 2011-01-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-07-14
      • 2019-07-20
      • 1970-01-01
      相关资源
      最近更新 更多