Tomcat:缓存控制
Jetty具有CacheControl参数(可以指定为webdefault.xml),该参数确定客户端的缓存行为(通过影响发送到客户端的标头)。
Tomcat是否有类似的选择?简而言之,我想关闭对雄猫服务器和/或特定Web应用程序交付的所有页面的缓存吗?
请注意,我指的不是服务器端缓存。我希望服务器告诉所有客户端(浏览器)不要使用自己的缓存,并始终从服务器获取内容。我想一次处理所有资源,包括静态资源(.css,.js等)。
回答:
与上面的帖子类似,但是该代码存在一些问题。这将禁用所有浏览器缓存:
import javax.servlet.*;import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.Date;
public class CacheControlFilter implements Filter {
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
HttpServletResponse resp = (HttpServletResponse) response;
resp.setHeader("Expires", "Tue, 03 Jul 2001 06:00:00 GMT");
resp.setDateHeader("Last-Modified", new Date().getTime());
resp.setHeader("Cache-Control", "no-store, no-cache, must-revalidate, max-age=0, post-check=0, pre-check=0");
resp.setHeader("Pragma", "no-cache");
chain.doFilter(request, response);
}
}
然后按照StuThompson的answer中的描述映射到web.xml中。
以上是 Tomcat:缓存控制 的全部内容, 来源链接: utcz.com/qa/415455.html