SpringBoot无法访问/static下静态资源的解决

当使用SpringBoot开发web应用时,我们可以把静态资源文件放在项目中的“/static”或“/public”或“/resources”或“/META-INF/resources”目录下,在应用运行时就可以通过相应的URL来访问静态资源。然而,有时候我们会遇到这样的问题:通过URL访问静态资源时,却发现无法获取到资源,出现404错误,这通常是因为SpringBoot默认配置了不允许访问静态资源的映射规则。针对这个问题,我们可以通过以下两种方法解决:

方法一:配置WebMvcConfigurer

我们可以实现WebMvcConfigurer接口并重写addResourceHandlers方法来配置我们需要访问的静态资源路径。例如,在项目的src/main/java目录下创建一个WebConfigurer类,代码如下:

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

在addResourceHandlers方法中,我们通过addResourceHandler来指定需要映射的URL路径,通过addResourceLocations来指定对应的本地文件路径。在上面的代码中,我们将所有以“/static/”开头的URL请求映射到classpath:/static/目录下,这样我们就可以通过访问“/static/xxx”来获取到对应的静态资源文件。

方法二:使用SpringBoot配置文件

我们可以通过在application.properties或application.yml文件中配置spring.resources.static-locations属性来指定我们需要访问的静态资源路径。例如,在项目的resources目录下创建一个application.yml文件,代码如下:

spring:
  resources:
    static-locations: classpath:/static/

在上面的配置中,我们通过spring.resources.static-locations属性来指定对应的静态资源文件路径,这样当我们访问“/static/xxx”时,SpringBoot就会从classpath:/static/目录下获取对应的静态资源文件。

以上两种方法都可以解决SpringBoot无法访问静态资源的问题,具体选择哪一种方法,可以根据实际项目需求来进行选择。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:SpringBoot无法访问/static下静态资源的解决 - Python技术站

(0)
上一篇 2023年6月10日
下一篇 2023年6月10日

相关文章

  • CSS实现模拟position的fixed页面定位效果

    下面是CSS实现模拟position的fixed页面定位效果的完整攻略。 1. 了解fixed定位 fixed定位是CSS中的一种定位方式,它可以使元素固定在浏览器窗口的某个位置,不会随着网页滚动而改变位置。通常情况下,我们可以直接使用fixed定位来实现固定位置的效果。但是在某些情况下,我们需要在fixed定位失效的情况下,通过一些技巧来模拟fixed定位…

    css 2023年6月9日
    00
  • CSS3实现王者荣耀匹配人员加载页面的方法

    以下是“CSS3实现王者荣耀匹配人员加载页面的方法”的完整攻略。 什么是王者荣耀匹配人员加载页面 王者荣耀匹配人员加载页面是一个现代化的网页程序,它会根据指定的条件,展示在线等待匹配的战队或个人,提供给用户一个便捷的玩家匹配体验。在该页面中,用户可以查看匹配时的核心信息,如队伍成员、英雄选择、所处段位等,并可以进行交流、挑选匹配或观看等一系列操作。 采用CS…

    css 2023年6月10日
    00
  • Sublime Text 3 常用插件以及安装方法(图文)

    下面是 “Sublime Text 3 常用插件以及安装方法(图文)”的完整攻略: Sublime Text 3 常用插件以及安装方法(图文) Sublime Text 3 是一个非常流行的文本编辑器,它拥有丰富的插件市场,可以帮助我们提高开发效率。在本文中,我们将介绍一些常用的插件以及它们的安装方法。 插件控制器 Sublime Text 3 默认并不支持…

    css 2023年6月10日
    00
  • css是什么_动力节点Java学院整理

    CSS是什么? CSS(Cascading Style Sheets)即层叠样式表,是一种用于定义HTML或XML中展示效果的样式语言。CSS可以控制文档外观、排版、行间距等视觉效果,并且可以使多个页面使用同一份样式定义,实现网站的整体风格统一。 CSS的语法规则 CSS的语法规则包括: 选择器:用于选择HTML或XML中的某个元素。 属性:用于定义元素的样…

    css 2023年6月9日
    00
  • 兼容IE6的网页最小最大宽度和最小最大高度css写法

    以下是“兼容IE6的网页最小最大宽度和最小最大高度css写法”的完整攻略: 针对最小最大宽度的CSS写法: 在IE6中,我们通常使用属性名为width的方式来定义宽度,但是它不能有效兼容最小最大宽度的情况。针对这种情况,我们可以结合IE6下的html元素的min-width和max-width属性来进行定义,如下所示: /*最小宽度*/ body{ min-…

    css 2023年6月10日
    00
  • CSS实现背景透明文字不透明兼容各种浏览器有图有真相

    当我们需要在网页中实现背景透明文字不透明的效果时,可以通过CSS代码来实现。下面是一份完整攻略,包含了兼容各种浏览器的方法和两个示例说明。 原理说明 背景透明文字不透明的效果实际上可以通过backdrop-filter属性实现。这个属性可以对元素的背景应用一个滤镜效果,从而达到半透明或模糊的效果。同时,在覆盖一层背景色的时候,可以通过设置该背景色的opaci…

    css 2023年6月9日
    00
  • CSS中的下划线text-decoration属性使用进阶

    下面是关于“CSS中的下划线text-decoration属性使用进阶”的详细讲解攻略: 1. text-decoration属性介绍 text-decoration属性用于给文本添加一条线,实现下划线、删除线、波浪线等效果。常见的属性值包括:underline(下划线)、overline(上划线)、line-through(删除线)、none(不添加线条)…

    css 2023年6月9日
    00
  • Bootstrap栅格系统的使用详解

    下面我来为您介绍一篇关于Bootstrap栅格系统使用的详细攻略。 1. 什么是Bootstrap栅格系统 Bootstrap 栅格系统是一个响应式、移动设备优先的流式格系统,它用于页面布局,具有以下特性: 支持多种设备(如手机、平板、桌面电脑); 网格布局(12个网格列,通过媒体查询实现不同的排版); 预定义好了多种布局类型(如:嵌套、等宽、偏移、反向布局…

    css 2023年6月10日
    00
合作推广
合作推广
分享本页
返回顶部