2012-11-27 40 views
1

我開發了一個使用STRUTS 2.0的基於Web的應用程序,並且我想部署它。我想要部署兩個或多個不同的實例,一個用於用戶測試,一個用於生產等。我想添加像我的URL一樣的命名空間必須是更改部署的Web應用程序的URL

http:\ mysitename \ abc \ development \ login.jsp用於開發環境 http:\ mysitename \ abc \ testing \ login.jsp用於測試環境。

我想創建一個測試項目,一個用於開發項目等等的獨立副本。

但我能做些什麼就像在URL中添加像開發或測試這樣的名稱,以便可以很容易地識別哪個環境正在運行。並且我不需要更改我的項目中的圖像路徑和css文件路徑。

喜歡的東西事先編輯我在struts.xml或web.xml中

感謝

回答

1

我想補充的命名空間就像我的網址必須是http:\ mysitename \ ABC \研發\ login.jsp的用於測試環境的開發環境http:\ mysitename \ abc \ testing \ login.jsp。

您可以改爲部署不同的應用程序上下文。像http://host/devhttp://host/test/這樣做你不需要做任何特別的配置文件。你可以用名字dev.war或test.war(或重命名它)來生成戰爭,然後部署它。

+1

感謝Ck ...我認爲這對我很有用 –

1

如果你做得很好,而且你不會在你的web應用程序代碼中對上下文路徑進行硬編碼,那麼就沒有這種努力。

下面是我用做:

1 - 寫在所有JPS進口JSP。我們稱之爲taglibs.jsp並定義一個包含動態獲取的上下文路徑的變量。

... 
<c:set var="ctx" value="${pageContext.request.contextPath}"/> 
... 

2 - 進口taglibs.jsp在你想使用它,就可以使用該變量在jsp:

<%@ include file="/taglibs.jsp"%> 

3 - 使用ctx變量:

同爲圖像,JavaScript和其他。

因此,這樣做,您的應用程序將不依賴於上下文路徑,並且需要不同的版本才能更改戰爭名稱。

+1

謝謝jddsantaella ...這也很好。 –