在默認安裝后,tomcat的主目錄是webapps/root目錄,如果我們想改變tomcat的主目錄的話可以這樣做:
1.打開C:\Tomcat\conf\server.Xml,在<host></host>之間加入代碼:
<Context path="/" docBase="E:\tomcatApp\JeasyCMS" debug="0" reloadable="true" crossContext="true"/>
path為虛擬路徑,訪問時的路徑,注意:一定要加“/”
debug建議設置為0,reloadable設置為true。
這樣重新啟動tomcat,我們的主目錄就被設置為jeasyCMS這個項目了。
2.另外tomcat會生成一個C:\Tomcat\conf\Catalina\localhost目錄,里面自動生成了一個ROOT.Xml(root大寫)文件,我們打開文件可以看到這些代碼:
<?Xml version='1.0' encoding='utf-8'?>
<Context crossContext="true" docBase="E:/tomcatApp/JeasyCMS" path="" reloadable="true">
</Context>
3.注意:我們創建虛擬目錄的時候也是這樣來進行設置的,只使context這個標簽的path屬性不為空。
4. 我們設置虛擬目錄和主目錄,都會在C:\Tomcat\conf\Catalina\localhost目錄下生成相應的Xml文件,因此,當我們在 server.Xml里面刪除了主目錄和虛擬目錄的設置后,如果系統還沒有生效,這時候我們就要察看一下這個目錄下的Xml文件是不是已經被刪除了,如果 沒有被刪除,他還是對tomcat起作用的,我們必須手動刪除。
5.基於第4點,通過測試我發現,每當我們訪問一個地址的時 候,tomcat首先是到C:\Tomcat\conf\Catalina\ localhost目錄下去察看有沒有存在主目錄或虛擬目錄的Xml文件,如果有Xml文件,就按Xml里的路徑進行訪問,如果沒有Xml文件,就到 server.Xml文件里去察看是否配置context標簽,如果配置了context標簽,則在C:\Tomcat\conf\Catalina\ localhost目錄下生成一個對應的Xml文件,以便於下次直接驗證而不再訪問server.Xml,與此同時打開context里指定的路徑,如 果 server.Xml里沒有配置context標簽,則返回訪問錯誤頁面。
6.基於第5點,我們其實可以直接在C:\Tomcat\conf\Catalina\localhost下建立一個Xml文件,用於主目錄或者虛擬目錄,而不需要去修改server.Xml就可以達到配置主目錄和虛擬目錄的目的,具體Xml的格式可以如下:
<?Xml version='1.0' encoding='utf-8'?>
<Context crossContext="true" docBase="E:/tomcatApp/JeasyCMS" path="" reloadable="true">
</Context>
具體是主目錄的配置還是虛擬目錄的配置取決於path的值。另外主目錄文件名必須是ROOT.Xml(root大寫),而虛擬目錄的文件名稱和虛擬目錄的名稱一致並且為小寫,譬如:
<?Xml version='1.0' encoding='utf-8'?>
<Context crossContext="true" docBase="E:/tomcatApp/JeasyCMS" path="\cms" reloadable="true">
</Context>
以上則定義了一個名為:cms的虛擬目錄,同時要將以上文本保存為cms.Xml文件。
7.以上主目錄配置好后就可以按以下地址訪問了:
http://localhost:8080/(訪問主目錄)
http://localhost:8080/cms (訪問名為cms的虛擬目錄)
