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

yizhihongxing

当使用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日

相关文章

  • HTML实现遮罩层的方法 HTML中如何使用遮罩层

    HTML实现遮罩层的方法: 遮罩层可以帮助弹窗、菜单等弹出层在页面中居中显示,并阻止用户在弹出层显示期间进行其他操作。常用的方法有以下几种: 使用CSS中的position属性和z-index属性 使用CSS中的position属性和z-index属性可以轻松实现遮罩层的效果。具体做法如下: /* 遮罩层样式 */ .mask { position: fix…

    css 2023年6月10日
    00
  • JavaScript表格隔行变色和Tab标签页特效示例【附jQuery版】

    下面是关于“JavaScript表格隔行变色和Tab标签页特效示例【附jQuery版】”的完整攻略: 一、JavaScript表格隔行变色 1.实现原理 在使用JavaScript实现隔行变色的功能时,需要将表格中的奇数列和偶数列的背景颜色分别设置为不同的颜色值,通常采用白色和灰色以增强视觉效果。 2.具体实现步骤 以下是具体的实现步骤: 首先,首先需要获取…

    css 2023年6月10日
    00
  • 让pre标签自动换行示例代码

    针对“让pre标签自动换行示例代码”的问题,下面是一份完整攻略。 步骤1:添加CSS样式 首先,在HTML文件的<head>中添加一个样式标签<style>,来为pre标签添加CSS样式。我们需要给pre标签添加white-space: pre-wrap;样式,这样在pre标签内的文本内容就可以自动换行了。 下面是样式代码示例: &l…

    css 2023年6月10日
    00
  • firefox css自动换行的实现方法

    下面是关于“firefox css自动换行的实现方法”的完整攻略。 什么是自动换行 自动换行,指的是当一行文本已经填满了一个容器时,文本会自动转移到下一行,从而适应容器的大小。CSS中也提供了相应的属性来控制文本的自动换行。 实现方法 在CSS中,可以通过以下两种方式来实现自动换行: 1. 使用 word-wrap 属性 word-wrap 属性可以控制在单…

    css 2023年6月10日
    00
  • CSS里的no-repeat是什么意思通俗易懂的理解

    CSS中的no-repeat是background属性的一个值,用于控制背景图片不重复显示。具体来说,no-repeat会在显示背景图片时只展示一次,不会在背景中重复出现。 通俗易懂的理解就是,假如我们有一个背景图片,但是因为图片尺寸比实际显示的区域小,所以需要重复多次来填充满整个区域。no-repeat的作用就是让图片只出现一次,从而避免产生重复的问题。 …

    css 2023年6月9日
    00
  • js 设置css的定位

    JavaScript 可以通过修改 CSS 样式来控制页面元素的定位。以下是设置 CSS 定位属性的详细攻略以及两个示例: 设置 CSS 定位属性 要设置元素的 CSS 定位属性,需要用到该元素的 style 属性,并设置 position 属性的值。position 属性可以设置为以下四个值: static:默认值,元素在文档流中,不进行定位。 relat…

    css 2023年6月9日
    00
  • 网站前端和后台性能优化的34条宝贵经验和方法

    网站前端和后台性能优化的34条宝贵经验和方法 本篇攻略旨在为网站前端和后台性能的优化提供宝贵经验和方法,包括从前端和后台两方面出发的优化方法。 前端性能优化 1. 启用缓存 对于静态资源,以及一些不常变更的动态资源,可以启用浏览器缓存,减少对于服务器的请求,加快页面加载速度。 2. 压缩资源 对于CSS和JavaScript等资源,可以使用压缩工具进行压缩,…

    css 2023年6月10日
    00
  • 使用css样式设计一个简单的html登陆界面的实现

    使用CSS样式可以轻松地设计一个简单的HTML登录界面。下面是一个完整的攻略,包含实现步骤和两个示例说明。 创建HTML文件和CSS文件 首先,创建一个HTML文件(例如“login.html”)和一个CSS文件(例如“login.css”)。在HTML文件的部分导入CSS文件: <head> <link rel="stylesh…

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