吼吼,我遇到的問(wèn)題是這樣的......
我寫(xiě)了一個(gè)圖片上傳的方法,上傳時(shí),判斷沒(méi)有這個(gè)目錄就自動(dòng)建立一個(gè)。然后開(kāi)始上傳圖片,能成功,能在服務(wù)器找到文件夾和相應(yīng)的文件。但是,重啟項(xiàng)目,或者清理緩存之后,圖片和文件夾就會(huì)自動(dòng)被刪除,不見(jiàn)了。
先說(shuō)解決辦法吧,后面再分析:
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/你的項(xiàng)目名/WebRoot"></Context>--> </Host>
分析:
重新redeploy的時(shí)候, tomcat 會(huì)同步你本地的文件 ,因?yàn)楸镜貨](méi)有相應(yīng)的文件夾導(dǎo)致文件丟失。這只是在開(kāi)發(fā)過(guò)程中會(huì)遇到的問(wèn)題 實(shí)際應(yīng)用中 tomcat 只會(huì) startup.bat/sh shutdown.bat/sh。我們這樣做,其實(shí)就是給工程配置虛擬路徑,這樣tomcat在啟動(dòng)的時(shí)候直接找到工程了,上傳的圖片就不會(huì)僅僅只在/tomcat/webapps/目錄,而直接到了你的工程里,不管你怎樣重啟項(xiàng)目,或者清理緩存,上傳的文件依然存在!
總結(jié)
以上就是本文關(guān)于jsp/69423.html">jsp-解決文件上傳后重啟Tomcat時(shí)文件自動(dòng)刪除問(wèn)題的全部?jī)?nèi)容,希望對(duì)大家有所幫助。有興趣的朋友可以參閱本站的其他專題,在此非常感謝大家對(duì)VeVb武林網(wǎng)的支持!
新聞熱點(diǎn)
疑難解答
圖片精選