Static Resources

静态资源

Spring Boot Features > 7.1.5. Static Content

查找顺序

默认配置

spring.mvc.static-path-pattern=/**

spring.resources.static-locations=classpath:/META-INF/resources/,classpath:/resources/,classpath:/static/,classpath:/public/

webjars 格式

官网: https://www.webjars.org/

作用: 依赖 jar 包,直接使用静态文件

以 jquery 的 jar 包格式举例

META-INF/resources/webjars/jquery/3.4.1/jquery.min.map
META-INF/resources/webjars/jquery/3.4.1/jquery.min.js
META-INF/resources/webjars/jquery/3.4.1/jquery.slim.js
META-INF/resources/webjars/jquery/3.4.1/jquery.js
META-INF/resources/webjars/jquery/3.4.1/webjars-requirejs.js
META-INF/resources/webjars/jquery/3.4.1/jquery.slim.min.js
META-INF/resources/webjars/jquery/3.4.1/jquery.slim.min.map

可通过 http://localhost:8080/webjars/jquery/3.4.1/jquery.js 直接访问 jar 包内的静态文件

去掉访问路径中的版本号 ( 即访问 http://localhost:8080/webjars/jquery/jquery.js ),需要添加以下依赖:

<dependency>
    <groupId>org.webjars</groupId>
    <artifactId>webjars-locator-core</artifactId>
    <version>${x.x.x}</version>
</dependency>

原理 @see

  • spring-webmvc : org.springframework.web.servlet.resource.ResourceResolver
    • spring-webmvc : org.springframework.web.servlet.resource.AbstractResourceResolver
      • spring-webmvc : org.springframework.web.servlet.resource.WebJarsResourceResolver

Read More