標籤:tomcat 虛擬路徑的配置 server.xml配置
關於虛擬路徑。在學習javaweb的培訓課程,今天老師給出了這樣一個情境。當我們的項目,在有一個項目不同的目錄的時候,我們如何去使用tomcat去管理web項目。老師提出的解決方案是 利用虛擬路徑的方式,並且按照如下方式對tomcat進行配置。使得tomcat可以管理不同目錄上的項目。
我的問題:項目不是轉換成war包發布到tomcat上嗎,然後放在了webapps目錄下面嗎?或者直接把項目放置webapps下面。1.為什麼有可能出現 管理不同目錄下的web項目呢?2.上面兩種方式,處理web項目的發布都可以tomcat伺服器的網站可以訪問。那麼上面兩種方式有什麼區別? 那麼我最終的我理解是,Tomcat畢竟是伺服器web專案管理軟體,那麼有可能會出現,伺服器的某個盤符容量不夠的情形。那麼通過虛擬路徑的方式來管理不同盤符下的web想目便有了它的意義。貼上配置方式:虛擬路徑 : 將其他位置的web添加到tomcat中進行管理
* 瀏覽器訪問: http://localhost:8080/web3/1.html
* 方式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="www.itheima.com" appBase="webapps"> #主機:康師傅
</Host>
</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"/>
* 訪問:http://localhost:8080/web4/1.html
* 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是這樣的:http://localhost:8080/ 就可以訪問到webapps下面的所有項目。那麼引出虛擬機器主機的方式。和上面的預設主控件的方式類似 如下:<Host name="主機名稱" appBase="F:\mywebapps"> #主機:梁師傅
</Host>