吼吼,我遇到的问题是这样的......
我写了一个图片上传的方法,上传时,判断没有这个目录就自动建立一个。然后开始上传图片,能成功,能在服务器找到文件夹和相应的文件。但是,重启项目,或者清理缓存之后,图片和文件夹就会自动被删除,不见了。
先说解决办法吧,后面再分析:
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 applications
Documentation 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\你的项目名\WebRoot">/Context>-->
/Host>
分析:
重新redeploy的时候, tomcat 会同步你本地的文件 ,因为本地没有相应的文件夹导致文件丢失。这只是在开发过程中会遇到的问题 实际应用中 tomcat 只会 startup.bat/sh shutdown.bat/sh。我们这样做,其实就是给工程配置虚拟路径,这样tomcat在启动的时候直接找到工程了,上传的图片就不会仅仅只在/tomcat/webapps/目录,而直接到了你的工程里,不管你怎样重启项目,或者清理缓存,上传的文件依然存在!
总结
以上就是本文关于jsp-解决文件上传后重启Tomcat时文件自动删除问题的全部内容,希望对大家有所帮助。有兴趣的朋友可以参阅本站的其他专题,在此非常感谢大家对脚本之家的支持!
您可能感兴趣的文章:- Maven项目打包成war包部署到Tomcat的方法
- IDEA部署JavaWeb项目到Tomcat服务器的方法
- Vue项目webpack打包部署到Tomcat刷新报404错误问题的解决方案
- Web项目打成war包部署Tomcat时运行startup.bat直接闪退部署失败的快速解决方案
- 如何把spring boot项目部署到tomcat容器中
- 解决Tomcat重新部署后图片等资源被自动删除的问题