Web开发探究
静态资源处理
静态资源映射规则一
SpringBoot项目的打包方式时jar包,SpringBoot对于静态资源放置的位置,是有约定的
静态资源映射规则:
SpringBoot中,SpringMVC的web配置都定义在WebMvcAutoConfiguration
这个配置类里面
WebMvcAutoConfigurationAdapter
中有很多配置方法,其中包含addResourceHandlers
添加资源处理
这段代码显示,所有的/webjars/**
都被映射到了classpath:/META-INF/resources/webjars/
找对应资源
什么是webjars
webjars的本质,就是以jar包的方式引入静态资源,以前要导入一个静态资源文件,直接导入即可
在SpringBoot中则需要使用webjars
webjars网站:https://www.webjars.org
比如想要使用JQuery,首先导入JQuery maven坐标
之后,在maven下载好的JQuery jar包中,可以找到classpath:/META-INF/resources/webjars/
目录,其中就包含了jquery.js
静态js资源文件
要访问静态资源,就访问对应的/webjars
路由。
访问http://localhost:8080/webjars/jquery/3.4.1/jquery.js
,即可访问到静态资源
静态资源映射配置二
对于项目中自己的静态资源:在staticPathPattern
中可以发现第二种映射规则:/**
,访问当前项目任意资源,都会找到resourceProperties
类:
由此可以得出结论,以下四个目录存放的静态资源可以被SpringBoot识别到:
直接访问http://localhost:8080/静态资源文件名
,SpringBoot就会去这四个文件夹寻找静态资源文件
优先级:
- resources > static > public
自定义静态资源路径
可以在配置文件中配置静态资源文件路径
warning
一旦定义了静态文件夹的路径,原来的自动配置就会失效