Caching 如何在Vaadin中禁用浏览器缓存

Caching 如何在Vaadin中禁用浏览器缓存,caching,pdf,http-headers,vaadin,browser-cache,Caching,Pdf,Http Headers,Vaadin,Browser Cache,我的问题很短(希望很容易解决!):如何在使用vaadin实现的Web服务中完全禁用浏览器缓存 我想完全禁用缓存,因为当我尝试进行PDF流式处理并在浏览器中显示它们时,会遇到问题 我已经阅读了关于我的问题的解决方案,例如: 他们讨论在web应用程序中添加一些禁用浏览器缓存的标题。但是如何将它们添加到我的Vaadin应用程序中 一个简短的代码片段将非常受欢迎(并且非常有用!) 再次感谢你给我的每一个答案和想法 在我看来,在下载PDF文件时,您似乎想要禁用缓存。假设您正在使用DownloadStre

我的问题很短(希望很容易解决!):如何在使用vaadin实现的Web服务中完全禁用浏览器缓存

我想完全禁用缓存,因为当我尝试进行PDF流式处理并在浏览器中显示它们时,会遇到问题

我已经阅读了关于我的问题的解决方案,例如:

他们讨论在web应用程序中添加一些禁用浏览器缓存的标题。但是如何将它们添加到我的Vaadin应用程序中

一个简短的代码片段将非常受欢迎(并且非常有用!)


再次感谢你给我的每一个答案和想法

在我看来,在下载PDF文件时,您似乎想要禁用缓存。假设您正在使用
DownloadStream
对内容进行流式处理,那么如下所示设置
content-Disposition
Cache-Control
头应该可以工作

 DownloadStream stream = new DownloadStream(getStreamSource().getStream(), contentType, filename);
stream.setParameter("Content-Disposition", "attachment;filename=" + filename);
// This magic incantation should prevent anyone from caching the data
stream.setParameter("Cache-Control", "private,no-cache,no-store");    
// In theory <=0 disables caching. In practice Chrome, Safari (and, apparently, IE) all ignore <=0. Set to 1s 
stream.setCacheTime(1000);
DownloadStream=new DownloadStream(getStreamSource().getStream(),contentType,filename);
setParameter(“内容处置”、“附件;文件名=“+filename”);
//这个神奇的咒语应该可以防止任何人缓存数据
setParameter(“缓存控制”、“私有、无缓存、无存储”);
//从理论上看,这里也有: