2013-01-07 18 views
2

新手問題。在Tomcat中的默認應用

我在我的Ubuntu盒子上安裝了Tomcat,並讓它工作,但我無法理解docBase上下文(以及我猜,通常所指的上下文是什麼)。

我正在使用不同的CATALINA_BASE = ~/dev/tomcat,以及我的webapps目錄等。我放了這行

<Context path="" docBase="/home/.../tomcat/webapps"/> 

在server.xml文件中;我認爲這是告訴Tomcat在哪裏尋找它的目錄。但我正在閱讀的教程暗示(不,我說)應該將

<Context path="" docBase="/home/.../tomcat/webapps/ROOT"/> 

放在server.xml文件中。

這是正確的嗎?如果是這樣,這兩條線是做什麼的? (如果某處有某個文檔清楚地解釋了所有這些內容,請將它引薦給我,但我無法找到其中一個 - 關鍵詞清楚)。

回答

2

上下文或多或少是「webapp上下文」。它描述了什麼是部署以及在哪裏/如何訪問它。 docBase是戰爭的位置,path是端點url。

它必須在服務器上是唯一的。

通常ROOT是部署在MYSERVER:8080 /(PATH = 「」)和mywebapp MYSERVER上:8080/uhuh(PATH = 「uhuh」)

默認情況下,如果不指定path的tomcat部署應用程序並設置戰爭名稱的路徑。

Context指令位於Host指令中以覆蓋默認行爲。 Host具有appBase屬性。這個屬性聲明瞭在哪裏可以找到額外的部署戰爭。通常,它們會自動部署在tc上,並啓動默認設置。

HIH

+0

我想我明白了。但我在我的webapps目錄中有一個「測試」子目錄,我只是用它來表示這些子目錄,並沒有相應的子目錄。然而localhost:8080/test/stuff按我的預期工作(在適當的web.xml編輯之後)。所以,至少對於部署在我的webapps目錄下的東西,我需要一個Context嗎? (我看到如何在其他地方部署的東西需要它)。感謝您的迴應。 – rogerl

+0

如果您對默認行爲感到滿意(映射/ webapps/test以測試,自動重新加載...),則不會。實際上,tomcat會爲你默默地創建一個Context。否則,您需要在server.xml中創建一個Context來覆蓋基本配置。 – poussma

+0

謝謝。現在都清楚了。 – rogerl