Spring Boot访问静态资源

简介: Spring Boot访问静态资源

🍊1.静态资源和动态资源的区别

  • 静态资源:

    • 可以理解成为是固定不变的,比如前端固定的页面(html,css,js,图片等)
    • 静态资源不需要查询数据库来动态获取数据并展示,不需要程序处理,直接就可以展示了
    • 如果用户请求的是静态资源,那么服务器会直接将静态资源发送给浏览器,浏览器中内置了静态资源的解析引擎,可以解析静态资源(浏览器只能解析静态资源!)。因为每个浏览器的解析引擎可能不一样,所以相同的网页可能在不同浏览器展示有所区别。
    • 动态资源:

      • 需要访问数据库,从数据库中读取数据并展示
      • 如果数据发生改变,我们不需要改变页面
      • 由于要访问数据库,涉及到和数据库等连接操作,所以访问速度比较慢
      • 如果用户请求的是动态资源,那么服务器会执行动态资源,转换为静态资源,再发送给浏览器(浏览器无法解析动态资源!)

🍊2.Spring Boot默认静态资源目录

Spring Boot应用启动过程中,会读取加载一个静态资源文件加载路径这个属性

# 默认值为
spring.resources.static-locations=
                    classpath:/META-INF/resources/,
                    classpath:/resources/,
                    classpath:/static/,
                    classpath:/public/

这一个属性的默认值代表静态资源扫描目录
Spring Boot默认情况下,有五个位置可以存放静态资源
在这里插入图片描述

比如:
在这里插入图片描述
我们分别建立了public、resources、static目录,在目录下建立html静态页面。项目启动后,我们都可以直接访问这些页面:

在这里插入图片描述
这里要注意优先级问题:根据前后关系确定优先级,也就是说如果classpath:/resources/目录和classpath:/public/都有一个test.html,那么根据默认的优先级,会去访问classpath:/resources/下的资源。

🍊3.欢迎页

欢迎页是静态资源文件夹下的index.html文件
在这里插入图片描述
在这里插入图片描述

🍊4.静态资源加载顺序优先级

springboot中的静态资源加载顺序优先级

相关文章
|
28天前
|
NoSQL Java 数据库连接
《深入理解Spring》Spring Data——数据访问的统一抽象与极致简化
Spring Data通过Repository抽象和方法名派生查询,简化数据访问层开发,告别冗余CRUD代码。支持JPA、MongoDB、Redis等多种存储,统一编程模型,提升开发效率与架构灵活性,是Java开发者必备利器。(238字)
|
1月前
|
JavaScript Java Maven
【SpringBoot(二)】带你认识Yaml配置文件类型、SpringMVC的资源访问路径 和 静态资源配置的原理!
SpringBoot专栏第二章,从本章开始正式进入SpringBoot的WEB阶段开发,本章先带你认识yaml配置文件和资源的路径配置原理,以方便在后面的文章中打下基础
233 3
|
2月前
|
安全 数据可视化 Java
AiPy开发的 Spring 漏洞检测神器,未授权访问无所遁形
针对Spring站点未授权访问问题,现有工具难以检测如Swagger、Actuator等组件漏洞,且缺乏修复建议。全新AI工具基于Aipy开发,具备图形界面,支持一键扫描常见Spring组件,自动识别未授权访问风险,按漏洞类型标注并提供修复方案,扫描结果可视化展示,支持导出报告,大幅提升渗透测试与漏洞定位效率。
|
9月前
|
存储 前端开发 Java
Springboot静态资源映射及文件映射
在Spring Boot项目中,为了解决前端访问后端存储的图片问题,起初尝试通过静态资源映射实现,但发现这种方式仅能访问打包时已存在的文件。对于动态上传的图片(如头像),需采用资源映射配置,将特定路径映射到服务器上的文件夹,确保新上传的图片能即时访问。例如,通过`addResourceHandler("/img/**").addResourceLocations("file:E:\\myProject\\forum_server\\")`配置,使前端可通过URL直接访问图片。
527 0
Springboot静态资源映射及文件映射
|
11月前
|
XML 安全 Java
|
10月前
|
XML Java 应用服务中间件
Spring Boot 两种部署到服务器的方式
本文介绍了Spring Boot项目的两种部署方式:jar包和war包。Jar包方式使用内置Tomcat,只需配置JDK 1.8及以上环境,通过`nohup java -jar`命令后台运行,并开放服务器端口即可访问。War包则需将项目打包后放入外部Tomcat的webapps目录,修改启动类继承`SpringBootServletInitializer`并调整pom.xml中的打包类型为war,最后启动Tomcat访问应用。两者各有优劣,jar包更简单便捷,而war包适合传统部署场景。需要注意的是,war包部署时,内置Tomcat的端口配置不会生效。
2446 17
Spring Boot 两种部署到服务器的方式
|
8月前
|
Java 数据库 微服务
微服务——SpringBoot使用归纳——Spring Boot中的项目属性配置——指定项目配置文件
在实际项目中,开发环境和生产环境的配置往往不同。为简化配置切换,可通过创建 `application-dev.yml` 和 `application-pro.yml` 分别管理开发与生产环境配置,如设置不同端口(8001/8002)。在 `application.yml` 中使用 `spring.profiles.active` 指定加载的配置文件,实现环境快速切换。本节还介绍了通过配置类读取参数的方法,适用于微服务场景,提升代码可维护性。课程源码可从 [Gitee](https://gitee.com/eson15/springboot_study) 下载。
325 0
|
SQL JSON Java
mybatis使用三:springboot整合mybatis,使用PageHelper 进行分页操作,并整合swagger2。使用正规的开发模式:定义统一的数据返回格式和请求模块
这篇文章介绍了如何在Spring Boot项目中整合MyBatis和PageHelper进行分页操作,并且集成Swagger2来生成API文档,同时定义了统一的数据返回格式和请求模块。
481 1
mybatis使用三:springboot整合mybatis,使用PageHelper 进行分页操作,并整合swagger2。使用正规的开发模式:定义统一的数据返回格式和请求模块
|
12月前
|
JSON JavaScript 前端开发
springboot中使用knife4j访问接口文档的一系列问题
本文作者是一位自学前端两年半的大一学生,分享了在Spring Boot项目中使用Knife4j遇到的问题及解决方案,包括解决Swagger请求404错误、JS错误等,详细介绍了依赖升级、注解替换及配置修改的方法。
2358 1
|
12月前
|
存储 运维 安全
Spring运维之boot项目多环境(yaml 多文件 proerties)及分组管理与开发控制
通过以上措施,可以保证Spring Boot项目的配置管理在专业水准上,并且易于维护和管理,符合搜索引擎收录标准。
676 2