【发布时间】:2016-10-08 21:23:56
【问题描述】:
我在 Wildfly 9 中使用VRaptor 4,我意识到我在 localhost 上的导航、刷新或导航到其他页面时,HTML 内容会正常重新加载。但在另一台主机(例如:生产)中,我需要清除浏览器缓存以刷新页面。示例:如果我发送消息以在视图中显示警报并在其他页面之间导航,然后我转到上一页,警报仍然显示。我需要清除缓存以禁用警报。
我该如何解决?
【问题讨论】:
标签: java caching jboss wildfly
我在 Wildfly 9 中使用VRaptor 4,我意识到我在 localhost 上的导航、刷新或导航到其他页面时,HTML 内容会正常重新加载。但在另一台主机(例如:生产)中,我需要清除浏览器缓存以刷新页面。示例:如果我发送消息以在视图中显示警报并在其他页面之间导航,然后我转到上一页,警报仍然显示。我需要清除缓存以禁用警报。
我该如何解决?
【问题讨论】:
标签: java caching jboss wildfly
您可以在 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 页面发送一个无缓存的 Cache-Control 标头,这在用户体验和服务器负载方面可能非常糟糕。明智地选择不缓存的内容。
【讨论】: