如何在JSP中添加Expires或Cache- Control标头?我想在包含页面中为我的静态组件(例如图像,CSS和JavaScript文件)添加一个过期日期。
Expires
Cache- Control
要为JSP页面禁用浏览器缓存,请创建一个Filter,该映射到的url- pattern上*.jsp,并且基本上在doFilter()方法中执行以下操作:
Filter
url- pattern
*.jsp
doFilter()
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页面上并用 scriptlet 使它们混乱。
为了使像CSS和JS静电元件浏览器缓存,把他们都在一个共同的文件夹一样/static或/resources并创建一个Filter被映射上url- pattern的/static/*或/resources/*和做基本上在下面的doFilter()方法:
/static
/resources
/static/*
/resources/*
httpResponse.setDateHeader("Expires", System.currentTimeMillis() + 604800000L); // 1 week in future.
也可以看看: