gpt4 book ai didi

java - 单独 WAR 中的 Servlet - 部分共享其上下文根

转载 作者:行者123 更新时间:2023-11-30 02:53:05 25 4
gpt4 key购买 nike

对于 Web 服务项目,我需要在我的 Web 服务器上安装 Java EE Web 的两个 API 版本

  • example.com/myservice/v1
  • example.com/myservice/v2

分离不同版本的最安全方法似乎是将它们部署在不同的 WAR 文件中,一个用于 v1,一个用于 v2

我使用 jboss-web.xml 中的这些条目创建并部署了两个 JBoss 6 Java EE 6 Web Profile 应用程序:

<?xml version="1.0" encoding="UTF-8"?>
<jboss-web>
<context-root>/test/v1</context-root>
</jboss-web>

<?xml version="1.0" encoding="UTF-8"?>
<jboss-web>
<context-root>/test/v2</context-root>
</jboss-web>

两个 war 文件都已部署并运行,没有错误。 JBoss 并没有提示他们使用相同的根上下文部分 /test

这是 servlet 容器的标准行为(指定)还是只是 JBoss 功能且不保证可移植?

最佳答案

例如,Glassfish 的 Oracle 文档说 A context root must start with a forward slash (/); and end with a string - 上下文根内没有斜线限制。

另一个例子是 JBoss 文档,其中有 an example of two web applications with nested context roots (paragraph 1) .

Tomcat 还支持嵌套上下文路径 - 请参阅 Apache Context Configuration doc 的命名部分.

规范中也没有要求上下文根内部不能有斜杠。我认为这意味着,与任何其他功能一样,您可以假设它可以在您的应用程序服务器上运行,但它的配置方式可能有所不同,当然,您必须在移动到另一个容器之前测试您的应用程序。

关于java - 单独 WAR 中的 Servlet - 部分共享其上下文根,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38049157/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com