吼吼,我遇到的問題是這樣的......
我寫了一個圖片上傳的方法,上傳時,判斷沒有這個目錄就自動建立一個。然后開始上傳圖片,能成功,能在服務(wù)器找到文件夾和相應(yīng)的文件。但是,重啟項目,或者清理緩存之后,圖片和文件夾就會自動被刪除,不見了。
先說解決辦法吧,后面再分析:
1.把/tomcat/webapps/目錄清空,刪掉該文件夾的所有內(nèi)容,
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 會同步你本地的文件 ,因為本地沒有相應(yīng)的文件夾導(dǎo)致文件丟失。這只是在開發(fā)過程中會遇到的問題 實際應(yīng)用中 tomcat 只會 startup.bat/sh shutdown.bat/sh。我們這樣做,其實就是給工程配置虛擬路徑,這樣tomcat在啟動的時候直接找到工程了,上傳的圖片就不會僅僅只在/tomcat/webapps/目錄,而直接到了你的工程里,不管你怎樣重啟項目,或者清理緩存,上傳的文件依然存在!
總結(jié)
以上就是本文關(guān)于jsp-解決文件上傳后重啟Tomcat時文件自動刪除問題的全部內(nèi)容,希望對大家有所幫助。有興趣的朋友可以參閱本站的其他專題,在此非常感謝大家對腳本之家的支持!
您可能感興趣的文章:- Maven項目打包成war包部署到Tomcat的方法
- IDEA部署JavaWeb項目到Tomcat服務(wù)器的方法
- Vue項目webpack打包部署到Tomcat刷新報404錯誤問題的解決方案
- Web項目打成war包部署Tomcat時運行startup.bat直接閃退部署失敗的快速解決方案
- 如何把spring boot項目部署到tomcat容器中
- 解決Tomcat重新部署后圖片等資源被自動刪除的問題