所在小組使用的就是這樣的形式開發,這樣切換開發環境,測試環境,正式環境就只需要修改project.xml文件就行了。project.xml命名是隨意的,訪問的時候就使用這個名字來訪問。
- docBase是項目文件夾的web-inf文件夾的上一層目錄
- workDir是指Tomcat解析Jsp轉換為Java文件,並編譯為class存放的文件夾,設置 在項目文件夾里面,可以避免移植到其他地方首次讀取jsp文件需要重新解析 。一般格式:項目文件夾\work
- reloadable是指可以重新加載,一般設置為true,方便使用,不需要經常重啟Tomcat。
***************
又發現了一篇不錯的文章
轉自:http://blog.csdn.net/yiluoak_47/article/details/12503737
首先,我們要知道虛擬目錄的好處。虛擬目錄不同於原始的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的名相同!