重啟服務器,上傳的圖片被刪除


你按這幾個步驟去做,就能解決問題:
1.把/tomcat/webapps/目錄清空,刪掉該文件夾的所有內容,
2.修改/tomcat/conf/web.xml文件:
    

        default
        org.apache.catalina.servlets.DefaultServlet
       
            debug
            0
       
       
            listings
            true
       
        1
   


3.修改/tomcat/conf/server.xml文件:


    
 

其實就是給工程配置虛擬路徑,這樣tomcat在啟動的時候直接找到你的工程了,你上傳的圖片就不會跑到/tomcat/webapps/目錄,而是直接到了你的工程里,不管你怎樣重啟項目,或者清理緩存,上傳的文件依然存在!


部署web項目,別在eclipse中點來點去的部署,那樣雖然快捷,但實際上是復制項目到tomcat,有很多弊端!
修改tomcat的配置文件正好解決這個問題,反過來想一想,javaweb項目的服務器一般都是linux系統,linux系統中不可能安裝eclipse,
所以在linux系統中部署項目,就是修改配置文件,然后運行命令啟動tomcat,這樣部署后,request.getSession().getServletContext().getRealPath("/");得到的是項目的WebRoot根目錄,比如:D:\project\myProject\prjName\WebRoot,上傳文件時的文件夾自然就會創建在項目中,如果你在eclipse中點來點去的部署,得到的卻是tomcat的webapps根目錄,文件夾就會創建在tomcat中,D:\project\myProject\prjName\WebRoot 這個路徑是項目的web根目錄,prjName是項目名稱, 那么D:\project\myProject\prjName\src 就是你存放java文件的根目錄了,/ser 就是項目應用的名稱了,或者說是上下文路徑,這個名稱可以隨意修改
如果你的tomcat端口是 8080, 那么項目的訪問路徑就是 http://localhost:8080/ser
上傳時就會在D:\project\myProject\prjName\WebRoot\ 目錄中創建文件夾,不管你怎樣重啟項目,或者清理緩存,上傳的文件依然存在, 因為上傳的文件都已經存在於你的項目中,這樣方式只需要部署一次,沒有重新部署的說法

如果你是在eclipse中點來點去的部署項目,也就等於是把D:\project\myProject\prjName\WebRoot目錄的所有文件和文件夾都復制到了 /tomcat/webapps/prjName/目錄下,那么項目的訪問路徑就是 http://localhost:8080/prjName
上傳時就會在 /tomcat/webapps/prjName/ 目錄中創建文件夾,只要重新部署或清理緩存,上傳的文件都煙消雲散了,因為重新部署時,先刪除 /tomcat/webapps/prjName/ 目錄,再復制一遍D:\project\myProject\prjName\WebRoot目錄的所有文件和文件夾。

 

引於:http://blog.sina.com.cn/s/blog_5446eca40101ijpw.html


免責聲明!

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



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