spring boot 配置静态路径(404出现的坑)

一 前言

最近有个项目,需要上传一个zip文件(zip文件就是一堆的html压缩组成)的压缩文件,然后后端解压出来,用户可以预览上传好的文件。

查看资料,spring boot对静态文件,可以通过配置路径的方式来实现。

rootPath 我本地调试环境的是 : d:/file/

测试环境的是 /data/file

/**” :表示访问路径,根据实际情况指定(这里表示/file/下的所有路径)

“file:/d/file/” :表示静态资源在硬盘上的真实存储位置,根据实际情况指定

本地开发是很顺利的,很快就写好了,当部署到测试机的时候,上传的文件,无法预览,一直提示404。

初步怀疑是2个问题

1.权限问题检查了文件也正常写入和读出,排除权限的问题
2文件编码的问题

我上传的有中文目录,也许是中文无法映射出来,后来,上传了全英文的文件,也是无法预览,实在是吐血了,

都无法解决我的问题

实在是想不到什么问题,考虑了能否远程debug下呢

我配置了 ide debug,远程 java启动命令

ide 配置

其中 host 是我本地的ip地址

启动好远程服务,打好断点,然后debug

经过几个小时的spring debug 源码,终于发现了我的路径少了个 / 号, spring boot 对于 不是/结尾的处理,直接忽略了,找到了上级目录去了,这就造成一直404的原因

1.开发容易,调试难,一定要注意配置要小心点

2.spring boot 要多熟悉下,有问题,也可以debug来解决

Original: https://www.cnblogs.com/tomj2ee/p/15893981.html
Author: tomj2ee
Title: spring boot 配置静态路径(404出现的坑)

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/570898/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • java基础篇 —— 方法重载和方法重写有什么区别

    方法重载和方法重写有的区别 1 、定义不同:重载是定义相同的方法名、参数不同,重写是子类重写父类的方法 2 、范围不同:重载是在一个类中,重写是子类与父类之间的 3 、多态不同:重…

    Java 2023年6月5日
    066
  • ACP 知识点总结

    记录下学习ACP过程不断遇到的且需要记录的知识点: 在阿里云专有网络VPC创建之后,路由器也是随着VPC一起自动创建,所以不需要手动创建,这个时候需要继续创建交换机才能在交换机种创…

    Java 2023年6月8日
    088
  • 1_day01_操作系统安装

    操作系统安装 内容介绍 1.制作U盘启动器 2.备份驱动 3.安装操作系统 4.驱动更新 5.依赖库检测 6.系统漏洞修复 7.系统布局优化 一、制作U盘启动器 1.1 下载老毛桃…

    Java 2023年6月8日
    074
  • SpringBoot进阶教程(六十八)Sentinel实现限流降级

    前面两篇文章nginx限流配置和SpringBoot进阶教程(六十七)RateLimiter限流,我们介绍了如何使用nginx和RateLimiter限流,这篇文章介绍另外一种限流…

    Java 2023年6月8日
    074
  • java 8 新特性

    java8 是一个有里程碑的一个版本,提供了很多的新特性,但这些新特性是实打实有用的,而不是一些鸡肋 接口新特性 java8 之前,往接口里新加一个方法,那么所有的实现类都需要变动…

    Java 2023年6月8日
    073
  • Markdown随时记录

    Markdown学习 推荐文本编译器 Typora 标题(支持六级) 一级标题:# + 空格 + 内容 二级标题:## + 空格 + 内容 三级标题:### + 空格 + 内容 ….

    Java 2023年6月14日
    072
  • Feign源码解析系列-注册套路

    感谢不知名朋友的打赏,感谢你的支持! 开始 在追寻Feign源码的过程中发现了一些套路,既然是套路,就可以举一反三,所以值得关注。这篇会详细解析Feign Client配置和初始化…

    Java 2023年6月13日
    065
  • Spring系列4:依赖注入的2种方式

    定义2个简单的bean类,BeanOne 和 BeanTwo,前者依赖后者。 package com.crab.spring.ioc.demo02; public class Be…

    Java 2023年6月5日
    064
  • 云原生强大且灵活的持续集成CI开源框架Tekton实战-上

    @ 概述 定义 常见CICD工具 使用好处 组件 基本概念 安装 前提条件 安装Tekton Pipelines 创建并运行任务 安装Dashboard 安装Cli Pipelin…

    Java 2023年6月5日
    0132
  • 浅谈SpringCloud五大组件

    spring cloud五大组件分别为: 服务发现–Netflix Eureka 客户端负载均衡–Netflix Ribbon 断路器–Netf…

    Java 2023年5月30日
    061
  • mysql查询的时候没有加order by时的默认排序问题

    有时候我们执行MySQL查询的时候,查询语句没有加order by,但是发现结果总是已经按照id排序好了的,难道MySQL就是为了好看给我们排序 如上图数据,是我查询了语句 SEL…

    Java 2023年6月7日
    070
  • [javaweb]监听器统计网页在线人数

    监听器 1.配置监听器 package com.javaweb.controller; import javax.servlet.ServletContext; import ja…

    Java 2023年6月6日
    077
  • 云服务器ECS部署和卸载RabbitMQ

    云服务器ECS部署RabbitMQ RabbitMQ是实现了高级消息队列协议(AMQP)的开源消息代理软件,用于在分布式系统中存储转发消息,有良好的易用性、扩展性和高可用性。本文介…

    Java 2023年6月14日
    054
  • java实现空心金字塔

    前言 最近在学习java,遇到了一个经典打印题目,空心金字塔,初学者记录,根据网上教程,有一句话感觉很好,就是先把麻烦的问题转换成很多的简单问题,最后一一解决就可以了,然后先死后活…

    Java 2023年6月13日
    095
  • springmvc笔记

    一、MVC的定义 Model:数据模型,提供要展示的数据,因此包含数据和行为,可以认为是领域模型或JavaBean组件(包含数据和行为),不过现在一般都分离开来:Value Obj…

    Java 2023年6月7日
    067
  • springboot2 xxl-job 调度中心

    1,下载自己需要的版本 1,https://github.com/xuxueli/xxl-job2,https://gitee.com/xuxueli0323/xxl-job/re…

    Java 2023年5月30日
    069
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球