我是靠谱客的博主 高贵荷花,最近开发中收集的这篇文章主要介绍SpringBoot-05——【SpringBoot访问静态资源源码解析、webjars的使用】7、SpringBoot静态资源访问,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

文章目录

  • 7、SpringBoot静态资源访问
    • 7.1、webjars的使用
    • 7.2、SpringBoot默认静态资源位置

7、SpringBoot静态资源访问

要了解的是springboot打包是以jar包的形式打包运行的、那静态资源(css、js…)这些资源放在什么地方

盲猜这个地方
在这里插入图片描述

我们可以打开web的自动装配来看一下自动装配的资源路径访问地址在什么地方

WebMvcAutoConfiguration类中的一个内部类WebMvcAutoConfigurationAdapter类中的addResourceHandlers方法:字面意思添加资源处理器

在这里插入图片描述

可以分为三个部分、来说

**第一部分:**在yml中配置isAddMappings属性的值为false、表示默认处理器被禁用

第二部分和第三部分是资源放入的地方

第二部分

7.1、webjars的使用

什么是webjars、简单来说就是将资源打包成jar包、如何导入maven项目管理、由maven管理着、

webjars的官网

在这里插入图片描述

进入官网可以看出有一个maven的选项、我们选择这个就会看下对应的pom依赖坐标

假如我们使用jquery

<dependency>
    <groupId>org.webjars.bower</groupId>
    <artifactId>jquery</artifactId>
    <version>3.5.1</version>
</dependency>

将这个导入到项目中、我们找到他的位置
在这里插入图片描述

现在来看第二部分
在这里插入图片描述
第二部分主要的作用就是网址访问http://localhost:8080/webjars/xxxxx不管后面是什么请求、都会去找到classpath:/META-INF/resources/webjars/下的资源、如果文件下有这个资源将其资源显示、没有资源将其到错误页面。

访问一下刚刚导入的jquery.js文件
js
可以看出可以访问到、

为什么能访问到?
在这里插入图片描述

因为项目中可以找到这个地方、这个地方有资源

因此我们在html中可以这样引入静态资源

<link th:href="@{/webjars/jquery/3.5.1/dist/jquery.js}" rel="stylesheet"></link>

第三部分

7.2、SpringBoot默认静态资源位置

在这里插入图片描述

看这个第三部分、发现第三部分的操作和第二部分操作是一样的、只是参数不一样

在这里插入图片描述

值说明
staticPathPattern = /**

this.resourceProperties.getStaticLocations() = "classpath:/META-INF/resources/","classpath:/resources/", "classpath:/static/", "classpath:/public/"

解释:

  • 那第二部分做比较就是我们访问http://localhost:8080/webjars/**他会去classpath:/META-INF/resources/webjars/这些文件目录下去寻找请求对应的正确资源

  • 那么第三部分就是http://localhost:8080/**不管什么请求、他会去"classpath:/META-INF/resources/","classpath:/resources/", "classpath:/static/", "classpath:/public/"这些文件目录下去寻找请求对应的正确资源

问题:

  • 这些是什么地方的文件
"classpath:/META-INF/resources/",
"classpath:/resources/", 
"classpath:/static/", 
"classpath:/public/"

在这里插入图片描述

我们项目中的resources下、这四个地方寻找资源、

访问localhost:8080/a.js

在这里插入图片描述

可以得到a.js中的内容、这4的地方我们都有一个a.js怎么办???

在这里插入图片描述

测试过后

如:从高到低

META-INF/resources > resources > static > public

总结:在SpringBoot中、有两种资源存放路径方式、webjars、和SpringBoot默认的资源存放路径、webjars可以不使用、我们使用SPringBoot默认的资源存放地址resources文件下存放静态资源

最后

以上就是高贵荷花为你收集整理的SpringBoot-05——【SpringBoot访问静态资源源码解析、webjars的使用】7、SpringBoot静态资源访问的全部内容,希望文章能够帮你解决SpringBoot-05——【SpringBoot访问静态资源源码解析、webjars的使用】7、SpringBoot静态资源访问所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(68)

评论列表共有 0 条评论

立即
投稿
返回
顶部