解决办法!!!

你按这几个步骤去做,就能解决问题:
1.把/tomcat/webapps/目录清空,删掉该文件夹的所有内容,
2.修改/tomcat/conf/web.xml文件:

<servlet><servlet-name>default</servlet-name><servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class><init-param><param-name>debug</param-name><param-value>0</param-value></init-param><init-param><param-name>listings</param-name><param-value>true</param-value></init-param><load-on-startup>1</load-on-startup></servlet>

3.修改/tomcat/conf/server.xml文件:

<Host name="localhost"  appBase="webapps"unpackWARs="true" autoDeploy="true"xmlValidation="false" xmlNamespaceAware="false"><!-- SingleSignOn valve, share authentication between web applicationsDocumentation at: /docs/config/valve.html --><!--<Valve className="org.apache.catalina.authenticator.SingleSignOn" />--><!-- Access log processes all example.Documentation at: /docs/config/valve.html --><!--<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"  prefix="localhost_access_log." suffix=".txt" pattern="common" resolveHosts="false"/>-->
<!----><Context path="/ser" docBase="D:\project\myProject\editor\WebRoot"></Context>
<!--<Context path="/mvc" docBase="D:\project\myProject\area\WebRoot"></Context>--></Host>

其实就是给工程配置虚拟路径,这样tomcat在启动的时候直接找到你的工程了,
你上传的图片就不会跑到/tomcat/webapps/目录,而是直接到了你的工程里,
不管你怎样重启项目,或者清理缓存,上传的文件依然存在!

再来解释一波!

D:\project\myProject\editor\WebRoot 这个路径是项目的web根目录,editor是项目名称, 那么D:\project\myProject\editor\src 就是你存放java文件的根目录了
/ser 就是项目应用的名称了,或者说是上下文路径,这个名称可以随意修改
如果你的tomcat端口是 8080, 那么项目的访问路径就是 http://localhost:8080/ser
上传时就会在D:\project\myProject\editor\WebRoot\ 目录中创建文件夹
不管你怎样重启项目,或者清理缓存,上传的文件依然存在, 因为上传的文件都已经存在于你的项目中
这样方式只需要部署一次,没有重新部署的说法

如果你是在eclipse中点来点去的部署项目,也就等于是把D:\project\myProject\editor\WebRoot目录的所有文件和文件夹都复制到了 /tomcat/webapps/editor/目录下,那么项目的访问路径就是 http://localhost:8080/editor
上传时就会在 /tomcat/webapps/editor/ 目录中创建文件夹
只要重新部署或清理缓存,上传的文件都烟消云散了
因为重新部署时,先删除 /tomcat/webapps/editor/ 目录,再复制一遍D:\project\myProject\editor\WebRoot目录的所有文件和文件夹

总结

其实就是我们的开发工具eclipse或者myeclipse导的鬼
部署web项目,别在eclipse中点来点去的部署,那样虽然快捷,但实际上是复制项目到tomcat,有很多弊端!
修改tomcat的配置文件正好解决这个问题,
你反过来想一想,javaweb项目的服务器一般都是linux系统,linux系统中不可能安装eclipse,
所以在linux系统中部署项目,就是修改配置文件,然后运行命令启动tomcat,
重新redeploy的时候 tomcat 会同步你本地的文件 因为你本地没有相应的文件夹 自然导致文件丢失。
这只是在开发过程中会遇到的问题 实际应用中 tomcat 只会 startup.bat/sh shutdown.bat/sh
这样部署后,request.getSession().getServletContext().getRealPath(“/”);得到的是项目的WebRoot根目录,比如:D:\project\myProject\editor\WebRoot,上传文件时的文件夹自然就会创建在项目中,
如果你在eclipse中点来点去的部署,得到的却是tomcat的webapps根目录,文件夹就会创建在tomcat中,

Javaweb上传图片或文件到服务器,Tomcat服务器重新部署项目,会删除原来上传的文件的问题相关推荐

  1. python文件拷贝并校验_初级版python登录验证,上传下载文件加MD5文件校验

    importosimportjsonimportsocketimportstructimporthashlib#import time deflogin(): usr= input('请输入用户名:' ...

  2. java文件客户端下载_使用Java写一个minio的客户端上传下载文件

    标签:color   ati   tty   java   system   wired   format   media   param 前言: 确保已经安装了minio的服务端 代码: pom.x ...

  3. vscode 将本地项目上传到github、从github克隆项目以及删除github上的某个文件夹

    一.将本地项目上传到github 1.创建本地仓库(文件夹) mkdir study//创建文件夹study cd study //进入study文件夹 2.通过命令git init把这个文件夹变成G ...

  4. 使用 vscode将本地项目上传到github、从github克隆项目以及删除github上的某个文件夹...

    安装Git后,可以看到windows环境下有两个命令输入窗口Git CMD 和Git Bash Git GUI是可视化图形界面 Git中的Bash是基于CMD的,在CMD的基础上增添一些新的命令与功能 ...

  5. FTPrush给Linux上传文件,LINUX CENTOS 7安装FTP服务器详细讲解(配图),FTPRUSH连接上传测试文件...

    安装FTP 1.安装命令 yum install vsftpd -y 2.查看启动状况 systemctl status vsftpd 3.停止,启动,vsftpd systemctl stop vs ...

  6. SVN工作笔记001---svn删除已经上传的文件

    JAVA技术交流QQ群:170933152 选中要删除的文件,右键TortoiseSVN-->Delete,最后在执行一下commit

  7. vue上传zip文件到服务器,element+Vue上传zip文件

    ref : 绑定DOM元素 action:接口地址 data : 你要传入的参数 on-preview:点击文件列表中已上传的文件时的钩子 name:文件的参数名 on-remove :移除你上传的文 ...

  8. JavaWeb:上传下载文件

    1. 文件上传概述 1.1 文件上传的作用 例如网络硬盘!就是用来上传下载文件的. 在智联招聘上填写一个完整的简历还需要上传照片呢. 1.2 文件上传对页面的要求 上传文件的要求比较多,需要记一下: ...

  9. java实现上传_文件上传(java)

    最近看了一本书上的代码,代码的主要功能是实现文件的上传.但是,当我运行代码的时候竟然报错了.(我用的IDEA).有错就解决吧.以下是我遇到的几个错误. 废话不多说先附上源代码. UploadServl ...

最新文章

  1. 因子分析数据_Excel数据分析案例:用Excel做因子分析
  2. OpenCV | 分水岭算法进行图像分割
  3. es5 - array - pop
  4. stm32核心板可以点亮灯吗_STM32库函数点亮LED
  5. ubuntu 使用root用户登录
  6. ES5-拓展 隐式数据类型转换
  7. 大厂都在拆中台了,为什么我们还死磕到底?
  8. startActivity流程(上)
  9. 15-07-06 定闹钟
  10. MDT2012+ADK8.0+WDS部署Windows客户端(一)部署概念和方法论
  11. 接口 java性能_MyPerf4J 一个极快的Java接口性能监控和统计工具
  12. 基础训练 龟兔赛跑预测
  13. 4. gstimxv4l2src.c源码分析
  14. 多台机器同步Windows上的文件 -cwRsync 同步问题
  15. Windows系统下使用WCP搭建自己的本地知识库管理平台
  16. Conjugate function and Fenchel’s duality theorem
  17. OpenGL 和 DirextX
  18. 达克效应:比绝望之谷更可怕的是迟迟未达到愚昧山峰
  19. 计算机音乐学院,乐与录音艺术学院学生在中国大学生计算机设计大赛(计算机音乐创作类)中喜获佳绩...
  20. vbs小游戏(猜字谜)

热门文章

  1. 黑客利用Apache Struts 2漏洞在服务器上传递Cerberus勒索软件
  2. 用boot camp助理装win 7时卡在了“正在拷贝windows文件”
  3. 【金融财经】金融市场一周简报(2017-12-29)
  4. 元宇宙会成为 IPv6 的拐点吗?
  5. 通过ONIE安装NOS系统
  6. linux R语言 安装
  7. 首期“赛迪区块链技术与应用培训班”成功举办
  8. Mac电脑到底该用什么下载软件?Folx苹果电脑专用
  9. 【UBUNTU】使用Remmina访问远程linux服务器桌面
  10. 分享77个HTMLCSS源码,总有一款适合您