2012-08-23 53 views
1

我使用Tomcat 7.0.22怪異的行爲和DOCBASE

我想的網址:127.0.0.1:8080指向我的web應用程序是項目文件夾下位於代替127.0.0.1:8080/Project/

所以我在服務器定義.xml

<Context docBase="Project" path="/" /> 

這是我第一次啓動tomcat。

如果我採取以下措施:

  1. 停止Tomcat
  2. 刪除戰爭和項目文件夾
  3. 移動從部署服務器到Web應用程序文件夾中的戰爭
  4. 啓動Tomcat

再次 - 我必須鍵入127.0.0.1:8080/Project/才能到達應用程序。

如果我,除了上述4個步驟做:

  1. 停止Tomcat
  2. 啓動Tomcat

它工作正常,我可以在127.0.0.1:8080/

達到應用我能做些什麼來阻止額外的停頓並開始?

回答

3

幾個問題:

  1. 不要把<Context>server.xml。相反,請使用將[appname].xml文件放入conf/[service]/[engine]目錄的首選部署技術。對你而言,這可能意味着conf/Catalina/localhost

  2. 不要設置path可言,並且不要將其設置爲"/",如果你要設置:根Web應用程序的正確path""(空的,沒有/)。

  3. 讓您[appname].xml的名稱爲ROOT.xml

  4. 移動你的Project文件夾Tomcat的appBase(在webapps/目錄)之外,並使用一個完全合格的路徑名作爲docBase引用它。

你就可以避免上面,如果你做了只有兩件事情所有的錯誤:

$ mv webapps/Project webapps/ROOT 

...並刪除<Context>server.xml完全。

哦,你應該升級Tomcat:你目前有7個發行版,而且在這七個小版本中有一些好東西。

+0

所以,你其實意味着我需要擺脫tomcat的根文件夾,而是命名我的文件夾根,這就是它? – Dejell

+0

是的,這是正確的,只是文件夾名稱必須是「ROOT」(全部大寫)而不是「Root」(即使在不區分大小寫的文件系統中,情況也很重要。 –