解析Spring Boot内嵌tomcat关于getServletContext().getRealPath获取得到临时路径的问题
作者:wangzswu 发布时间:2023-08-28 07:44:11
标签:Spring,Boot,tomcat,路径
问题:
使用getServletContext().getRealPath()得到的是临时文件的路径。
每次重启服务,这个临时文件的路径还会变更。
类似下面这种路径:
解决措施:在idea的启动配置里面配置工作区。
在工作区下建立public文件夹。
问题解决。
原理解释:源码位置:org\springframework\boot\web\servlet\server\DocumentRoot.java
SpringBoot启动后,默认会把commonDocRoot设置成这三个目录(java项目 www.fhadmin.org)。
如果没有就会设置成临时位置。
注意:这些目录都是在工作区下找的,如果没有设置工作区,肯定也是找不到的。
配置好工作区,添加了public文件夹后,就能正常获取路径了。
文件存储成功。
来源:https://www.cnblogs.com/sjingser1/archive/2021/05/26/14811907.html
0
投稿
猜你喜欢
- 示例代码:class BoxIntInteger {public static void main(String[] args) {Inte
- 这篇文章主要介绍了springboot配置aop切面日志打印过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习
- 线程组线程组可以批量管理线程和线程组对象。一级关联例子如下,建立一级关联。public class MyThread43 implement
- SpringBoot访问外部文件及默认路由1 新增配置类package com.pibigstar.common.config;import
- SpringBoot是什么?SpringBoot是spring家族中微型框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。
- 前言AQS 绝对是JUC的重要基石,也是面试中经常被问到的,所以我们要搞清楚这个AQS到底是什么?骑工作原理是什么?AQS是什么?AQS,A
- 有个网站需要生成静态页。据以往经验,凡比较烂的空间,短时间内运行耗能大的运算,都会出现“service unavailable”,以致网页无
- 就网络和应用程序而言,键盘快捷键很重要,今天我们要谈的便是让这类快捷键得以在Flutter运作的小部件:Focus、Shortcuts和Ac
- 本文实例讲述了C#序列化与反序列化的方法。分享给大家供大家参考。具体分析如下:把“对象”转换为“字节序列”的过程称为对象的序列化。 
- java.sql.Timestamp(时间戳)继承父类:java.util.Date所有已实现的接口:Serializable, Clone
- VisualVM是JDK自带的一款全能型性能监控和故障分析工具,包括对CPU使用、JVM堆内存消耗、线程、类加载的实时监控,内存dump文件
- 目录环境依赖数据源方案一 使用 Spring Boot 默认配置方案二 手动创建脚本初始化使用 JdbcTemplate 操作实体对象DAO
- 本文实例为大家分享了android实现倒计时功能的具体代码,供大家参考,具体内容如下【思路】:通过 timer 执行周期延时的任务,hand
- MyBatis if test 判断字符串相等不生效采用 MyBatis 框架操作 MySQL 数据库时,判断传入的字符串 priceFla
- 1.比较两个字符串时使用“==”还是equals()方法?当然是equals方法。“==”测试的是两个对象的引用是否相同,而equals()
- 作用mybatis-plus接口mapper方法中的注解(如@Select)或者xml(如)传入的参数是通过#{param}或者${para
- 最近一个项目要导出word文档,折腾老半天,发现还是用freemarker的模板来搞比较方便省事,现总结一下关键步骤,供大家参考,这里是一个
- 异常是程序中的一些错误,但并不是所有的错误都是异常,并且错误有时候是可以避免的。比如说,你的代码少了一个分号,那么运行出来结果是提示是错误
- 本文实例讲述了Android之复选框对话框用法。分享给大家供大家参考。具体如下:main.xml布局文件<?xml version=&
- 本文主要给大家介绍了关于Java8中Optional类型和Kotlin中可空类型使用的相关内容,分享出来供大家参考学习,下面话不多说了,来一