1. 程式人生 > >tomcat配置虛擬路徑儲存、訪問圖片

tomcat配置虛擬路徑儲存、訪問圖片

一些專案中往往需要上傳一些圖片檔案之類,一般不建議直接儲存在資料庫內,往往是講圖片等資源儲存在伺服器的某個資料夾下,傳統做法是上傳到部署目錄下,通過相對路徑進行訪問。這樣當我們系統需要進行升級,進行全量更新的時候,就需要我們先將靜態資源拷貝出來,然後專案部署成功之後又複製進部署目錄。為了以後軟體版本升級的方便,這時就需要這些靜態資源放置在伺服器tomcat目錄外面。解決方法一般有兩種,第一種就是寫相關的action 處理使用者的訪問請求,如通過資料流來讀取圖片等。

例如:http://blog.csdn.net/yuancenyi/article/details/53327414

    這裡介紹第二種:配置tomcat的虛擬對映路徑

   1、修改Tomcat的server.xml檔案

複製程式碼
<Host name="localhost"  appBase="webapps"
            unpackWARs="true" autoDeploy="true">

        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
               prefix="localhost_access_log." suffix=".txt"
               pattern="%h %l %u %t &quot;%r&quot; %s %b"
/>
 <!-- 設定圖片虛擬路徑[訪問時路徑為/photo] -->  
<Context path="/photo" docBase="D:\upFiles" reloadable="true" /> <!-- 也可以這樣設定圖片虛擬路徑 --> <Host name="10.0.0.123" appBase="webapps" unpackWARs="true" autoDeploy="true"
xmlValidation
="false" xmlNamespaceAware="false"
>
<Context path="" docBase="F:\temp" reloadable="false" ></Context> </Host>
複製程式碼

其中path是對映的虛擬路徑(可視具體情況配置),docBase是靜態資源存放的真實物理路徑,reloadable指有檔案更新時,是否重新載入,一般設定為true後,tomcat不需要重啟啟動,自動熱載入!

這時把專案打成war包直接放在tomcat下,是沒問題的,執行後效果如下:

但是實際上我需要在eclipse中啟動專案,而在eclipse中並不能訪問到,嘗試了很多,並沒有成功。最後呀感謝:http://www.cnblogs.com/gccbuaa/p/7226139.html

在eclipse中配置Tomcat,會在workpace中生成一個server檔案,可以發現,工作目錄下的server並沒有改動。

這裡可以通過前面的方式直接在server中配置。

也可以通過eclipse來進行配置