九、Spring Boot静态资源处理




1、默认静态资源映射规则

2、自定义静态资源映射规则



1、默认静态资源映射规则

Spring Boot 默认为我们提供了静态资源处理,使用 WebMvcAutoConfiguration类配置各种属性。

我们找到如下方法,发现在Spring Boot中静态资源映射默认会映射到classpath:/META-INF/resources/下的static、public、resources文件夹里面的静态资源,也就是说在这几个文件夹下面放入静态资源会被扫描到。


public String[] getStaticLocations() {
    return this.staticLocations;
}
private String[] staticLocations = CLASSPATH_RESOURCE_LOCATIONS;
// 找到路径
private static final String[] CLASSPATH_RESOURCE_LOCATIONS = { 
    "classpath:/META-INF/resources/",
  "classpath:/resources/", 
    "classpath:/static/", 
    "classpath:/public/" 
};

静态资源扫描优先级为:META-INF/resources > resources > static > public

为了演示我们在resources文件下创建static、public、resources文件夹,分别创建一个page.html文件。
九、Spring Boot静态资源处理

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    这是public下的静态资源!!!
</body>
</html>

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    这是resources下的静态资源!!!
</body>
</html>

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    这是static下的静态资源!!!
</body>
</html>

运行结果
九、Spring Boot静态资源处理



2、自定义静态资源映射规则

在application.properties配置文件使用spring.web.resources.static-locations进行配置。

配置指定使用classpath:/public/下的资源

spring.web.resources.static-locations=classpath:public/

上一篇:hadoop3.2下MapReduce操作出现错误: 找不到或无法加载主类org.apache.hadoop.mapreduce.v2.app.MRAppMaster 问题解决方法


下一篇:SpringBoot(三)