我的Java Web應用程序在war文件中包含配置文件(例如myapp.xml)。我在我的web.xml文件中提供了這個文件的路徑,如下所示。Tomcat web.xml配置變量
<servlet>
<servlet-name>wc</servlet-name>
<servlet-class>com.myapp.servlets.WC</servlet-class>
<init-param>
<param-name>configfile</param-name>
<param-value>${catalina.base}/webapps/myapp/WEB-INF/myapp.xml</param-value>
</init-param>
</servlet>
的問題是,我現在要用於測試和開發的同一服務器上部署各種版本而且每次都會有下的webapps不同的路徑。我想避免修改每個部署的web.xml文件,但我找不到任何引用WEB-INF文件夾的方法。
這是我希望做什麼:
<servlet>
<servlet-name>wc</servlet-name>
<servlet-class>com.myapp.servlets.WC</servlet-class>
<init-param>
<param-name>configfile</param-name>
<param-value>${app.base}/myapp.xml</param-value>
</init-param>
</servlet>
凡$ {} app.base == $ {} catalina.base/webapps /下的myapp/WEB-INF
是有一些可用的變量,會給我的應用程序目錄的路徑?
如果不是,你能想出其他方法來完成這個嗎?
我知道我可以給這樣的tomcat變量,但那不能回答我的問題。我想在該web應用程序的web.xml中引用當前部署的應用程序的路徑。有了這個解決方案,我將不得不爲所有預期的部署提供變量,並仍然修改web.xml以引用與該預期部署相關的變量。 – 2012-08-06 18:56:41
爲什麼你需要絕對路徑?你可以(也應該)使用相對路徑。查看我的更新 – Bozho 2012-08-06 19:35:32
感謝您的更新。你展示的內容將允許我訪問代碼中的應用程序資源,但我不知道如何將它轉換爲我可以放在我的web.xml中以引用myapp.xml ... – 2012-08-06 20:21:07