• 在SpringMVC中我们需要对静态资源进行配置才可以正常访问到

    < mvc:annotation-driven >
    < mvc: resources mapping=“/static/**” location=“/statics/” />
    

springboot默认静态资源配置

  • 在springboot项目中,已经默认给我们配置好了,但是也可以自定义修改,先看一下默认的配置:

    类比上面的配置,默认的mapping也就是映射路径 staticPathPattern

    • staicPathPattern = “/**”;

解释:当在url中访问staticPathPattern,/**的时候也就是url中包含localhost:8080/,springboot默认就会去staticLocations[]中的路径下找符合的资源

vJjknI.png

​ 默认的静态资源存放路径 staticLocations[]

"classpath:/META-INF/resources/" "classpath:/resources/" "classpath:/static/" "classpath:/public/"

解释:classpath : 一般代表类路径下,也就是resources目录下,更具体的其实是target/classes/目录下叫做classpath

默认将静态资源放在这四个路径下都可以,我们一般使用idea创建springboot项目的时候,自带一个static目录,我们将静态资源放这个目录下面就够。

vJXOn1.png

测试默认配置是否有效:

我想访问resources/static/out.js文件

vYpDkq.png

在浏览器地址栏输出:localhost:8080/out.js

vY9ijg.png

小结:springboot默认给我们配置好了静态资源存放的路径和映射关系,比如放在static目录下,但是有的时候我们可能需要自定义存放路径,如何修改默认配置?

自定义静态资源路径配置

  • 修改默认配置(在springboot的配置文件中修改,application.yaml):

    比如我们现在static目录下有js目录,里面存放js文件,以及还有images目录,里面存放图片

vYPmlT.png

此时如果不配置的话,默认只能访问到out.js,因为默认会去static下找,而不会去二级目录下找,所以图片和1.js文件都是无法访问的

spring:
  web:
    resources:
      static-locations: classpath:/static/images,classpath:/static,classpath:/static/js
      #这里配置了三个路径,分别对应三个不同的配置,这样就可以访问到我们的图片和js文件,路径之间用逗号隔开

注意:如果自己配置了路径之后,springboot默认的路径就没用了,也就是static,public,resources目录都无效了,以自定义配置为准!

  • 测试:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gx0pnNui-1660299045500)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20220812175259827.png)]

vYiYUs.png

[vYiBKU.png](


版权声明:本文为qq_52061700原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/qq_52061700/article/details/126309375