SpringBoot静态资源访问
静态资源路径
类路径下:/resources/static/、/resources/public/、/resources/resources/、/resources/META-INF/resources 这些路径下的资源均可直接访问;通过 http://ip:port/资源名称 访问即可

可在配置文件中对访问路径和访问拦截规则进行设置,如下是 SpringBoot 默认的配置和开发过程中常用配置
#可直接访问的静态资源路径
spring.resources.static-locations = classpath:/META-INF/resources/, classpath:/resources/, >classpath:/static/, classpath:/public/
#访问拦截规则
spring.mvc.static-path-pattern = /**
#静态资源缓存时间(秒)
spring.resources.cache.period = 10
原理:静态资源映射路径(/**)默认拦截所有请求路径,但接收到的请求会先匹配 controller,如果 controller 未能匹配再交给静态资源处理器处理
静态资源访问前缀
如果需要修改静态资源访问路径的前缀,可在配置文件中添加如下配置即可
#通过 http://localhost:8080/assets/xxx 路径访问
spring.mvc.static-path-pattern = /assets/**
默认首页
SpringBoot 可直接访问静态资源路径下的 index.html 页面而不需要在路径中添加 index.html;例如:我们把 index.html 放到 /resources/static/ 目录路径下,通过 http://localhost:8080 就可以访问
Favicon 设置
Favicon 是 favorites icon 的缩写;favicon 指的是与网站关联的图标,这个图标一般在前端设置,在网页的 标签下添加图标引用,如下
<html><head><link rel="shortcut icon" href="/asset/img/logo.ico"></head><body></body>
</html>
在 SpringBoot 中可以在后端设置,将 ico 文件命名为 favicon.ico,然后放到可访问的静态资源路径下(例如:/resources/static/favicon.ico)即可;要注意的是这个图标的名字必须为 favicon.ico 才有效;个人感觉 SpringBoot 对静态资源这块的缓存很有问题,如果配置都正确还是无法显示正确效果,建议清空浏览器缓存或者 mvn clean 项目;最终显示效果如下

禁用所有静态资源
SpringBoot 中关于静态资源的业务逻辑处理位于 spring-boot-autoconfigure-2.3.4.RELEASE.jar --> web --> servlet --> WebMvcAutoConfiguration.class 下;从该类中 addResourceHandlers() 方法可以看到,如果 resourceProperties.isAddMappings() = false 的话,会禁用所有静态资源映射
public void addResourceHandlers(ResourceHandlerRegistry registry) {// 默认为 private boolean addMappings = true;if (!this.resourceProperties.isAddMappings()) {logger.debug("Default resource handling disabled");return;}... ...
}
所以,我们只需要在配置文件中添加如下配置即可禁用所有静态资源
spring.resources.add-mappings = false
相关文章:
SpringBoot静态资源访问
静态资源路径 类路径下:/resources/static/、/resources/public/、/resources/resources/、/resources/META-INF/resources 这些路径下的资源均可直接访问;通过 http://ip:port/资源名称 访问即可 可在配置文件中对访问路径和访问拦截规则进行设置&…...
【物联网】智慧农业病虫害精准辨识竞赛思路及代码分享
来源:投稿 作者:LSC 编辑:学姐 比赛官网: https://www.dataglobal.cn/cmpt/signUpInfo200.html 任务描述 请参赛者设计智慧农业病虫害检测系统,给出一体化问题解决方案,鼓励参赛选手结合某一果园/农作物实际情况建立…...
Properties类读取配置文件
文章目录前言一、Properties类的使用 :1、创建sk.properties文件2、编写读取 properties 属性文件,并输出属性值。3、运行结果总结前言 Properties类的介绍 : 在Java中提供了 java.util.Properties 类,来读取 .properties 属性文件。在程序调用 Propert…...
知其然更要知其所以然,聊聊SQLite软件架构
SQLite是一个非常受欢迎的数据库,在数据库排行榜中已经进入前十的行列。这主要是因为该数据库非常小巧,而且可以支持Linux、Windows、iOS和Andriod的主流的操作系统。 SQLite非常简单,是一个进程内的动态库数据库。其最大的特点是可以支持不同…...
微服务架构的演变
文章目录1.1 系统架构的演变过程1.1.1 单体应用架构1.1.2 垂直应用架构1.1.3 分布式架构1.1.4 SOA架构1.1.5 微服务架构1.2 微服务架构设计原则1.2.1 AKF拆分原则1.2.1.1 X轴扩展(水平复制)1.2.1.2 Y轴扩展(模块拆分)1.2.1.3 Z轴扩…...
使用html-to-image代替html2canvas,结合jspdf实现下载pdf(下载截图下载前端dom元素)
一、问题 一开始的时候,准备使用html2canvasjspdf来实现的,但是遇到了一个麻烦的问题,在其他项目中使用html2canvas没有任何问题,但是在要开发的项目中使用,就给我报错,是真滴烦。 html2canvas报错 Uncau…...
云环境渗透测试的重要性
🌕写在前面 🎉欢迎关注🔎点赞👍收藏⭐️留言📝 ✉️今日分享: “在这个世上,除了极稀少的例外,我们其实只有两种选择:要么是孤独,要么就是庸俗。” 随着云计…...
ROS2 入门应用 请求和应答(Python)
ROS2 入门应用 请求和应答(Python)1. 创建功能包1. 创建功能包2. 创建源文件2.1. 服务端2.2. 客户端3. 添加依赖关系4. 添加入口点5. 编译和运行1. 创建功能包 1. 创建功能包 在《ROS2 入门应用 工作空间》中已创建和加载了ros2_ws工作空间 在《ROS2 入…...
是德Keysight E4991A/e4991B射频阻抗/材料分析仪
Keysight E4991A 射频阻抗/材料分析仪提供终极阻抗测量性能和强大的内置分析功能。它将为评估 3 GHz 范围内组件的组件和电路设计人员的研发提供创新。E4991A 使用 RF-IV 技术,而不是反射测量技术,可在宽阻抗范围内进行更精确的阻抗测量。基本阻抗精度为…...
这才是计算机科学_人工智能
人工智能一、前言二、ML2.1 分类2.1.1 决策树2.2.2 支持向量机2.2.3 人工神经网络三、计算机视觉3.1 Prewitt算子3.2 Viola-Jones 人脸检测算法3.3 卷积神经网络四、自然语言处理4.1 知识图谱4.2 语音识别一、前言 之前讲了计算机从发展到现在的过程,计算机很适合做…...
DFS深度优先搜索—Java版
递归三要素 递归的定义 递归的拆解 递归的出口 什么时候使用DFS? 深度回溯问题(DFS与回溯区别不大) 二叉树问题 组合、排列问题 找方案问题(解空间是一棵树或者图,需要自行构造图/树) 图的搜索问题…...
RAY - 小记
文章目录关于 RAYRAY 结构关于 RAY Ray is a unified framework for scaling AI and Python applications. Ray consists of a core distributed runtime and a toolkit of libraries (Ray AIR) for accelerating ML workloads. RAY 是一个简单、通用的分布式计算框架。 RAY 解…...
金三银四软件测试工程师面试题(含答案)
前言:此文专门记载本人平时面试以及收藏的面试题目,如果有错误之处请及时指正,谢谢! 1、python的数据类型有哪些 答:Python基本数据类型一般分为:数字、字符串、列表、元组、字典、集合这六种基本数据类…...
Python 连接数据源与邮件功能(九)
文章目录一、概述二、Python 连接数据源1)Python MySQL 基础操作1、部署MySQL2、MySQL Connector 库【1】安装 mysql-connector-python 库【2】连接 MySQL【3】增加数据【4】查询数据【5】更新数据【6】删除数据2、PyMySQL 库【1】安装 PyMySQL 库【2】连接 MySQL【…...
网站如何锁定用户,超级浏览器有办法解决吗?
随着全球开放,跨境电商人纷纷开启了2023年的搞钱之旅,很多期待着在新的一年大干一场。但前事不忘后事之师,2022年跨境生意全面沦陷,其实除了大环境的因素之外,还有一个很重要的原因是,各个平台都开始实行非…...
Ubuntu下使用Wine运行HBuilderX
安装完wine后,在HbuilderX的目录中打开终端,直接输入wine HBuilderX.exe命令,启动过程中会提示安装wine-mono组件,点击安装按钮下载安装该组件,该组件下载速度慢,需要等待特别长时间。 安装完毕后&…...
如何高效远程维护分布在海外的中大型智能设备?
一、行业需求 随着越来越多的企业进行全球化经营,设备制造商和系统集成商的设备分布到全球各地,数量多而且分散,传统的设备运维方式,面临着出差成本高,工作效率低,服务不及时等问题,客户常常因…...
【双指针问题】LeetCode 925. 长按键入
Halo,这里是Ppeua。平时主要更新C语言,C,数据结构算法......感兴趣就关注我吧!你定不会失望。 🌈个人主页:主页链接 🌈算法专栏:专栏链接 我会一直往里填充内容哒! &…...
APP测试中IOS和Android的区别,有哪些注意点?
01、常识性区别 02、导航方式 iOS:Tab放在页面底部,不能通过滑动来切换,只能点击。也有放在上面的,也不能滑动,但有些Tab本身可以滑动,比如天猫的。还有新闻类的应用。 Android:一般放在页面…...
2019蓝桥杯真题平方序列(填空题) C语言/C++
题目描述 本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。 小明想找到两个正整数 X 和 Y,满足2019<X<Y;2019^2, X^2, Y^2组成等差数列。 请你求出在所有可能的解中,XY 的最小值是多少?…...
【数据结构与算法】最小生成树Kruskal
1.#include <iostream> #include <algorithm> #include <vector> using namespace std;struct Edge {int u, v, w; // 起点,终点,边权 };vector<Edge> edges; vector<int> parent;// 比较函数:按边权升序排列…...
1564286-24-3,Cy5 DBCO SE,应用于生物分子标记、分子成像
一.名称英文名称:Cy5 DBCO NHS Ester,Cy5 DBCO SE,Cyanine5 DBCO NHS Ester,Cy5 Dibenzocyclooctyne NHS Ester中文名称:Cy5-二苯并环辛炔-NHS 酯,花菁染料Cy5-二苯并环辛炔-琥珀酰亚胺酯CAS 号:…...
Excel 技巧:一键批量填充空值
🚀 操作步骤选中区域首先,用鼠标选中包含空值的目标数据区域。定位空值按下快捷键 Ctrl G 打开“定位”对话框:点击左下角的 「定位条件...」。选择 「空值」。点击「确定」。✅ 此时,区域内所有空白单元格已被高亮选中。输入公式…...
AI赋能安装流程:快马智能诊断工具,自动解决软件安装兼容性问题
在开发软件的过程中,安装环节往往是第一个拦路虎。特别是当遇到系统环境复杂、依赖库版本冲突、权限配置等问题时,传统的安装方式常常让人头疼不已。最近我在尝试开发一个智能安装问题诊断工具时,发现InsCode(快马)平台的AI辅助功能特别实用&…...
SecGPT-14B实操手册:Gradio界面中temperature=0.3对安全答案确定性的影响
SecGPT-14B实操手册:Gradio界面中temperature0.3对安全答案确定性的影响 1. 引言:为什么安全问答需要“确定性”? 想象一下,你正在向一位网络安全专家咨询一个紧急的安全漏洞问题。你希望得到的回答是清晰、准确、且唯一的正确答…...
用NoneBot2给Lagrange机器人加buff:5个提升效率的插件开发技巧
用NoneBot2给Lagrange机器人加buff:5个提升效率的插件开发技巧 在智能对话机器人领域,NoneBot2与Lagrange的组合已经成为QQ生态中高效开发的黄金搭档。但当你已经掌握了基础功能开发后,如何让机器人更智能、更稳定、更能应对复杂场景…...
Golang面试避坑指南:这5个并发问题90%的人答不对
Golang面试避坑指南:这5个并发问题90%的人答不对 刚接触Go语言的开发者往往会被其简洁的语法和高效的并发模型所吸引,但真正深入使用后才会发现,并发编程中隐藏着许多意想不到的陷阱。特别是在技术面试中,面试官常常会通过精心设计…...
导师推荐!盘点2026年最受欢迎的AI论文工具
一天写完毕业论文在2026年已不再是天方夜谭。2026年AI论文工具全面升级,实测提速超50%,覆盖选题、文献分析、内容生成、降重润色、格式排版等全流程场景,真正帮你高效搞定论文。 一、全流程王者:一站式搞定论文全链路(…...
Llama-3.2V-11B-cot多轮对话效果展示:复杂技术问题拆解与解答
Llama-3.2V-11B-cot多轮对话效果展示:复杂技术问题拆解与解答 最近在测试各种大模型时,我特意找了一个比较“刁钻”的场景:让模型来解答一个复杂的系统设计问题。这类问题通常不是一两句话能说清的,它需要模型有很强的逻辑推理能…...
别再乱用String拼接了!揭秘StringBuilder和StringBuffer的正确使用场景
Java字符串拼接性能优化:StringBuilder与StringBuffer深度解析 在Java开发中,字符串操作是最基础也最频繁的任务之一。很多开发者习惯性地使用""进行字符串拼接,却不知道这背后隐藏着巨大的性能陷阱。本文将带你深入理解String、St…...
