学透Spring Boot — 017. 处理静态文件

新手入门:从零开始学习PCB飞针测试全流程(附常见问题解答) 本文详细介绍了PCB飞针测试的全流程,从核心原理、设备解析到实操步骤和常见问题解答,帮助新手快速掌握这一电子制造领域的关键质检技术。内容涵盖测试资料准备、参数设置、设备操作技巧以及故障排查方法,特别适合小批量PCB生产的质量检测需求。 阅读详情

这是我的《学透Spring Boot》专栏的第17篇文章,了解更多内容请移步我的专栏:

Postnull 优快云 学透 Spring Boot

目录

静态文件

静态文件的默认位置

通过配置文件配置路径

通过代码配置路径

静态文件的自动配置

总结


静态文件

以前的传统MVC的项目,我们会使用JSP作为视图,这就是动态文件,这些JSP长得像HTML,其实最终会转换成一个Java类,通过out.print将响应动态的打印出来。

另外,我们有些文件是静态文件,比如图片、js等等,我们希望能够直接访问。

默认的,Spring boot会从一些默认的路径加载这些静态文件。

今天我们来学习一下如何访问静态文件。

静态文件的默认位置

Spring Boot 自动配置了静态资源的处理,默认会扫描一些特定目录中的静态文件。这些目录是:

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

这四个目录中的文件会被自动加载并可以通过 HTTP 访问。如果你将静态文件放入这些目录中,Spring Boot 会自动处理它们,无需额外配置。

我们就可以通过URL访问这个文件:

localhost:8080/a.html

localhost:8080/d.html

测试发现,static目录和public目录既可以放在根目录下,也可以放在src/main/resources下。

但是如果在一个目录下既有static也有public,只会加载public文件夹!

通过配置文件配置路径

有时候,我们不想使用默认的路径,而是想自定义路径(闲得蛋疼)

我们可以覆盖Spring的配置即可(约定大约配置)

比如我们想从下面两个目录加载静态文件。

我们可以通过配置文件

能够直接访问

通过代码配置路径

除了application.properties配置,我们还可以通过Java代码的方式配置静态文件的路径。

这个MVC配置器,我们已经配置了很多次了!!!!

可以说是Spring MVC自定义配置的地方。用来覆盖默认的配置。

静态文件的自动配置

我们还想看看SpringBoot怎么自动配置的。

我们直接看Spring MVC的自动配置类 ,WebMvcAutoConfiguration

这个类也是老演员了。

这个类会去配置资源处理器。

重点看

可以看到多个默认的静态文件路径:

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

总结

本文我们学习了Spring Boot的静态文件默认路径,还修改了默认路径,最后我们还通过源码,理解了Spring Boot对静态文件的自动配置。

如何理解S参数的三大特性 提到S参数的时候经常会涉及一些概念,如无源性、因果性、互易性等,本文逐一介绍这些特性的概念、成因以及判断方式。 阅读详情

相关推荐

麒麟V10系统下CoreDump文件自动归档与快速定位指南(附coredumpctl实战)

本文详细介绍了在麒麟V10操作系统下,如何利用systemd-coredump机制和coredumpctl工具实现CoreDump文件的自动化管理与高效调试。内容涵盖从系统架构解析、自动化配置策略,到使用coredumpctl进行快速查询、过滤与深度分析的实战指南,旨在帮助运维人员和开发者快速定位系统崩溃的根本原因,提升问题排查效率。

gg901的博客 220

SpringBoot项目通过URL访问本地文件实现方法和遇到的问题

当文件上传到服务器后,需要通过URL去访问服务器相应的文件,可以是图片或其他的文件。

DespairC的博客 4633

用Docker-Compose三节点部署生产级Doris集群:从配置文件到故障转移

本文详细介绍了如何使用Docker-Compose部署一个生产级的三节点Apache Doris集群。内容涵盖从核心架构理解、配置文件编写到集群初始化验证的全过程,并重点讲解了如何实现高可用、数据持久化、健康检查以及故障转移等生产级运维关键点,为中小团队提供了一种在容器化便利性与系统稳定性间取得平衡的可靠部署方案。

kkk56的博客 856

SpringBoot释放静态资源

介绍了如何springboot设置静态资源,并访问资源目录

凉茶铺的博客 1523

Visual Studio调试时遇到ntdll.dll的PDB文件缺失?别慌,这3个方法帮你搞定(附详细步骤)

本文详细解析了Visual Studio调试时ntdll.dll的PDB文件缺失问题,提供了3种实用解决方案:调整调试设置、配置符号服务器与缓存目录、手动下载管理符号文件。通过分步指导和高级技巧,帮助开发者快速恢复完整的调试功能,特别适用于Windows平台下的C++项目开发。

weixin_42537919的博客 513

YOLO26改进策略【Neck】| 关键点检测:SDFM 表层细节融合模块,利用通道-空间注意力机制,实现深层与浅层特征融合,抑制噪声干扰

本文记录的是利用SDFM 模块改进 YOLO26 的颈部融合部分,专门用于关键点检测。SDFM模块(Surface Detail Fusion Module,表层细节融合模块) 通过在特征提取网络的浅层引入通道-空间注意力机制,动态生成深层与浅层特征融合权重。该模块可自适应保留不同模态中的独特信息,抑制背景噪声与光照干扰,实现低层细节的精准对齐与互补增强,为后续检测提供高保真度的底层特征表示,从而提升模型在复杂场景下的目标检测鲁棒性与定位准确性。Rethinking the necessity of ima

Limiiiing的博客 175

SpringBoot访问静态文件

相信很多初学者都会遇到这样的问题,我们创建好的SpringBoot如何像SSM架构那样访问我们的文件呢。下面我的我就将所问题的问题和大家说明一下首先看一下小编第一次创建的例子,小编是通过官方提供的页面创建的SpringBoot项目 创建地址,我们将其导入到IDE中pom.xml 引用包。

u013115157的博客 907

详解AUTOSAR:DaVinci Configurator配置CAN和UART数据协议解析器(RH850)(实战篇—1)

通过学习本篇博文项目,将会把所学的DaVinci Configurator知识系统串联起来。

不脱发的程序猿 2809

SpringBoot访问静态资源

先自我介绍一下,小编13年上师交大毕业,曾经在小公司待过,去过华为OPPO等大厂,18年进入阿里,直到现在。深知大多数初中级java工程师,想要升技能,往往是需要自己摸索成长或是报班学习,但对于培训机构动则近万元的学费,着实压力不小。因此我收集了一份《java开发全套学习资料》送给大家,初衷也很简单,就是希望帮助到想自学又不知道该从何学起的朋友,同时减轻大家的负担。该配置会默认覆盖静态资源位置,如果还想使用之前的静态资源位置,还需要配置在后面。脚踏实地,一步一步,总能成功。...

m0_67390969的博客 2077

A Macro- and Micro-Hierarchical Transfer Learning Frameworkfor Cross-Domain Fake News Detection

近年来,社交媒体上假新闻的快速和广泛传播对人们的日常生活构成了越来越大的威胁[6, 14, 19]。为了有效打击假新闻,自动检测假新闻变得至关重要[39]。新闻内容[11, 16, 20, 27]和用户互动(即用户互动)[1, 24, 34]。基于这些类型的数据,提出了单领域假新闻检测,它从新闻文章、用户互动或两者中提取有效特征,以识别单个新闻领域内新闻的真实性(即新闻是真是假)(例如,政治新闻或娱乐新闻)。

qq_52053775的博客 155

L2CAP 面向连接信道(CoC)在 BLE 中的应用:建立、流控与数据传输

L2CAP(逻辑链路控制与适配协议)是蓝牙协议栈中的核心层,位于基带层之上,为上层协议提供数据传输服务。在低功耗蓝牙(BLE)中,L2CAP面向连接信道(Connection-Oriented Channel, CoC) 是实现可靠数据传输的关键机制,广泛应用于健康监测、智能家居、工业控制等领域。

byte轻骑兵的技术小窝 3632

SpringBoot 练习RestfulCRUD

1)、默认访问首页 ​ @Component public class MvcConfig implements WebMvcConfigurer { /** * 添加静态资源文件,外部可以直接访问地址 * * @param registry */ @Override public void addResourceHa...

qq_28527469的博客 425

生产环境中redis的SCAN命令如何替代KEYS命令?

本文介绍了使用SCAN命令替代KEYS的完整方案。SCAN通过游标分批迭代,避免KEYS命令遍历整个键空间导致的阻塞风险。文章详细说明了SCAN的基础语法、迭代流程和Java实现示例,强调必须关闭Cursor避免连接泄漏。针对生产环境,提供了COUNT参数调优、客户端去重、集群模式适配等优化建议,并列举了典型错误场景。SCAN通过分批次迭代和游标管理,可安全实现高性能键空间遍历。全文150字。

DN金猿的博客 179

spring cloud & spring boot学习教程整理

SpringCloud 点击访问SpringCloud码云仓库 简书整套文档以及源码解析 专题 专题名称 专题描述 001 Spring Boot 核心技术 讲解SpringBoot一些企业级层面的核心组件 002 Spring Cloud 核心技术 对Spring Cloud核心技术全面讲解 003 QueryDSL 核心技术 全...

赵英超的博客 1519

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

Uni-App基于微信小程序的社区门诊医生健康管理系统

现代社会越来越注重健康与医疗服务,尤其是在社区这个人集中的群体中,健康管理至关重要。基于微信小程序的社区健康服务系统应运而生,旨在为用户 提供便捷的健康管理和医疗服务,同时为社区的医生和管理员提供高效的工具来协助健康管理和信息管理。随着生活节奏的加快和生活压力的增加,用户们的健康问题变得越来越突出。但传统的健康管理方式往往不够便捷,用户 们难以及时获得医疗建议和健康指导。同时,社区也面临着繁琐的预约和信息管理工作。

QQ860234001的专栏 1678

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

Uni-App基于微信小程序的餐厅点餐外卖系统

随着社会的进步发展,传统餐饮行业也收到了互联网技术的冲击。传统线下都是开门待客或者是电话预约,每当在中午、下午等饭点时间就出现餐厅无法应付的场面,为了最大努力的满足用户的吃饭需求和餐厅老板的营业需求,特此设计一款在线订餐系统帮助用户实现远程点餐,同时为用户和餐厅都节省了时间成本。(1)系统遵循开放模式,注册用户可以按照自己的需要查看配件和账单结算;未注册用户也可以任意查看,但在生成订单时要求正式登陆系统。(2)菜品信息主要包括编码、名称、类型、活动、描述和图片等。

z459382737的博客 1555

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

Springboot计算机毕业设计宿舍报修管理系统(程序+源码+数据库+调试部署+开发环境)

随着高校规模的不断扩大和学生人数的持续增长,宿舍作为学生日常生活的重要场所,其设施设备的维护与管理成为学校后勤工作的重中之重。传统的学生宿舍报修方式主要依赖于纸质登记、口头通知或电话报修,这种方式不仅效率低下、容易出错,还难以实时跟踪维修进度,严重影响了学生的居住体验。因此,开发一套高效、便捷、智能化的宿舍报修管理系统显得尤为重要。

Cute2024_的博客 795

Spring Boot 静态资源访问

静态资源访问 Spring Boot 访问静态资源 在 SpringBoot 项目中没有我们之前常规 web 开发的WebContent(WebApp),它只有 src 目录。在 src/main/resources 下面有两个文件夹,static 和 templates。 SpringBoot 默认在 static 目录中存放静态页面,而 templates 中放动态页面。 1 static 目录 Spring Boot 通过 classpath/static 目录访问静态资源。注意存放静态资源的

weixin_51311741的博客 1万+

SpringBoot(六)静态文件处理

如果我们需用给web项目中添加css/js/html文件的话,我们会发现此时没有webapp目录。 springboot创建的项目没有保存web资源的位置。 如果我们需要给springboot项目中添加web资源如何操作? 首先我们需要知道自动配置文件的位置。 public static class Resources { private static final String[] CLASSPATH_RESOURCE_LOCATIONS = new String[]{ .

拾荒人博客 3823

SpringBoot系列之SpringBoot处理静态资源

进行web开发的时候,有很多静态资源,比如html、图片、css等。在前后端不分离的架构下,以前的传统的spring项目里面有一个webapp目录,只要把静态资源放到该目录下就可以直接访问,但是基于SpringBoot的工程没有这个目录,那应该如何处理? ...

Chen4852010的博客 5034

SpringBoot之静态资源访问

SpringBoot之静态资源访问 1.springboot访问静态资源的几种方式 (1)在src/main/resources/目录下创建 static文件夹 (2)在src/main/resources/目录下创建 resources文件夹 (3)在src/main/resources/目录下创建 public文件夹 (4)在src/main/resources/目录下创建 META-INF/...

likunpeng6656201的博客 9826

简单快速的用SpringBoot访问静态资源(图片、html)

转载自:https://blog.csdn.net/qq_36481052/article/details/79075214 使用SpringBoot简单快速的访问静态资源 首先需要记载Springboot访问静态资源的Jar文件 org.springframework.boot spring-boot-starter-thymeleaf 还需要在“resources”目录下(注意只能在“resources”目录下创建文件,因为SpringBoot只在它下面扫描),再创建一个文件夹名为“st

m0_67401055的博客 1573

springboot静态资源文件的访问

记录个问题,先说背景:springboot项目中使用了thymeleaf模板文件,在一个模板文件中需要访问一个静态图片,结果图片死活访问不通。 模板文件中图片引入代码如下: <!-- 前面代码 --> <div id="logo" class="col-xs-2 text-left"> <img th:src = "@{/static/images/l...

woshinidabinge的专栏 1万+

SpringBoot开发案例之配置静态资源文件路径

摘要: 前言 SpringBoot本质上是为微服务而生的,以JAR的形式启动运行,但是有时候静态资源的访问是必不可少的,比如:image、js、css 等资源的访问。 默认静态资源路径 Spring Boot 对静态资源映射提供了默认配置,静态资源路径都是在classpath中: classpath:/..前言SpringBoot本质上是为微服务而生的,以JAR的形式启动运行,但是有时候静态资源的...

zhoujiyu123的专栏 3万+

Spring Boot干货系列:(六)静态资源和拦截器处理

后端编程嘟 2017-03-30 09:28 前言 本章我们来介绍下SpringBoot对静态资源的支持以及很重要的一个类WebMvcConfigurerAdapter。 正文 前面章节我们也有简单介绍过SpringBoot中对静态资源的默认支持,今天详细的来介绍下默认的支持,以及自定义扩展如何实现。 默认资源映射 Spring Boot 默认为我们提供了静

AndyLizh的专栏 4万+

springboot(八):springboot文件上传、静态资源映射

1.静态资源 2.测试 启动程序后访问:http://localhost:8080/test/img/timg.jpg 3.直接访问 如果直接访问:可以得到图片http://localhost:8080/img/timg.jpg ,但是这样做无疑暴露了真实的地址。 4.定义拦截器拦截/img/* 拦截器代码: package com.qianliu.springboot_test.inter...

流的博客 3054
上一篇: 学透Spring Boot — 017. 魔术师—Http消息转换器
下一篇: 学透Spring Boot — 018. 优雅支持多种响应格式
postnull咖啡
博客等级 码龄10年 1026粉丝 59原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值