Posted on 2008-08-21 14:48
Qzi 閱讀(817)
評論(0) 編輯 收藏 所屬分類:
錯誤總結
在tomcat的目錄conf\Catalina\localhost下,可以增加xml文件,來指向file系統中任意一處作為網站系統的子根目錄,例如:
atcs.xml文件:
<!--
Context configuration file for the Tomcat Host Manager Web App
$Id: host-manager.xml 303743 2005-03-11 22:39:26Z remm $
-->
<Context path="/atcs" docBase="D:\WorkSpace\Huadu_Atcs3\WebContent"
privileged="true" antiResourceLocking="false" antiJARLocking="false">
</Context>
其中docBase指向站點的根目錄,path與文件名相同(在此為atcs),這個path最好也要與docBase下的WEB-INF下的web.xml里面的
<context-param>
<param-name>webAppRootKey</param-name>
<param-value>atcs.root</param-value>
</context-param>
paraam-value相同。
三者相同的情況下,才可以正確的訪問網站(訪問方式:http://localhost:8080/atcs)這樣就作為localhost的一個子站點可以運行了。
常見錯誤:多個工程目錄下的web.xml文件的<param-value>atcs.root</param-value>相同,就算在tomcat的conf下配置不同的名,例如配置atcs2.xml指向另外一個工程目錄,但是恰巧那個工程下的web.xml里面也配置相同的webAppRootKey,那么將會出現其中一個工程不能夠訪問的問題。
網頁出現經典的The requested resource (/atcs/) is not available錯誤!
問題發現方法:在myEclipse下配置log4j,之后會將一些不會報出來的錯誤亦會報出來,根據信息就可以發現是相同的webAppRootKey覆蓋問題。在此我的log4j的報錯信息:
Web app root system property already set to different value: 'atcs.root' = [D:\workspace2\Huadu_Atcs3\WebContent\] instead of [D:\WorkSpace\Huadu_Atcs3\WebContent\] - Choose unique values for the 'webAppRootKey' context-param in your web.xml files!
log4j的配置問題參考:http://www.tkk7.com/jianyue/archive/2008/08/21/223500.html