SpringBoot访问web中的静态资源的方式小结

 更新时间:2024年10月10日 11:14:36   作者:Charge8  
这篇文章主要介绍了SpringBoot访问web中的静态资源的方式,本文给大家介绍了两种方式,通过代码示例和图文讲解的非常详细,具有一定的参考价值,需要的朋友可以参考下

总体来讲 SpringBoot 访问web中的静态资源,有两个方式:

1、classpath 类目录 (src/mian/resource)

classpath 即 WEB-INF 下面的 classes 目录 ,在 SpringBoot  项目中是 src/main/resource 目录。

2、ServletContext 根目录下( src/main/webapp )

一、SpringBoot 访问web中的静态资源

SpringBoot默认指定了一些固定的目录结构,静态资源放到这些目录中的某一个,系统运行后浏览器就可以访问到。

1、SpringBoot 默认指定的可以存放静态资源的目录有哪些?

  • classpath:/META-INF/resources/      ## 需创建/META-INF/resources/ 目录
  • classpath:/resources/                        ## 需创建/resources/目录
  • classpath:/static/                               ## 工具自动生成的static目录,也是用的最多的目录
  • classpath:/public/                              ## 需创建/public/ 目录
  • /                                     ## 指的是 src/main/webapp/ 需创建/webapp/ 目录

查看源码可以找到静态资源拦截的自动化的配置信息:在 WebMvcAutoConfiguration 类中的 addResourceHandlers方法。

2、在全局配置文件中自定义--修改这些默认的目录

注意: 修改后,除配置的目录以外其他目录就不可以再访问静态资源了(SpringBoot 2.1.4 试了好像可以)

方式一:配置文件修改

YAML 文件:

server:
  port: 80
spring:
  resources:
    static-locations:
      - classpath:resources
      - classpath:static
  mvc:
    static-path-pattern: /**

properties 文件 

server.port=80
spring.resources.static-locations=classpath:resources,classpath:static
spring.mvc.static-path-pattern=/**

第一行配置表示定义资源位置,第二行配置表示定义请求 URL 规则。

方式二:配置类修改

@Configuration
public class WebMVCConfig implements WebMvcConfigurer {
    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        registry.addResourceHandler("/**").addResourceLocations("classpath:/static/","classpath:/aa");
    }
}

访问的时候就需要写完整路径 http://127.0.0.1:8080/static/abc23.jpg。

3、SpringBoot 默认的首页是放在任一个静态资源目录下的index.html   

4、SpringBoot 默认的web页面图标是放在任一静态资源目录下的favicon.ico

index.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <h4>SpringBoot访问web中的静态资源</h4>
    <img src="abc23.jpg" width="300px" height="250px">
</body>
<script src="jquery-1.12.4.js"></script>
<script type="text/javascript">
    $(function () {
        alert("hello 首页!");
    })
</script>
</html>

将静态资源放在上面指定的目录中,即可访问 index.html

二、把静态资源打成jar包引入系统后供访问

常用的静态资源jar包的maven依赖网站:http://www.webjars.org

把依赖配置到maven的pom.xml中,就可以在网站根目录/webjars/jquery/1.12.4/jquery.js访问到资源!

index.html 正常引用 js,也正常访问到。

以上就是SpringBoot访问web中的静态资源的方式小结的详细内容,更多关于SpringBoot访问web静态资源的资料请关注脚本之家其它相关文章!

相关文章

  • 简介Java编程中的Object类

    简介Java编程中的Object类

    这篇文章主要介绍了简介Java编程中的Object类,是Java入门学习中的基础知识,需要的朋友可以参考下
    2015-09-09
  • java用split分割字符串的一个有趣现象

    java用split分割字符串的一个有趣现象

    最近在项目中使用了java中的split分割字符串,发现了一个bug,充分了展示了自己对java底层的认知有很多的不足和欠缺。下面将这次的经过总结出来分享给大家,有需要的朋友们可以参考借鉴,下面来一起看看吧。
    2016-12-12
  • Java集合ArrayDeque类实例分析

    Java集合ArrayDeque类实例分析

    这篇文章主要介绍了Java集合ArrayDeque类实例分析的相关资料,需要的朋友可以参考下
    2017-04-04
  • java中断机制实例讲解

    java中断机制实例讲解

    这篇文章主要介绍了java中断机制实例讲解,用了风趣幽默的讲法,有对这方面不太懂的同学可以研究下
    2021-01-01
  • java并发编程之原子性、可见性、有序性

    java并发编程之原子性、可见性、有序性

    这篇文章主要给大家分享的是java并发编程的原子性、可见性和有序性,文章会具体举例说明,感兴趣的小伙伴可以参考一下文章的具体内容
    2021-09-09
  • IDEA2022版本创建maven web项目的两种方式详解

    IDEA2022版本创建maven web项目的两种方式详解

    创建maven web项目有两种方式,一种是使用骨架方式,一种是不使用骨架的方式,本文结合实例代码给大家介绍了IDEA2022版本创建maven web项目的两种方式,需要的朋友可以参考下
    2023-02-02
  • Mac M1 Java 开发环境配置详解

    Mac M1 Java 开发环境配置详解

    这篇文章主要介绍了Mac M1 Java 开发环境配置详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-03-03
  • SpringBoot3集成MyBatis详解

    SpringBoot3集成MyBatis详解

    MyBatis是一款开源的持久层框架,它极大地简化了与数据库的交互流程,MyBatis更具灵活性,允许开发者直接使用SQL语句与数据库进行交互,本文将详细介绍在Spring Boot项目中如何集成MyBatis,以实现对数据库的轻松访问和操作,需要的朋友可以参考下
    2023-12-12
  • 基于Java堆内存的10个要点的总结分析

    基于Java堆内存的10个要点的总结分析

    本篇文章是对Java堆内存的10个要点进行了详细的分析介绍,需要的朋友参考下
    2013-05-05
  • 详解SpringBoot如何实现多环境配置

    详解SpringBoot如何实现多环境配置

    在实际的软件开发过程中,一个应用程序通常会有多个环境,pring Boot 提供了一个非常灵活和强大的方式来管理这些环境配置,下面就跟随小编一起学习一下吧
    2023-07-07

最新评论