我们在 Web 应用程序中有一堆 .js 文件,它们不位于单个目录下。UI 是单独开发的,重新设计它以将所有 *.js 文件放在一个地方非常耗时。
问题是这些文件被浏览器大量缓存,这会在每次应用程序更新时产生很多问题。我们决定关闭这些文件的缓存。
因此,*.js 文件被包含在 servlet 映射中:
<servlet-mapping>
<servlet-name>app</servlet-name>
<url-pattern>*.js</url-pattern>
</servlet-mapping>
我尝试过使用 mvc:resources 但它不能像这样处理 url 的掩码:
<mvc:resources mapping="*.js" location="*.js" cache-period="0"/>
这不起作用,当我尝试访问 js 文件时,我得到了 404 响应。
我也试过 mvc:interceptor:
<mvc:interceptor>
<mvc:mapping path="*.js"/>
<bean id="webJSContentInterceptor"
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:interceptor>
这也会导致 404 错误。
这种事情可能吗?