在 JSP 中添加过期或缓存控制标头

2022-09-01 11:15:24

如何在 JSP 中添加标头?我想在包含页面中为我的静态组件(如图像,CSS和JavaScript文件)添加一个遥远的到期日期。ExpiresCache-Control


答案 1

要禁用 JSP 页的浏览器高速缓存,请创建一个映射到 of 上的方法,并在该方法中基本上执行以下操作:Filterurl-pattern*.jspdoFilter()

HttpServletResponse httpResponse = (HttpServletResponse) response;
httpResponse.setHeader("Cache-Control", "no-cache, no-store, must-revalidate"); // HTTP 1.1
httpResponse.setHeader("Pragma", "no-cache"); // HTTP 1.0
httpResponse.setDateHeader("Expires", 0); // Proxies.

这样,您就不需要在所有 JSP 页面上复制粘贴它,并用脚本小工具将它们弄乱。

要为CSS和JS等静态组件启用浏览器缓存,请将它们全部放在一个公共文件夹中,例如or,并创建一个映射到or上的文件夹,并在该方法中基本上执行以下操作:/static/resourcesFilterurl-pattern/static/*/resources/*doFilter()

httpResponse.setDateHeader("Expires", System.currentTimeMillis() + 604800000L); // 1 week in future.

另请参阅:


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

推荐