访问静态资源:
静态资源需要放在哪些路径下才能被访问呢:
通过WebMvcAutoConfiguration.java中 addResourceHandlers()方法查找绑定的路径,一个是通过webjars的形式访问,
一个是通过我们自己放进来的静态变量的形式访问,我们能将静态资源文件放在哪些各路径下也是通过这个方法找的。
首先pom.xml中引入webjars形式的jar包,如下代码:
<!--测试webjars访问静态资源文件-->
<dependency>
<groupId>org.webjars</groupId>
<artifactId>jquery</artifactId>
<version>3.4.1</version>
</dependency>
webjars源码解读如下图:即可通过/webjars的形式访问,实际是找对应跟路径下的/META-INF/resources/webjars路径下的资源文件
即想访问juqery.js静态资源文件的时候,可以访问为http://localhost:8080/webjars/jquery/3.4.1/jquery.js
另一种形式就是我们自己定义的静态资源文件应该放在哪个路径下呢,找路径的步骤如下:
所以我们的静态资源文件放在以上路径任何一个目录下都可以被访问到。
另外,如果想更改默认的静态资源访问路径,可通过在application.properties中配置,如下:
spring.resources.staticLocations = classpath:/hello/
则会覆盖掉原有的静态资源文件路径的配置。
如有理解不到的地方,望指正。
原文:https://www.cnblogs.com/xiao1572662/p/11906845.html