如何在Wildfly上禁用缓存。

4
我正在使用VRaptor 4和Wildfly 9,发现在本地服务器上,刷新或跳转到其他页面时,HTML内容会正常重新加载。但在另一个主机(例如:生产环境),我需要清除浏览器缓存才能刷新页面。例如:如果我发送一条消息以显示视图中的警报,并在其他页面之间导航,然后返回到先前的页面,警报仍然显示。我需要清除缓存以禁用警报。
如何解决这个问题?
1个回答

8
您可以在Undertow子系统中设置响应标头过滤器。
<subsystem xmlns="urn:jboss:domain:undertow:1.2">
   ...
   <server name="default-server">
      <host name="default-host" alias="localhost">
         ...
         <filter-ref name="cache-control" predicate="path-suffix['.jsp'] or path-suffix['.jsf']"/>
      </host>
   </server>

   <filters>
      <response-header name="cache-control" header-name="Cache-Control" header-value="no-cache"/>
   </filters>
</subsystem>

关于谓词过滤器语法,请参见http://undertow.io/undertow-docs/undertow-docs-1.2.0/predicates-attributes-handlers.html。它非常强大。我的上面的例子将为每个jsp/jsf页面发送一个no-cache Cache-Control头,这可能会对用户体验和服务器负载造成很大影响。明智地选择不缓存什么。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接