当前位置: 首页 > 知识库问答 >
问题:

如何在Spring启动中为webjar配置缓存控制

益稳
2023-03-14

我已经看到了几个现有的答案,但是当我添加以下内容时,所有webjars都开始返回404s。如何为所有 Webjar 配置缓存控制?

@Configuration
public class HttpCacheControlConfig extends WebMvcConfigurerAdapter {


    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        registry.addResourceHandler("/webjars/**").setCachePeriod( 3600 * 24 );
    }
}

共有1个答案

韩瀚
2023-03-14

您还没有为处理程序配置任何资源位置。您需要这样的东西:

registry.addResourceHandler("/webjars/**")
        .addResourceLocations("classpath:/META-INF/resources/webjars/")
        .setCachePeriod(3600 * 24);

或者,如果您希望所有静态资源具有相同的缓存周期,那么您不需要WebMVCConfigureAdapter,因为您可以在应用程序中使用一个属性来配置它。属性:

spring.resources.cache-period = 86400
 类似资料:
  • 我正在尝试让spring boot让浏览器缓存静态资源。我的资源位于“静态”下的类路径中。当我查看发回的标题时,我看到修改标题设置得很好,但不知何故,标题“缓存控制:无存储”也被添加了。 我已经看到了如何在Spring Boot中启用HTTP响应缓存的答案,但这似乎不适用于我,因为我没有使用Spring Security性,它不在类路径上。 我正在使用带有胸片的Spring启动1.4.0。 那么,

  • 我想在spring boot中设置禁用浏览器缓存(缓存控制:无缓存,无存储,最大年龄=0)。 我的环境 我搜索如果我想设置响应头的缓存控制:无缓存,只需添加在'application.yml'。 这样地 或 但这并不奏效 我无法在chrome浏览器的响应标头中显示缓存控件标头 在Spring框架中,我只是设置 如何设置禁用浏览器缓存在Spring启动没有Spring安全? 非常感谢。

  • 我有一个支持霸气2的要求 我已经使用docket对象创建了swagger 2 如何仅禁用/启用摇摆 3 或摇摆 2?我的意思是如何禁用 swagger 3 配置? 我没有使用启用/禁用swagger 3配置类。只需添加maven依赖项swagger 3就可以了。

  • 我正在将使用JSP的5年前的Spring MVC应用程序移植到Spring Boot。因此,根据http://docs.spring.io/spring-boot/docs/current-snapshot/reference/htmlsingle/#boot-features-jsp-limittings中的示例,我使用了“war”打包。 我很乐意增加tomcat缓存,但是我没有找到在Sprin

  • 我运行一个Spring启动1.5.2应用程序。我想将缓存添加到我的服务方法中,我已经添加了Spring引导启动缓存maven依赖,我正在使用@Cacheable注释,但它没有生效,我在@配置类中创建了我的服务bean-这里有一个例子 下面是我的服务方法的一个例子 我的repoistory接口方法如下 每当我从RestController调用此服务方法时,缓存从未被触发,看起来它没有正确设置 我能做

  • 问题内容: 在基于注释的Spring MVC控制器中,为特定路径设置缓存头的首选方法是什么? 问题答案: org.springframework.web.servlet.support.WebContentGenerator,这是所有Spring控制器的基类,有很多处理缓存头的方法: 它们可以在内容生成之前在控制器中调用,也可以在Spring上下文中指定为bean属性。