spring boot 静态资源的映射规则 webjars 资源映射

Posted 1点

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了spring boot 静态资源的映射规则 webjars 资源映射相关的知识,希望对你有一定的参考价值。

我们可以在   WebMvcAutoConfiguration 这个类下查找一个方法    addResourceHandlers

  public void addResourceHandlers(ResourceHandlerRegistry registry) {
            if (!this.resourceProperties.isAddMappings()) {
                logger.debug("Default resource handling disabled");
            } else {
                Duration cachePeriod = this.resourceProperties.getCache().getPeriod();
                CacheControl cacheControl = this.resourceProperties.getCache().getCachecontrol().toHttpCacheControl();
                if (!registry.hasMappingForPattern("/webjars/**")) {
                    this.customizeResourceHandlerRegistration(registry.addResourceHandler(new String[]{"/webjars/**"}).addResourceLocations(new String[]{"classpath:/META-INF/resources/webjars/"}).setCachePeriod(this.getSeconds(cachePeriod)).setCacheControl(cacheControl));
                }

                String staticPathPattern = this.mvcProperties.getStaticPathPattern();
                if (!registry.hasMappingForPattern(staticPathPattern)) {
                    this.customizeResourceHandlerRegistration(registry.addResourceHandler(new String[]{staticPathPattern}).addResourceLocations(WebMvcAutoConfiguration.getResourceLocations(this.resourceProperties.getStaticLocations())).setCachePeriod(this.getSeconds(cachePeriod)).setCacheControl(cacheControl));
                }

            }
        }

从这段代码我们可以看出 如果收到    /webjars/**    请求 , 我们会去    classpath:/META-INF/resources/webjars/  这里查找资源文件

比如 我们 可以 去  https://www.webjars.org/ 这个官网  引入jquery  

添加依赖到pom.xml 文件下

<dependency>
    <groupId>org.webjars</groupId>
    <artifactId>jquery</artifactId>
    <version>3.3.1</version>
</dependency>

 

 

访问 http://localhost:8080/webjars/jquery/3.3.1/jquery.js 

得到 

 

以上是关于spring boot 静态资源的映射规则 webjars 资源映射的主要内容,如果未能解决你的问题,请参考以下文章

spring boot 静态资源的映射规则 欢迎页面映射

Spring Boot对静态资源的映射规则

Spring Boot自定义静态资源映射

spring boot 静态资源映射

使用 Spring Boot 映射 html 资源

Spring Boot 2从入门到入坟 | Web场景开发篇:静态资源规则与定制化