我在Eclipse中开发了一个动态web项目。 我可以通过我的浏览器使用以下URL访问应用程序:

http://localhost:8080/MyDynamicWebApp

我想更改访问URL为:

http://localhost:8080/app

为此,我更改了项目“Properties | Web项目设置| context root”中的上下文根。 但是,web应用程序仍然具有相同的访问URL。我在Tomcat上重新部署了应用程序,并重新启动了Tomcat,但是访问URL与前面相同。

我发现WAR文件中没有附加server.xml文件。如果没有附加server.xml文件,Tomcat如何确定我的web应用程序的上下文根是/MyDynamicWebApp,并允许我通过这个上下文根URL访问应用程序?


当前回答

我只是想补充一点,如果你根本不想让你的应用程序名称在根上下文中,你只需在Eclipse—> Web项目设置—>上下文根条目中输入“/”(没有引号,只有正斜杠)

这将把web应用部署到http://localhost:8080/

当然,这将导致你试图在服务器上运行的其他web应用程序出现问题,所以要注意这一点。

我花了很长时间才把它拼凑起来…所以即使这篇文章已经8年了,希望它仍然能帮助到一些人!

其他回答

我只是想补充一点,如果你根本不想让你的应用程序名称在根上下文中,你只需在Eclipse—> Web项目设置—>上下文根条目中输入“/”(没有引号,只有正斜杠)

这将把web应用部署到http://localhost:8080/

当然,这将导致你试图在服务器上运行的其他web应用程序出现问题,所以要注意这一点。

我花了很长时间才把它拼凑起来…所以即使这篇文章已经8年了,希望它仍然能帮助到一些人!

在java项目中,打开。settings文件夹。在那里找到名为“org.eclipse.wst.common.component”的文件。更改标签<wb-module deploy-name="NEW_NAME"> . txt。

此外,您可能希望更改项目属性中的上下文根

如果使用maven java ee 7/8企业应用程序,需要编辑EAR项目的pom.xml

<build>
    <plugins>
        ...
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-ear-plugin</artifactId>
            <version>2.8</version>
            <configuration>
                <version>6</version>
                <defaultLibBundleDir>lib</defaultLibBundleDir>
                <modules>
                    <webModule>
                        <groupId>com.sample</groupId>
                        <artifactId>ProjectName-web</artifactId>
                        <contextRoot>/myproject</contextRoot>
                    </webModule>
                </modules>
            </configuration>
        </plugin>
        ...
    </plugins>
</build>

我尝试了Russ Bateman提出的解决方案

http://localhost:8080/Myapp至http://localhost:8080/somepath/Myapp

但没有工作为我,因为我需要一个*。War文件,可以保存配置,而不是我的本地机器上的服务器的个别实例。

参考

为了做到这一点,我需要jboss-web.xml放在WEB-INF

<?xml version="1.0" encoding="UTF-8"?>
 <!--
Copyright (c) 2008 Object Computing, Inc.
All rights reserved.
-->
<!DOCTYPE jboss-web PUBLIC "-//JBoss//DTD Web Application 4.2//EN"
"http://www.jboss.org/j2ee/dtd/jboss-web_4_2.dtd">

  <jboss-web>
  <context-root>somepath/Myapp</context-root>
  </jboss-web>

Apache tomcat将项目上下文路径保存在server.xml路径中。 对于Eclipse上的每个web项目,都有一个可以更改的标签。 假设服务器上部署了两个或三个项目。 对于存储在其中的每个上下文路径。 该标记位于eclipse上创建的Server中的Server .xml文件中。

我有一个项目在上下文根路径在服务器是:

<Context docBase="Test" path="/test" reloadable="true" source="org.eclipse.jst.jee.server:Test1"/>

此路径表示web应用程序的上下文路径。 通过改变这个路径,你的web应用上下文路径也会改变。