在使用SpringBoot开发项目时,在配置文件中添加了配置项 spring.mvc.static-path-pattern=/static/**,就是指定了访问项目中的静态资源的url地址需要以/static开头,该配置项和spring.resources.static-locations配置项配合使用,spring.resources.static-locations配置项用于指定静态资源的存放位置。下面介绍这两个配置项。
spring.mvc.static-path-pattern
该配置项是配置springmvc对静态资源访问的映射,该配置项与类WebMvcProperties中的staticPathPattern属性绑定,该类中存放了对springmvc的各种配置,springboot对spingmvc自动配置类在配置springmvc时的配置信息就是从WebMvcProperties的属性中获取到的,当spring.mvc.static-path-pattern=/static/**,对静态资源的请求必须以 /static 开头,比如访问项目的static静态资源文件夹下的js文件夹下的hello.js文件,就需要通过 http://localhost:8080/static/js/hello.js,映射静态资源的方式使用/static/的后面的路径部分,也就是/js/hello.js,到服务器端的static文件夹下按照对应的路径(js/hello.js)去找对应的文件,如果没有配置该配置项,那么在请求时,springmvc会首先根据请求的url查找有没有处理该请求的controller,如果没有就会自动的去项目的静态资源文件下按照请求的url路径找对应的文件,项目的静态资源位置是由 spring.web.resources.static-locations 配置项决定的。