springboot-静态资源

本文详细介绍了SpringBoot中静态资源的默认映射路径及优先级,并提供了如何自定义静态资源映射路径的方法,包括通过配置文件和创建配置类。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. 默认路径

Spring Boot 默认为我们提供了静态资源处理,使用 WebMvcAutoConfiguration 中的配置各种属性。建议大家使用Spring Boot的默认配置方式,提供的静态资源映射如下:

classpath:/META-INF/resources

classpath:/resources

classpath:/static

classpath:/public

在工程里面路径是这样:

上面这几个都是静态资源的映射路径,优先级顺序为:

META-INF/resources > resources > static > public

可以直接访问:http://localhost:8080

2.配置路径

对应的配置为:

# 默认值为 /**

spring.mvc.static-path-pattern=

# 默认值为 classpath:/META-INF/resources/,classpath:/resources/,classpath:/static/,classpath:/public/

spring.resources.static-locations=这里设置要指向的路径,多个使用英文逗号隔开

如,我们添加配置:

spring.mvc.static-path-pattern=/gary/**

只能访问:http://localhost:8080/gary/index.html

举个例子:如果想自定义一个路径,页面访问时为my,工程目录为myresource,配置如下:

spring.mvc.static-path-pattern=/my/**

spring.resources.static-locations=classpath:/myresources/

创建目录,放一张图片:

访问:

 

  1. 自定义路径

定义一个配置类并继承WebMvcConfigurerAdapter。想自定义静态资源映射目录的话,只需重写addResourceHandlers方法即可。

package com.ConfigurerAdapter;

import org.springframework.context.annotation.Configuration;

import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;

import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;

@Configuration

public class MyWebMvcConfigurerAdapter extends WebMvcConfigurerAdapter{

    /**

     * 配置静态访问资源

     * @param registry

     */

    @Override

    public void addResourceHandlers(ResourceHandlerRegistry registry) {

        registry.addResourceHandler("/my/**").addResourceLocations("classpath:/myresources/");

        super.addResourceHandlers(registry);

    }

}

 

如果你想指定外部的目录也很简单,直接addResourceLocations指定即可,代码如下:

registry.addResourceHandler("/my/**").addResourceLocations("file:d:/myresources/");

addResourceLocations指的是文件放置的目录,addResoureHandler指的是对外暴露的访问路径。

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值