gpt4 book ai didi

ajax - 使用WebContentInterceptor为spring mvc 3的不同部分设置不缓存?

转载 作者:行者123 更新时间:2023-12-04 22:36:53 24 4
gpt4 key购买 nike

您好,我开发了一个动态 Web 应用程序,该应用程序使用 Ajax 从数据库中获取数据并使 GUI 保持最新,但是在使用 IE8 对其进行测试时,我遇到了缓存问题。

我在 webmvc-config.xml 文件中使用了以下代码来阻止浏览器缓存:
<mvc:annotation-driven />
<mvc:interceptors>
<bean id="webContentInterceptor"
class="org.springframework.web.servlet.mvc.WebContentInterceptor">
<property name="cacheSeconds" value="0"/>
<property name="useExpiresHeader" value="true"/>
<property name="useCacheControlHeader" value="true"/>
<property name="useCacheControlNoStore" value="true"/>
</bean>
</mvc:interceptors>

它完全按预期工作,但问题是现在浏览器显然不缓存任何内容。我想知道的是如何修改该 xml 代码,使其适用于 Web 应用程序的 Ajax 部分(使用 5 个 Controller 文件控制);以便图标...等仍被缓存?这些 Controller 文件的路径类似于“/admin/**”

我知道 Spring WebContentInterceptor 具有诸如“setCacheMappings”和“setPathMatcher”之类的属性,但是在网上没有任何地方可以找到在 xml 配置文件中使用的这些示例。

任何帮助都将不胜感激,这真的让我很兴奋……谢谢。 jack

最佳答案

在您的 <mvc:interceptors> 中,您可以限制每个拦截器应应用的 URL 路径,如下所示:

<mvc:interceptors>
<mvc:interceptor>
<mapping path="/admin/*"/>
<bean id="webContentInterceptor" ..... />
</mvc:interceptor>
<mvc:interceptors>

这一切都解释了 here

关于ajax - 使用WebContentInterceptor为spring mvc 3的不同部分设置不缓存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4869557/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com