關于虛拟路徑。在學習javaweb的教育訓練課程,今天老師給出了這樣一個場景。
當我們的項目,在有一個項目不同的目錄的時候,我們如何去使用tomcat去管理web項目。
老師提出的解決方案是 利用虛拟路徑的方式,并且按照如下方式對tomcat進行配置。使得
tomcat可以管理不同目錄上的項目。
我的問題:項目不是轉換成war包釋出到tomcat上嗎,然後放在了webapps目錄下面嗎?
或者直接把項目放置webapps下面。
1.為什麼有可能出現 管理不同目錄下的web項目呢?
2.上面兩種方式,處理web項目的釋出都可以tomcat伺服器的網站可以通路。那麼上面兩種
方式有什麼差別?
那麼我最終的我了解是,Tomcat畢竟是伺服器web項目管理軟體,那麼有可能會出現,伺服器的某個
盤符容量不夠的情形。
那麼通過虛拟路徑的方式來管理不同盤符下的web想目便有了它的意義。
貼上配置方式:
虛拟路徑 : 将其他位置的web添加到tomcat中進行管理
* 浏覽器通路:
* 方式1:需要給tomcat進行配置
* 位置:%tomcat%/conf/server.xml
* 結構(内容)
<Server port="8005" shutdown="SHUTDOWN"> #表示服務配置,相當于酒店
<Service name="Catalina"> #具體服務,比如:吃飯
<Connector port="8080" protocol="HTTP/1.1"/> #連接配接,比如:伺服器員
<Connector port="8009" protocol="AJP/1.3"/>
<Engine name="Catalina" defaultHost="localhost">#引擎:後廚
<Host name="localhost" appBase="webapps"> #主機:梁師傅
### Host的名稱必須唯一
</Host>
<Host name="" appBase="webapps"> #主機:康師傅
</Engine>
</Service>
</Server>
* 配置内容
在<Host>标簽内部配置如下code:
<Context path="web3" docBase="F:/web"/>
#####是以此處類似于添加了一種映射關系,讓tomcat server可以通過path值來通路docbase的實際位置下的項目
重新開機tomcat之後可以在tomcat的服務頁面的manager中看到,項目已經部署

既然在上面的截圖上面都已經顯示了,那麼直接在url裡面去敲位址也是ok的啦
* 方式2:
* 添加一個配置檔案(xml檔案),位置:%tomcat%/conf/引擎名稱/主機名稱/
* Context path就是xml檔案的檔案名,例如:web4.xml
* 内容:<Context docBase="F:/web"/>
* 通路:
* tomcat預設值:
<Engine name="Catalina"> 引擎名稱
<Host name="localhost"/> 主機名稱
實際上就是在這個目錄下配置:E:\DevelopSoftware\apache-tomcat-7.0.42\conf\Catalina\localhost
映射關系就成了:檔案名(相當于第一種配置下的path)<->dacBase之間的映射。
上面的方法上解決了将一個不同目錄下的web項目添加到了tomcat下進行管理,那麼如果是多個項目呢?
<Host name="localhost" appBase="webapps"> 這部分代碼是在server.xml中預設配置的代碼,很顯然
我們可以看出,通路web項目的時候,url是這樣的:
就可以通路到webapps下面的所有項目。
那麼引出虛拟主機的方式。和上面的預設主機的方式類似 如下:
<Host name="主機名稱" appBase="F:\mywebapps"> #主機:梁師傅
</Host>