Springboot访问静态资源js,css,jpg图片等

Springboot有默认的静态资源访问映射:

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

在没有修改静态资源访问映射路径的情况下,只需这样:http://localhost:8080/a.jpg 就能访问a.jpg,这张图片可以在static 下,也可以在public,resources文件夹下。

而在application中可以配置自定义的访问路径

1.spring.mvc.static-path-pattern

这个配置项是告诉springboot,应该以什么样的方式去寻找资源。默认配置为 /* 。

spring.mvc.static-path-pattern=/soul/*

如果原先访问首页的地址是:http://localhost:8888/index.html
那么在你配置这个配置后,上面的访问就失效了,现在访问同样的页面需要这样访问:http://localhost:8888/soul/index.html

2. spring.resources.static-locations

这个配置项是告诉springboot去哪找资源。

# 默认值为
spring.resources.static-locations=classpath:/META-INF/resources/,classpath:/resources/,classpath:/static/,classpath:/public/

根据前后关系确定优先级,也就是说如果/META-INF/resources/目录和/resources都有一个index.html,那么根据默认的优先级,会去访问/META-INF/resources/下的资源。

在thymeleaf里js,css引用可以写成

然后就可以访问服务器上的静态文件了 http://127.0.0.1:8888/js/jquery-3.4.1.js

 

补充:html中需要引用css与js文件时,如果css和js不是直接在static下,而是在static下的文件夹中。在后台需要配置对静态资源的引用,否则访问不到资源文件。添加配置后,html中就可以用@{...}来引用static下的js/css/img等资源。当然,如果你只提供接口提供数据不涉及页面的话就不需要这些了。

前台引用如图:

你可能感兴趣的:(SpringBoot)