SpringBoot web静态资源映射实现步骤详解

 更新时间:2022年09月13日 10:15:21   作者:流楚丶格念  
在springBoot中的静态资源的映射是通过SpringMVC中的resourceHttpRequestHandler来进行实现的。在该请求映射器中默认规定了,SpringBoot会将classPath或者ServletContext下的/static (/public、/resources 或 /META-INF/resources)目录中,存放静态资源

静态资源映射规则

“/**” 访问当前项目任何资源,全部找静态资源的文件夹进行映射

静态资源的文件夹包括:

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

静态资源路径下的文件,可以通过地址栏直接访问。

例如:我们在在static,public,resources或者META-INF/resources/下放图片test1.jpg

这里就放着static下了,

然后我们在application.properties中配置静态资源位置:

PS:低版本的Springboot好像是真的不用配置就能访问,但是高版本不行了,看了很多帖子,是说的要配置一下

spring.web.resources.static-locations=classpath:/static,classpath:/public,classpath:/resources,classpath:/META-INF/resources

我们启动服务器,就可以直接在地址栏中访问:

“/**” 访问静态资源文件夹下的所有index.html页面

在static下创建index.html

编写网页代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <h1>
        莫名其妙的首页!
    </h1>
    <img src="test1.jpg">
</body>
</html>

通过地址栏直接访问index.html

如果index.html的位置在/static/lala/index.html,则相应的访问路径也要为/lala/index.html

Img标签的src属性为”…/timg.jpg”

index.html修改后如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <h1>
        莫名其妙的首页!
    </h1>
    <img src="../test1.jpg">
</body>
</html>

再进行访问如下:

自定义静态资源映射规则

我们需要建立自定义配置类,配置类实现WebMvcConfigurer中的addResourceHandlers方法,即可进行自定义资源映射路径的添加

代码如下:

package com.yyl.firstdemo.config;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
@Configuration
public class MyWebAppConfigurer implements WebMvcConfigurer {
    // 添加自定义资源映射路径
    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        //addResourceHandler 添加资源处理url路径
        //addResourceLocations 添加url对应的磁盘物理路径
        registry.addResourceHandler("/**").
                addResourceLocations("classpath:/META-INF/resources/",
                        "classpath:/resources/",
                        "classpath:/static/",
                        "classpath:/public/",
                        "file:D:/Study/图片/图片/");
    }
}

再访问D盘的图片也是可以的:

到此这篇关于SpringBoot web静态资源映射实现步骤详解的文章就介绍到这了,更多相关SpringBoot web静态资源映射内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Java服务不可用问题排查和解决

    Java服务不可用问题排查和解决

    作为一名 java 开发者,经常会遇到服务不可用的问题排查,导致问题的原因可能是多种多样的,但是在预先不知道是什么原因导致的服务不可用的时候,通用的排查手段和流程是相似的,故本文给大家介绍了Java服务不可用问题排查方法和解决,需要的朋友可以参考下
    2025-01-01
  • Java日常练习题,每天进步一点点(61)

    Java日常练习题,每天进步一点点(61)

    下面小编就为大家带来一篇Java基础的几道练习题(分享)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧,希望可以帮到你
    2021-08-08
  • java调用python代码的两种实现方式:Runtime.exec()和Jython

    java调用python代码的两种实现方式:Runtime.exec()和Jython

    在Java中调用Python代码有多种方法,包括使用Runtime.exec()和第三方库如Jython,Runtime.exec()通过系统命令执行Python脚本,适用于简单的调用场景,Jython则是一个Python的Java实现,允许在Java中直接运行Python代码,适用于更深层次的集成需求
    2025-01-01
  • 理解Java当中的回调机制(翻译)

    理解Java当中的回调机制(翻译)

    今天我要和大家分享一些东西,举例来说这个在JavaScript中用的很多。我要讲讲回调(callbacks)。你知道什么时候用,怎么用这个吗?你真的理解了它在java环境中的用法了吗?当我也问我自己这些问题,这也是我开始研究这些的原因
    2014-10-10
  • java实现简易飞机大战

    java实现简易飞机大战

    这篇文章主要为大家详细介绍了java实现简易飞机大战,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-05-05
  • Java多线程编程之Lock用法实例

    Java多线程编程之Lock用法实例

    这篇文章主要介绍了Java多线程编程之Lock用法实例,本文直接给出代码实例,需要的朋友可以参考下
    2015-05-05
  • SpringBoot同一接口多个实现类配置的实例详解

    SpringBoot同一接口多个实现类配置的实例详解

    这篇文章主要介绍了SpringBoot同一接口多个实现类配置的实例详解,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-11-11
  • Mybatis CachingExecutor二级缓存使用示例详解

    Mybatis CachingExecutor二级缓存使用示例详解

    这篇文章主要介绍了 Mybatis的CachingExecutor与二级缓存使用示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-09-09
  • spring boot入门开始你的第一个应用

    spring boot入门开始你的第一个应用

    这篇文章主要介绍了spring boot入门开始你的第一个应用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,,需要的朋友可以参考下
    2019-06-06
  • idea创建javaweb原生项目的实现示例

    idea创建javaweb原生项目的实现示例

    这篇文章主要介绍了idea创建javaweb原生项目的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-09-09

最新评论