javaee 用struts2的文件上传,保存才服务器目录下 服务器是tomcat 为什么电脑重启后 文件就没有了?

javaee 用struts2的文件上传,保存才服务器目录下 服务器是tomcat 为什么电脑重启后 文件就没有了?,第1张

首先,

文件上传到服务器是保存在磁盘上的,磁盘是永久性存储介质,如果不是手动删除或者中毒(这种可能性不大),是不会丢失的。你可能是上次运行的时候上传的文件在服务器中,后来被你重新发布项目把原项目直接覆盖掉了,因为你原项目中可能没有存你新发布的,所以直接丢失掉了,建议如果有重要的上传文件,先将已经上传的文件备份一下,再发布新的项目。或者是你发布新文件的时候设置一下那个发布选项,只覆盖旧文件,不要全部删除后上传新项目,如图

这个主要要看你网站的架构。
如果是大型的交易平台,建议在两台服务器上部署两个应用,可以通过服务器或者硬件设备实现均衡负载,这时,维护的时候,即使停掉一台服务器,也不会影响另一台服务器的使用。可以先维护A,在维护B服务器。
如果你的应用程序只部署了一份,则在升级的时候出现短暂的不能访问(服务器加载更新文件)是很正常的。 如果你是java应用,建议使用weblogic 或者开源服务器使用最多,性能卓越的JBOSS服务器。 jboss 支持热部署,建议部署的应用时文件夹的方式,这是,你可以直接把你需要更新的类,通过 ftp 等方式传上去,JBOSS会自动加载更新的类。 如果你修改的是描述文件,如 WEBXML,strurs,webservices的文件,服务器则会先卸载应用,在重新部署。
如果系统对实时性要求很高,则建议使用集群的方式进行设计和部署。

项目部署在windows服务器上,(真心不造经济学院为什么要买一台windows服务器)

在服务器上部署多个项目的时候,由于第二个项目自己偷懒就复制了第一个项目的webxml,没想到连webAppRootKey也一起复制过去了,于是造成冲突。

查看日志:Web app root system property already set to different value: 'app1root' = [D:\apache\apache-tomcat-8512-windows-x64\webapps\teachers\] instead of [D:\apache\apache-tomcat-8512-windows-x64\webapps\teachers_files\] - Choose unique values for the 'webAppRootKey' context-param in your webxml files!

不得不说日志是个好东西,记录了项目的行为
另外项目的webAppRootKey就不复制了,他们的值都是相同的。

解决方法:因此两个项目中paran-value应该是不一样的。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/13316635.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-13
下一篇 2023-07-13

发表评论

登录后才能评论

评论列表(0条)

保存