SpringBoot默认的静态资源是放在项目类路径下这4个文件下的
默认将/**映射到:classpath:/META-INF/resources/,classpath:/resources/,classpath:/static/,classpath:/public/
静态资源放的是什么:js css img
怎么访问:当前项目根路径 / + 静态资源名
那么问题来了,在静态资源下有一个图片“bug.jpg”,同时requestMapping("/bug.jpg"),那么在浏览器访问“locolhost:8080/bug.jpg”,是会找静态资源的图片呢?还是走requestMapping映射呢。
答案是:先走Controller,再走静态资源处理器。
那怎么避免这种尴尬的情况呢?避免冲突呢?像下面这样配置后,我们再次访问静态资源的时候就必须加上前缀/res了。如: locolhost:8080/res/bug.jpg
spring:
mvc:
static-path-pattern: res/**
那有没有想过不用它默认的静态资源文件夹呢?我们自己指定一个目录来存放静态资源嘞。
可以在配置文件加下图这样一行来指定静态资源文件夹,这个可能会报错。改一下
classpath:/haha/ 试试。或者换成数组的方式[classpath:/haha/],这样可以指定多个静态资源文件夹。
要想欢迎页生效:得这么来
可以配置静态资源路径,如我们上面配置的haha。不可以配置静态资源的访问前缀(如我们上面配置的/res).
favcion长这样,你肯定见过,但不一定留意。
要想favcion图标生效:同样也不可以配置静态资源的访问前缀(如我们上面配置的/res).