当前位置: 首页 > news >正文

Spring Boot静态资源访问顺序

在 Spring Boot 中,staticpublic 目录都用于存放静态资源(如 HTML、CSS、JavaScript、图片等文件),但它们在使用上有一些细微的区别。以下是它们的详细对比:


1. 默认优先级

Spring Boot 会按照以下优先级加载静态资源:

  1. classpath:/META-INF/resources/
  2. classpath:/resources/
  3. classpath:/static/
  4. classpath:/public/

如果多个目录中存在同名文件,Spring Boot 会优先加载优先级更高的目录中的文件。


2. 使用场景

static 目录
  • 推荐用途:存放前端静态资源(如 HTML、CSS、JS 文件)。
  • 特点
    • 是 Spring Boot 默认的静态资源目录之一。
    • 适合存放与前端相关的静态文件。
    • 优先级高于 public 目录。
public 目录
  • 推荐用途:存放公共资源(如图片、字体、下载文件等)。
  • 特点
    • 是 Spring Boot 默认的静态资源目录之一。
    • 适合存放不常变动或通用的静态资源。
    • 优先级低于 static 目录。

3. 示例

假设项目结构如下:

src/main/resources/
├── static/
│   └── index.html
└── public/└── images/└── logo.png
访问方式
  • index.html 的访问 URL:http://localhost:8080/index.html
  • logo.png 的访问 URL:http://localhost:8080/images/logo.png

4. 自定义静态资源路径

如果需要自定义静态资源路径,可以在 application.propertiesapplication.yml 中配置:

application.properties
spring.web.resources.static-locations=classpath:/custom-static/
application.yml
spring:web:resources:static-locations: classpath:/custom-static/

配置后,Spring Boot 会从 custom-static 目录加载静态资源,而不是默认的 staticpublic 目录。


5. 总结

特性static 目录public 目录
优先级较高较低
推荐用途前端静态资源(HTML、CSS、JS)公共资源(图片、字体、下载文件)
默认路径classpath:/static/classpath:/public/
访问方式http://localhost:8080/filenamehttp://localhost:8080/filename

选择建议

  • 如果项目主要是前端应用,推荐将静态资源放在 static 目录。
  • 如果需要存放通用的公共资源(如图片、字体等),可以放在 public 目录。
  • 如果需要更灵活的管理,可以通过配置自定义静态资源路径。

相关文章:

Spring Boot静态资源访问顺序

在 Spring Boot 中,static 和 public 目录都用于存放静态资源(如 HTML、CSS、JavaScript、图片等文件),但它们在使用上有一些细微的区别。以下是它们的详细对比: 1. 默认优先级 Spring Boot 会按照以下优先级加载静态…...

电脑总显示串口正在被占用处理方法

1.现象 在嵌入式开发过程中,有很多情况下要使用串口调试,其中485/422/232转usb串口是非常常见的做法。 根据协议,接口芯片不同,需要安装对应的驱动程序,比如ch340,cp2102,CDM212364等驱动。可…...

工具介绍《HACKBAR V2》

HackBar V2 是一款功能强大的浏览器渗透测试工具,主要用于测试 SQL 注入、XSS 漏洞、POST 传参等安全场景。以下是其核心功能、用法及实际案例操作的综合介绍: 一、核心功能与用法详解 1. 基础操作 Load URL 功能:将当前浏览器地址栏的 URL …...

Java算法语法学习 美丽子集的数目 - 力扣 Map接口

文章目录 题目解题思路题解统计数组中每个数字按模k分组的出现次数,并保持数值有序作用 **merge(x, 1, Integer::sum)**解释**检查键是否存在**:**合并现有值**: 示例在代码中的应用**计算余数**:**存储余数及其出现次数**: merge 的常见用法统计频率合并字符串合并…...

Vue项目通过内嵌iframe访问另一个vue页面,获取token适配后端鉴权(以内嵌若依项目举例)

1. 改造子Vue项目进行适配(ruoyi举例) (1) 在路由文件添加需要被外链的vue页面配置 // 若依项目的话是 router/index.js文件 {path: /contrast,component: () > import(/views/contrast/index),hidden: true },(2) 开放白名单 // 若依项目的话是 permission.js 文件 cons…...

梯度本质论:从黎曼流形到神经网络的拓扑寻优

一、微分几何框架下的梯度再诠释 在标准数学分析中,梯度被定义为标量场 f : R n → R f:\mathbb{R}^n→\mathbb{R} f:Rn→R的导数张量 ∇ f ( ∂ f ∂ x 1 , . . . , ∂ f ∂ x n ) \nabla f(\frac{\partial f}{\partial x_1},...,\frac{\partial f}{\partial x_n…...

计算机毕业设计SpringBoot+Vue.js网络海鲜市场系统(源码+文档+PPT+讲解)

温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 作者简介:Java领…...

一文对比RAGFLOW和Open WebUI【使用场景参考】

一、RAGFLOW与Open WebUI RAGFLOW是一款基于深度文档理解构建的开源 RAG(Retrieval-Augmented Generation)引擎。RAGFlow 可以为各种规模的企业及个人提供一套精简的 RAG 工作流程,结合大语言模型(LLM)针对用户各类不…...

2025年03月07日Github流行趋势

项目名称:ai-hedge-fund 项目地址url:https://github.com/virattt/ai-hedge-fund项目语言:Python历史star数:12788今日star数:975项目维护者:virattt, seungwonme, KittatamSaisaard, andorsk, arsaboo项目…...

实训任务2.2 使用Wireshark捕获数据包并分析

目录 【实训目标】 【实训环境】 【实训内容】 【实训步骤】 1.启动WireShark 2. 使用Wireshark捕获数据包 (1)选择网络接口 (2)捕获数据包 (1)设置Wireshark过滤器并捕获数据包 (2&…...

C# Lambda 表达式 详解

总目录 前言 在C#编程中,Lambda表达式是一种简洁而强大的语法特性,它提供了一种更加灵活和直观的方式来编写匿名函数。无论是在LINQ查询、事件处理还是异步编程中,Lambda表达式都扮演着重要角色。本文将详细介绍Lambda,帮助您更好…...

wordpress自定the_category的输出结构

通过WordPress的过滤器the_category来自定义输出内容。方法很简单,但是很实用。以下是一个示例代码: function custom_the_category($thelist, $separator , $parents ) {// 获取当前文章的所有分类$categories get_the_category();if (empty($categ…...

HTML前端手册

HTML前端手册 记录前端框架在使用过程中遇到的各种问题和解决方案,供后续快速进行手册翻阅使用 文章目录 HTML前端手册1-前端框架1-TypeScript框架2-CSS框架 2-前端Demo1-Html常用代码 2-知云接力3-Live2D平面动画 3-前端运维1-NPM版本管理 1-前端框架 1-TypeScrip…...

vscode mac版本 配置git

首先使用 type -a git查看git的安装目录 然后在vscode中找到settings配置文件,修改git.path...

爬虫Incapsula reese84加密案例:Etihad航空

声明: 该文章为学习使用,严禁用于商业用途和非法用途,违者后果自负,由此产生的一切后果均与作者无关 一、找出需要加密的参数 1.js运行 atob(‘aHR0cHM6Ly93d3cuZXRpaGFkLmNvbS96aC1jbi8=’) 拿到网址,F12打开调试工具,随便搜索航班,切换到network搜索一个时间点可以找…...

【C#】async与await介绍

1. 实例1 1.1 代码 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks;namespace ConsoleApp1 {class Program{static void Main(string[] args){Method1();Method2();Console.ReadKey();}public static…...

【银河麒麟高级服务器操作系统实例】虚拟机桥接网络问题分析及处理

更多银河麒麟操作系统产品及技术讨论,欢迎加入银河麒麟操作系统官方论坛 https://forum.kylinos.cn 了解更多银河麒麟操作系统全新产品,请点击访问 麒麟软件产品专区:https://product.kylinos.cn 开发者专区:https://developer…...

Vue3路由组件和一般组件 切换路由时组件挂载和卸载 路由的工作模式

路由组件和一般组件 路由组件 一般放到pages或view目录 一般组件 一般放到component目录 切换路由 切换路由时,组件和执行挂载和卸载 路由的工作模式 Hash模式 缺点 1.不美观,路径带#号 优点 1.兼容性好 一般适用于管理系统 History模式 缺点…...

Spring Boot集成Minio笔记

一、首先配置MinIO 1、MinIO新建Bucket&#xff0c;访问控制台如图 创建访问密钥(就是账号和密码) 二、集成mino添加Minio客户端依赖 1.maven构建方式在pom.xml引入jar <dependency><groupId>io.minio</groupId><artifactId>minio</artifactI…...

linux c++11 gcc4 环境编译安装googletest/gtest v1.10

c11对应googletest/gtest 经过测试&#xff0c;c11对应版本是googletest v1.10.x 编译安装 编译环境 sudo apt-get update sudo apt-get install -y build-essential cmake下载或git clone代码 git clone https://github.com/google/googletest.git cd googletest git che…...

Verilog行为级描述:从语法到硬件映射的工程实践指南

1. 项目概述&#xff1a;从“是什么”到“为什么”如果你刚开始接触数字电路设计&#xff0c;或者正准备从VHDL转向Verilog&#xff0c;那么“行为级描述”这个词可能会让你既兴奋又困惑。兴奋在于&#xff0c;它听起来比“门级网表”或“RTL&#xff08;寄存器传输级&#xff…...

AntiDupl.NET终极指南:快速清理重复图片的免费开源神器

AntiDupl.NET终极指南&#xff1a;快速清理重复图片的免费开源神器 【免费下载链接】AntiDupl A program to search similar and defect pictures on the disk 项目地址: https://gitcode.com/gh_mirrors/an/AntiDupl 你是否曾为电脑中堆积如山的重复图片而烦恼&#xf…...

Winhance中文版:Windows系统优化终极指南,3分钟让电脑焕然一新

Winhance中文版&#xff1a;Windows系统优化终极指南&#xff0c;3分钟让电脑焕然一新 【免费下载链接】Winhance-zh_CN A Chinese version of Winhance. C# application designed to optimize and customize your Windows experience. 项目地址: https://gitcode.com/gh_mir…...

嵌入式Linux CAN通信实战:从原理到SocketCAN编程与调试

1. 项目概述&#xff1a;在国产工业板上玩转CAN-BUS最近在做一个工业数据采集的项目&#xff0c;需要把几台分散的设备数据汇总到一个主控单元。现场布线复杂&#xff0c;干扰又大&#xff0c;RS485虽然经典&#xff0c;但主从轮询的机制在实时性上总觉得差点意思&#xff0c;而…...

OpenRGB:一站式开源RGB灯光控制神器,彻底摆脱厂商软件束缚!

OpenRGB&#xff1a;一站式开源RGB灯光控制神器&#xff0c;彻底摆脱厂商软件束缚&#xff01; 【免费下载链接】OpenRGB Open source RGB lighting control that doesnt depend on manufacturer software. Supports Windows, Linux, MacOS. Mirror of https://gitlab.com/Calc…...

Midjourney碳素印相风格实战手册(胶片级颗粒+铁盐棕褐渐变+微裂纹纹理全还原)

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;碳素印相工艺的历史溯源与数字复刻价值 碳素印相&#xff08;Carbon Printing&#xff09;诞生于1864年&#xff0c;由英国科学家约瑟夫斯旺&#xff08;Joseph Swan&#xff09;发明&#xff0c;是摄影…...

Translumo终极指南:3个简单技巧掌握实时屏幕翻译

Translumo终极指南&#xff1a;3个简单技巧掌握实时屏幕翻译 【免费下载链接】Translumo Advanced real-time screen translator for games, hardcoded subtitles in videos, static text and etc. 项目地址: https://gitcode.com/gh_mirrors/tr/Translumo 你是否曾在游…...

东方博宜OJ入门题解:从A+B到高精度算法的实战解析

1. 东方博宜OJ平台入门指南 第一次接触在线评测系统(OJ)时&#xff0c;很多人都会被各种题目搞得晕头转向。东方博宜OJ作为国内知名的编程练习平台&#xff0c;特别适合编程新手从零开始系统学习。我刚开始刷题时也走过不少弯路&#xff0c;今天就和大家分享一些实战经验。 这…...

终极指南:Diablo Edit2暗黑破坏神2存档修改器完整使用教程

终极指南&#xff1a;Diablo Edit2暗黑破坏神2存档修改器完整使用教程 【免费下载链接】diablo_edit Diablo II Character editor. 项目地址: https://gitcode.com/gh_mirrors/di/diablo_edit 你是否曾为暗黑破坏神2中重复刷装备而烦恼&#xff1f;是否因为技能点分配失…...

macOS微信防撤回终极指南:3分钟轻松安装WeChatIntercept插件

macOS微信防撤回终极指南&#xff1a;3分钟轻松安装WeChatIntercept插件 【免费下载链接】WeChatIntercept 微信防撤回插件&#xff0c;一键安装&#xff0c;仅MAC可用&#xff0c;支持v3.7.0微信 项目地址: https://gitcode.com/gh_mirrors/we/WeChatIntercept 还在为微…...