【问题标题】:Setting Context Path in Tomcat7 to change ROOT在Tomcat7中设置上下文路径以更改ROOT
【发布时间】:2013-12-09 06:39:04
【问题描述】:

所以,这个问题的反面已经被问过并在这里回答:How to set the context path of a web application in Tomcat 7.0。但是,我的应用程序被部署为“ROOT”,我需要它在“my-path”中可用,而不是在“my-path”中部署它并需要它在“ROOT”中可用。我正在尝试 Amazon 的 Elastic Beanstalk 产品,部署的战争总是会进入 ROOT。我对此没有任何控制权,也没有留下 .war 文件。我试图用上述主题来解决我的问题,但似乎将 ROOT 指向另一条路径不起作用,而将另一条路径指向 ROOT 确实有效。

我必须创建一个 AMI,以便在我不接触新实例的情况下进行自动缩放。我唯一能做的就是在 webapps 文件夹中创建一个符号链接,将“my-path”指向“ROOT”。我不知道此设置是否会产生重大影响,并且想知道是否存在以及可能有什么替代方案可以使用 Tomcat 的设置,甚至是其他非 Tomcat 解决方案。

谢谢!

更新:一旦我在 webapps 文件夹中创建了带有符号链接的 AWS AMI,并实际更改了 Elastic Beanstalk 中的 AMI,我发现我的原始解决方案将无法正常工作,因为 Beanstalk 会清除整个 webapps 目录。

【问题讨论】:

    标签: java tomcat amazon-web-services amazon-ec2 contextpath


    【解决方案1】:

    执行此操作的一种方法是将应用程序部署为 ROOT,但对其进行配置,以便所有资源都位于 ROOT Web 应用程序中的路径 /my-app 下。

    对于部署为 ROOT 的现有应用程序,这需要:

    • 将“my-app”目录添加到 Web 应用程序的根目录,并将所有静态资源从 Web 应用程序的根目录移至“my-app”目录。
    • 将路径“/my-app”添加到 web.xml 和/或注释中所有 URL 路径的开头

    【讨论】:

    • 根据我上面的更新,我刚刚了解到我实际上根本无法在 webapp 目录中放置任何其他内容。感谢您的时间和建议。
    猜你喜欢
    • 2019-01-17
    • 1970-01-01
    • 1970-01-01
    • 2012-03-13
    • 2022-01-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-17
    相关资源
    最近更新 更多