000339 關於tomcat設置虛擬目錄,讓javaweb輕松訪問本地磁盤某個目錄下的圖片 (windows | linux)


此場景主要用於實現javaweb輕松訪問網站目錄之外的文件,如果使用java文件讀取,則效率不好,不如使用tomcat的目錄映射

==================windows下==================

假如我在d盤目錄  d:\img下有一張一圖片abc.jpg,那么:

 

  如果你用的是eclipse,那么,打開eclipse當前使用的Servers中的tomcat,目錄下有個server.xml,找到<Host></Host>標簽對,在中間加入<Context path="/matrix" docBase="d:\img" debug="0" reloadable="true" crossContext="true" />

  注意斜杠和反斜杠

 

  

 

  在jsp中,可以像這樣使用:  <img src="/matrix/abc.jpg" />

 

 

  如果你使用的是idea

   原文:  https://blog.csdn.net/cheney550995353/article/details/70185282

  

1.使用tomcat自己的虛擬路徑

1.1.在tomcat\config\server.xml中配置

path="/upload" 虛擬路徑

E:\photo\upload 圖片存放的真實路徑

 <Context  path="/upload"  docBase="E:\photo\upload" reloadable="true"/></Host>

1.2.將Deploy applications configured in Tomcat instance勾上

2.用idea設置虛擬路徑

2.1.Deploy applications configured in Tomcat instance不要勾上

2.2.設置虛擬路徑

設置成功后,此文件夾的資源就可以像webapps/ROOT文件夾下訪問一樣了

 

====================linux下==========================

一、tomcat的默認虛擬根目錄和虛擬目錄
在tomcat安裝目錄下的webapps的ROOT目錄為tomcat默認虛擬根目錄,啟動tomcat后,在地址欄敲入地址默認訪問的是該目錄下的index.jsp,所以顯示的是tomcat默認的歡迎頁面。
tomcat只能有一個默認根目錄,一個 默認根目錄只能映射一個 “文件系統目錄”。
在tomcat安裝目錄的conf目錄下的server.xml文件的Host元素中定義了默認的虛擬目錄。
默認的配置如下:
<Host appBase="webapps" autoDeploy="true" name="localhost" unpackWARs="true">
其中name屬性:主機名稱,appBase屬性:基准目錄 ,基准目錄下的Root 目錄自動設置為根目錄。
 
二、如何修改虛擬根目錄
將需要發布的web應用放到tomcat默認的發布目錄webapps中
 
在tomcat的安裝目錄下找到conf目錄的server.xml
vim打開server.xml
在Host節點加入context節點
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true">
 
<Context path="/" docBase="ishare" reloadable="true"></Context>
其中webapps和docBase可以是相對路徑,也可以是絕對路徑,docBase相對路徑是相對Host的appBase的相對路徑所以前面不能有/
 
這樣綁定域名后或直接訪問地址就可以訪問你的應用,而不要再在域名或訪問IP后帶應用上下文目錄訪問了。
三、如何增加多個虛擬目錄
一個文件系統目錄(docBase)可以被映射成多個虛擬目錄(path),即不同的path可以對應相同的docBase,一個虛擬目錄就是一個獨立的web應用程序
如:
在server.xml的Host節點加入context節點
<Context docBase="/home/health/webapps/chp_index" path="" reloadable="false" debug="0"/>
<Context docBase="/home/health/webapps/chp_wap" path="/chp_wap" reloadable="false" debug="0"/>
<Context docBase="/home/health/webapps/chp_manage" path="/chp_manage" reloadable="false" debug="0"/>
這里就配置了3個虛擬目錄分別對應3個獨立的web應用。

 


免責聲明!

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



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