目录
静态资源规则与定制化
静态资源目录
在springboot的文档中我们可以看到如下的介绍
介绍说明:在类路径下的static、public、resources、或者/META-INF/resources 这些文件夹都可以用来存放静态的的文件,也就是说我们直接访问加上资源名称就可以。比如现在我们的目录是这样的
启动项目,我们进行访问
访问 : 当前项目根路径/ + 静态资源名
原理: 静态映射/**。
此时,如果我们有一个Controller的路径就是http://localhost:8080/4.png会出现什么情况呢?
我们启动访问
解释:springboot先匹配有没有对应的Controller,如果没有就去找静态资源,如果静态资源也没有就会出现404.
根据文档我们也可以添加访问前缀
spring: mvc: static-path-pattern: /res/**
此时再访问必须携带res了
也可以改变默认的静态资源路径,/static,/public,/resources, /META-INF/resources失效
spring:
web:
resources:
static-locations: [classpath:/myself]
welcome与favicon功能
欢迎页支持
-
静态资源路径下 index.html。
- 可以配置静态资源路径
- 但是不可以配置静态资源的访问前缀。否则导致 index.html不能被默认访问
- controller能处理/index
方式一,即为静态资源路径下加index.html
上面我们将静态文件的位置改成了myself,因此我们在myself中加入index.html文件如下
且此时,必须将静态资源访问前缀去掉,否则访问不到
上述方式不可以配置静态资源的访问前缀。否则导致 index.html不能被默认访问
方式二,使用Controller
上述方式使用的是thymeleaf模板,别忘了引入依赖哦
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency>
favicon功能
只需要将favicon.ico这个文件放在静态文件下,名字就叫这个名字即可