0
我希望我的瀏覽器不要存儲緩存,當我更新服務器的內容時,我總是擁有文檔的第一個版本。如何讓瀏覽器不存儲緩存Java EE/Tomcat
但是,當我的瀏覽器擦除緩存一切都OK。 有沒有辦法告訴瀏覽器在運行我的webApp時不要存儲緩存? 我正在使用Java EE(JSP)和Apache Tomcat Server。
我希望我的瀏覽器不要存儲緩存,當我更新服務器的內容時,我總是擁有文檔的第一個版本。如何讓瀏覽器不存儲緩存Java EE/Tomcat
但是,當我的瀏覽器擦除緩存一切都OK。 有沒有辦法告訴瀏覽器在運行我的webApp時不要存儲緩存? 我正在使用Java EE(JSP)和Apache Tomcat Server。
您可以使用ServletFilter中,以確保HTTP響應包含頭指示瀏覽器不緩存:
public class NoCachingFilter implements Filter {
public void init(FilterConfig filterConfig) {
}
public void destroy() {
}
public void doFilter(
ServletRequest request,
ServletResponse response,
FilterChain chain)
throws IOException, ServletException {
HttpServletResponse httpResponse = (HttpServletResponse) response;
httpResponse.setHeader("Cache-Control", "no-cache");
httpResponse.setDateHeader("Expires", 0);
httpResponse.setHeader("Pragma", "no-cache");
httpResponse.setDateHeader("Max-Age", 0);
chain.doFilter(request, response);
}
}
,然後配置web.xml中使用過濾器的所有請求:
<filter>
<filter-name>NoCachingFilter</filter-name>
<filter-class>my.pkg.NoCachingFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>NoCachingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>