在Spring MVC中,对于静态资源需要开发者手动配置静态资源过滤。Spring对此提供了自动化配置,可以简化静态资源过滤配置。
一、默认策略
Spring Boot 对于Spring MVC的自动化配置都在WebMvcAutoConfiguration类中
SpringBoot默认会过滤所有的静态资源,而静态资源的位置一共有5个:
由于SpringBoot项目不需要webapp目录,实际只用考虑其中四个:
二、自定义策略
1、在配置文件中定义
在resources下建立一个application.properties,直接定义过滤规则和静态资源位置
spring.mvc.static-path-pattern=/static/**
spring.resources.static-locations=classpath:/static/
过滤规则为/static/**,静态资源位置位classpath:/static/
重新启动项目,在浏览器输入"http://localhost:8080/static/p1.png"
2、在Java编码定义
实现WebMvcConfigurer接口的addResourceHandlers
@Configuration
public class MyWebMvcConfig implements WebMvcConfigurer{
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry){
registry
.addResourceHandler("/static/**")
.addResourceLocation("classpath:/static/")
}
}