Tomcat設置虛擬目錄的方法, 不修改server.xm

在tomcat文件夾的 conf\catalina\localhost增長project .xml文件
文件內容:
<Context path="/project" reloadable="true" docBase="E:\javastudio\oob" workDir="E:\javastudio\oob\work" />
  • docBase是項目文件夾的web-inf文件夾的上一層目錄
  • workDir是指Tomcat解析Jsp轉換爲Java文件,並編譯爲class存放的文件夾,設置 在項目文件夾裏面,能夠避免移植到其餘地方首次讀取jsp文件須要從新解析 。通常格式:項目文件夾\work
  • reloadable是指能夠從新加載,通常設置爲true,方便使用,不須要常常重啓Tomcat。
之後啓動Tomcat,在瀏覽器輸入 http://localhost:8080/project就能訪問該項目的welcome文件。
 
***************
爲何要不修改server.xml呢?在Tomcat6的doc幫助文檔中,官方是不提倡修改 server.xml來添加虛擬目錄的!
       而我認爲,以上使用的方法,很是方便於項目的移植,移植後,只有修改docBase和workDir的值就好了,甚至能夠去掉workDir這個屬性!
 

*************** java


又發現了一篇不錯的文章 web

轉自:http://blog.csdn.net/yiluoak_47/article/details/12503737 瀏覽器


首先,咱們要知道虛擬目錄的好處。虛擬目錄不一樣於原始的Tomcat運行方式,原始的方式是把項目拷貝到webapps下,而後啓動tomcat,就能夠訪問webapps下的項目。咱們使用eclipse配置tomcat,實際上的原理也是這種方式。 緩存

但這種方式的弊端在於,webapps下的項目不是最新的動態,一旦咱們修改了eclipse工做目錄下的項目,並不能馬上的反應到 tomcat/webapps下。因此咱們不得不編譯項目後,清除webapps下的緩存,甚至要移除項目,而後在放進去。這樣來回折騰,大大下降了工做 效率。咱們只要改動一個小地方,就要重複的進行一次上面的工做。 tomcat

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

虛擬目錄的做用是把Web的發佈目錄直接定位到eclipse工做目錄下,實現實時更新,實時使用。 app

 

要配置虛擬目錄,咱們須要在Tomcat/conf/catalina/localhost下根據項目命名「項目名.xml」,裏面的內容: eclipse

<?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>

 

屬性解釋: webapp

  path:網絡訪問名 jsp

  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項目,而後在修改項目的一些屬性:

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

二、屬性--Builders--除了Java Builder所有勾去(這樣項目構建速度大大加快)。

三、屬性--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的名相同!

相關文章
相關標籤/搜索