SpringBoot
默认把静态资源文件放在resource/static/
,默认的静态资源路径匹配为/**
。
如果我们在resource/static/
下放一张图片,启动SpringBoot
后去访问它的话。访问路径为**http://localhost:8080/1.png
**
我们可以放置的文件目录有:
resources/static
resources/public
resources/resources
resources/META-INF/resources
更改静态资源访问路径
前面我们提到,默认的静态资源访问路径是/**
我们可以通过配置文件来更改静态资源访问路径
例如:
1 | spring: |
资源放置目录 | 更改之前访问路径 | 更改之后访问路径 |
---|---|---|
resource/static/login.html |
localhost:8080/login.html |
localhost:8080/res/login.html |
resource/static/page/index.html |
localhost:8080/page/index.html |
localhost:8080/res/page/index.html |
相当于多了一个前缀/res/
修改静态资源存放目录
前面我们提到,静态资源只能存在以下目录。
resources/static
resources/public
resources/resources
resources/META-INF/resources
当我们在resources/
,创建了一个目录data
【只要不是static
、public
、resources
、META_INF
就行】
把静态资源放在/resouces/data/
目录下,启动SpringBoot
是无法访问到的。
那我们想访问到怎么办?
修改配置文件
1 | spring: |
我们可以添加多个存放目录。
配置之前,SpringBoot
它只知道static
、public
、resources
、META-INF/resources
这些目录下存放着静态文件。
配置之后,SpringBoot
就知道了 除了static
、public
、resources
、META-INF/resources
这些目录下存放着静态文件。data
、page
这些目录也存放着静态文件。
当我们访问 /data/1.png
文件时,访问路径是:http://localhost:8080/1.png
静态资源映射
当我们进行如下配置
1 | spring: |
访问目录 | 访问路径 |
---|---|
/data/1.png |
localhost:8080/res/1.png |
/page/2.png |
localhost:8080/res/2.png |
但,如果我们想实现如下效果:
访问目录 | 访问路径 |
---|---|
/data/1.png |
localhost:8080/data/1.png |
/page/2.png |
localhost:8080/page/2.png |
那我们可以经过配置类进行配置
1 |
|
__END__