解決jsp上傳文件,重啟tomcat后文件和文件夾自動刪除


吼吼,我遇到的問題是這樣的......
我寫了一個圖片上傳的方法,上傳時,判斷沒有這個目錄就自動建立一個。
然后開始上傳圖片,能成功,能在服務器找到文件夾和相應的文件。

但是,重啟項目,或者清理緩存之后,圖片和文件夾就會自動被刪除,不見了。

 

先說解決辦法吧,后面在分析:

1.把/tomcat/webapps/目錄清空,刪掉該文件夾的所有內容,
2.修改/tomcat/conf/web.xml文件:

  1.  
  2. <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文件:

 

  1. <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/目錄,而直接到了你的工程里,
不管你怎樣重啟項目,或者清理緩存,上傳的文件依然存在!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM