解决Springboot配置静态资源处理规则后,无法访问想要访问的资源的问题

1.addResourceHandler新增 自定义的静态资源路径映射

addResourceHandler 默认是在原有静态资源处理规则的基础上 新增 自定义的静态资源路径映射。也就是说,它不会直接覆盖 Spring Boot 的默认静态资源处理逻辑(如 /static//public/ 等路径),而是通过添加新的规则来扩展功能。

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

2.错误案例

registry.addResourceHandler("/**") // 路径匹配所有请求
         .addResourceLocations("classpath:/"); // 映射到类路径根目录
  • /** 是一个通配符路径,表示所有请求(包括 //favicon.ico/index.html 等)都会被这条规则处理。
  • classpath:/ 是类路径根目录,即 src/main/resources/ 下的文件。
  • 默认静态资源路径被覆盖
    • Spring Boot 默认会从 /static//public/ 等目录加载静态资源(如 src/main/resources/static/index.html)。
    • 该配置强制所有请求直接从类路径根目录查找,导致:
      • 访问 /index.html 时,Spring Boot 会尝试从 classpath:/index.html(而非 classpath:/static/index.html)加载,如果文件不存在则返回 404。
      • favicon.ico 如果放在类路径根目录(如 src/main/resources/favicon.ico),则能被正确找到。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值