1

我已经使用 STRUTS 2.0 开发了一个基于 Web 的应用程序,我想部署它。我想部署两个或多个不同的实例,一个用于用户测试,一个用于生产等。我想添加命名空间,例如我的 URL 必须是

http:\mysitename\abc\development\login.jsp 用于开发环境 http:\mysitename\abc\testing\login.jsp 用于测试环境。

我正在考虑为我的项目创建一个单独的副本,一个用于测试,一个用于开发等等。

但是我可以做一些事情,比如在 URL 中添加开发或测试等名称,以便可以轻松识别正在运行的环境。并且我不需要更改项目中的图像路径和 css 文件路径。

像编辑我的 struts.xml 或 web.xml

提前致谢

4

2 回答 2

1

我想添加命名空间,例如我的 URL 必须是 http:\mysitename\abc\development\login.jsp 用于开发环境 http:\mysitename\abc\testing\login.jsp 用于测试环境。

您可以改为部署不同的应用程序上下文。喜欢http://host/devhttp://host/test/为此您不需要在配置文件中做任何特别的事情。您可以使用名称 dev.war 或 test.war(或重命名)生成战争,然后部署它。

于 2012-11-27T09:25:31.520 回答
1

如果你做得正确并且你没有在你的 web 应用程序代码中硬编码你的上下文路径,那么就没有这样的努力。

这是我用来做的事情:

1 - 编写在所有 jps 中导入的 JSP。让我们调用它taglibs.jsp并定义一个包含动态获取的上下文路径的变量。

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

taglibs.jsp2 -在你想使用它的jsp中导入,这样你就可以使用变量:

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

3 - use ctx variable:

The same for images, javascript and whatever.

So, doing this, your application will not depend on the context path and for having to different versions you just need to change the war name.

于 2012-11-27T09:27:30.033 回答