【问题标题】:where Jsp file is cached and howJsp文件缓存在哪里以及如何
【发布时间】:2015-02-16 19:50:15
【问题描述】:

在我的应用程序中,对 jsp 文件进行任何更改后,在我执行刷新或清除缓存之前不会获取更改。

我想知道 jsp 存储在缓存中的哪个位置,因为我可以看到所有 .js、css、图像文件都存储在 IE 的临时文件夹中。但是找不到jsp文件。

因此,如果有人可以帮助我指导有关 jsps 的缓存方式和位置,将不胜感激。

更新:我只想知道缓存是如何为 jsp 工作的。

  1. 发生在客户端还是服务器端。
  2. 有没有办法停止对 jsps 的缓存。
  3. 或者每当更新 jsps 时,都应该获取最新的副本,否则可以从缓存中获取它们。

【问题讨论】:

  • Jsp 在服务器端。你不会在浏览器中看到一个。它们是生成发送到浏览器的资源的 servets。
  • 这里已经有答案了:stackoverflow.com/questions/8701699/…
  • @bobtheboy 抱歉,但我不是在询问位置,而是询问 jsp 缓存机制。它发生在客户端还是服务器端。以及如何防止缓存。

标签: java jsp internet-explorer caching


【解决方案1】:

JSP 在浏览器缓存中缓存为简单的 HTML 文件。 您可以在您的 JSP 页面上使用它来防止缓存 Using <meta> tags to turn off caching in all browsers?

【讨论】:

    【解决方案2】:

    JSP 不是 HTML 之类的静态页面,它们是从您的 Servlet Container(即应用服务器)提供的。

    编译后,它们会像其他 HTML 页面一样在浏览器中呈现,但它们不仅提供静态内容,还提供 JSTL 标签库、支持 EL 等。

    要关闭缓存,

    <%
       response.setHeader( "Pragma", "no-cache" );
       response.setHeader( "Cache-Control", "no-cache" );
       response.setDateHeader( "Expires", 0 );
    %>
    

    和下面的html标签做同样的事情,

    <meta http-equiv="Pragma" content="no-cache">
    <meta http-equiv="Cache-Control" content="no-cache">
    <meta http-equiv="Expires" content="Sat, 01 Dec 2001 00:00:00 GMT">
    

    另见

    【讨论】:

    猜你喜欢
    • 2020-05-02
    • 2014-03-04
    • 1970-01-01
    • 1970-01-01
    • 2014-12-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-09
    • 2014-03-29
    相关资源
    最近更新 更多