Tomcat虛擬路徑問題

項目過程中有一個這樣的業務:

用戶上傳圖片到後臺服務器,服務器將圖片保存到項目的upload路徑,然後可以顯示在前臺界面。

(以前我錯誤的把上傳路徑設置到了項目代碼,好蠢啊我)現在明白了,前臺可以直接訪問webapp裏面的文件,因爲已經發布了嘛

總結一下:

1.在一般的項目中,可以直接保存到session.getServletContext().getRealPath("/")+"upload/"+id+"/";//+file.getOriginalFilename();這樣的路徑。這是很普通的一種做法。

2.加入文件很多,不應該放到項目路徑裏面,這樣會導致整個項目佔用很大的空間,個人認爲業務和數據應該分離,所以,第二種方法就是使用Tomcat的虛擬路徑。

什麼是虛擬路徑?

就是告訴Tomcat服務器我有一個路徑(實際上不存在)指向服務器的硬盤(不一定是硬盤)的某個位置,當應用程序訪問這個虛擬路徑的時候,服務器會把指針指向這個實際存在的位置。比如需要上傳保存大量的用戶圖片,我們可以設置一個虛擬路徑,將文件保存在這個路徑,方便管理也減少項目內存的佔用(轉移個位置,具體應該還有其他的影響比如服務器性能)。

如何設置虛擬路徑?

打開%TOMCAT_HOME%\conf\server.xml文件
 在 <host> </host>之間加入如下代碼: <Context path="/web" docBase="E:\myweb"
debug="0" reloadable="true"/>
啓動tomcat後,就可以在url上這樣訪問localhost:port/web/


實際上用到最多的是第二種,可以看項目和實際情況來決定!


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章