我的申请基于以下内容:
我在jBoss / deploy / new.war中创建了额外的war,我放了很多.wav文件。我使用gwt Audio从浏览器播放音频文件。但是,即使我从文件夹中删除文件或重命名该文件,该文件也始终缓存在浏览器中。
有人能告诉我如何禁用通过jBoss EAP 5.1上托管的GWT播放的.wav文件的浏览器缓存。注意,我无法访问gwt用来播放的http请求,因此无法编辑头文件。请帮帮我!
答案 0 :(得分:0)
如果JBoss提供了wav文件,你应该能够使用映射到*.wav
模式的servlet过滤器添加no-cache头,例如:
@WebFilter("*.wav")
public class NoCacheFilter implements Filter {
@Override
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
HttpServletRequest httpRequest = (HttpServletRequest) request;
HttpServletResponse httpResponse = (HttpServletResponse) response;
httpResponse.setDateHeader("Date", System.currentTimeMillis());
httpResponse.setDateHeader("Expires", System.currentTimeMillis() - 86400000L);
httpResponse.setHeader("Pragma", "no-cache");
httpResponse.setHeader("Cache-control", "no-cache, no-store, must-revalidate");
chain.doFilter(request, response);
}
}