1. 程式人生 > >Tomcat設定虛擬目錄

Tomcat設定虛擬目錄

首先,我們要知道虛擬目錄的好處。虛擬目錄不同於原始的Tomcat執行方式,原始的方式是把專案拷貝到webapps下,然後啟動tomcat,就可以訪問webapps下的專案。我們使用eclipse配置tomcat,實際上的原理也是這種方式。

但這種方式的弊端在於,webapps下的專案不是最新的動態,一旦我們修改了eclipse工作目錄下的專案,並不能立刻的反應到tomcat/webapps下。所以我們不得不編譯專案後,清除webapps下的快取,甚至要移除專案,然後在放進去。這樣來回折騰,大大降低了工作效率。我們只要改動一個小地方,就要重複的進行一次上面的工作。

聰明的人,總是懶惰的。我們想到能不能改變一下當前的方式,有一種更好的方式呢?這時候,虛擬目錄就浮現出來。

虛擬目錄的作用是把Web的釋出目錄直接定位到eclipse工作目錄下,實現實時更新,實時使用。

要配置虛擬目錄,我們需要在Tomcat/conf/catalina/localhost下根據專案命名“專案名.xml”,裡面的內容:

<?xml version="1.0" encoding="UTF-8"?>
<Context path="/cecb2b" docBase="E:\workspace\cecb2b\webContent" workDir="E:\workspace\cecb2b\word" reloadable="true" debug="1"></Context
>

屬性解釋:

  path:網路訪問名

  docBase:專案實際路徑

  wordDir:指定jsp轉換為java的存放目錄。這樣配置,免得移植的時候重新編譯jsp

  reloadable:指定當class檔案變化的時候,是否重新載入

  debug:是否是除錯模式

這樣,Web釋出目錄就直接指向了eclipse工作目錄下的專案。我們在eclipse下修改程式碼,只要一構建,tomcat自動重新載入。我們就不用來回移除專案了。

最後,我們還可以修改cong/web.xml中的:

        <init-param>
            <param-name>listings</param-name>
            <param-value>false</param-value>
        </init-param>

把false改為true。

 最後,我們需要注意的是,用eclipse建立Web專案,一定要是動態Web專案,然後在修改專案的一些屬性:

1、去掉Project--Build Automatically(自動構建)

2、屬性--Builders--除了Java Builder全部勾去(這樣專案構建速度大大加快)。

3、屬性--Java Build Path--Source--專案名/WebContent/WEB-INF/classes

 注意,tomcat7.0和以往不同:

<Context path="/vsearch" docBase="E:/workspace/vsearch2012/WebContent" reloadable="true" debug="5" crossContext="true" /> 

需要注意,xml檔名必須和path的名相同!