SpringBoot2.x引入静态资源报错No mapping for GET XXXX的解决办法以及原理
时间: 2024-03-06 07:47:54 浏览: 50
当我们在SpringBoot2.x中引入静态资源时,有时候会出现No mapping for GET XXXX的报错。这是因为SpringBoot2.x中的静态资源映射规则与之前的版本略有不同。
解决办法:
1.将静态资源放置在默认的/static、/public或/resources目录下。
2.在application.properties或application.yml中添加静态资源映射规则。
application.properties:
```
spring.mvc.static-path-pattern=/static/**
spring.resources.static-locations=classpath:/static/
```
application.yml:
```
spring:
mvc:
static-path-pattern: /static/**
resources:
static-locations: classpath:/static/
```
原理:
SpringBoot2.x中默认的静态资源映射规则是/static、/public或/resources目录下的所有静态资源都会被映射为/路径下的资源,如/static/js/app.js会被映射为/js/app.js。
而如果我们希望自定义静态资源映射规则,则需要在application.properties或application.yml中添加对应的配置项。spring.mvc.static-path-pattern用于设置静态资源的映射规则,spring.resources.static-locations用于设置静态资源的存放位置。