栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Springboot Web开发静态资源处理

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Springboot Web开发静态资源处理

下面,对Springboot的静态导入资源进行总结分析,方便后续对于web开发进行回顾和温习,无论我学习什么新的知识,我都会记录一下,因为不同的时间点上,我对知识的了解是不在一个维度的,所以记录一是为了查看回顾知识,二是可以记录当时我对某个知识点的理解。

Springboot Web开发静态资源处理
  • 一 、静态资源处理
    • 两种静态资源映射规则
      • 1、静态资源映射规则:通过webjars的方式
      • 2、资源映射规则
    • 自定义静态资源路径
  • 二、首页
  • 三、网页图标

Springboot最大的特点就是自动装配,提升开发者的开发效率,简化开发。

使用Springboot的开发步骤:

  1. 创建一个SpringBoot应用,选择我们需要的模块,SpringBoot就会默认将我们的需要的模块的所有配置自动配置好
  2. 需要我们配置的部分配置写在配置文件中
  3. 专注编写业务代码,不需要考虑以前那样一大堆的配置了。

我们在web开发实践前,一定要把自动配置原理搞明白。
比如SpringBoot到底帮我们配置了什么?我们可以配置哪些内容?等

向容器中自动配置组件 : xxx Autoconfiguration

自动配置类,封装配置文件的内容:xxx Properties

一 、静态资源处理

首先,我们回顾一下在java web中静态资源的导入的位置,我们会在webapp下面导入css、js、img、页面等静态资源。但是在Spring boot中,静态资源导入的位置也做了约定,下面我们通过源码来探究一下,知其然也知其所以然。
我们进入WebMvcAutoConfiguration类中,看到addResourceHandlers这个方法

点进去
我们去找staticPathPattern发现第二种映射规则 :/** , 访问当前的项目任意资源,它会去找 resourceProperties 的getStaticLocations()这个方法,这个方法有四种导入静态资源的目录。

总结一下

两种静态资源映射规则 1、静态资源映射规则:通过webjars的方式

在pop.xml中引入jquery依赖


    org.webjars
    jquery
    3.5.1

我们在外部依赖中可以找到,并且可以通过http://localhost:8080/webjars/jquery/3.5.1/jquery.js来进行访问。

2、资源映射规则

如果是我们自己定义的静态资源该怎么引入呢,通过上面的源代码分析,静态资源导入有四种目录
分别是

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

我们可以在resources根目录下新建对应的文件夹,都可以存放我们的静态文件,并且他们之间也存在优先级,就是相同文件名称的静态资源同时存在多个目录时,他是有先后顺序的。
经过测试,优先级为:resources > static(默认) > public

自定义静态资源路径

我们也可以自己通过配置文件来指定一下,哪些文件夹是需要我们放静态资源文件的,在application.properties中配置

spring.web.resources.static-locations=classpath:/cwy/

一旦自己定义了静态文件夹的路径,原来的自动配置就都会失效了,看上面的源代码因为他return了,下面的自动配置静态路径就不执行了。

二、首页

关于springboot如何获取首页,我们继续看代码

我们点进去


欢迎页,静态资源文件夹下的所有 index.html 页面;被 /** 映射。
比如我访问 http://localhost:8080/ ,就会找静态资源文件夹下的 index.html

三、网页图标

与其他静态资源一样,Spring Boot在配置的静态内容位置中查找 favicon.ico。如果存在这样的文件,它将自动用作应用程序的favicon。
1、关闭SpringBoot默认图标

#关闭默认图标
spring.mvc.favicon.enabled=false

2、自己放一个图标在静态资源目录下
3、清除浏览器缓存!刷新网页,发现图标已经变成自己的了!

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/851049.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号