如何摆脱Java Web服务器URL中的目录前缀?

时间:2010-09-22 08:58:49

标签: java maven-2 tomcat jetty

我正在使用Maven和Jetty / Tomcat。我的pom.xml将我的应用程序的ID声明为<artifactId>webapp</artifactId>。因此,我的所有webapp源都位于src/main/java/webapp。现在,每当我运行任何网络服务器时,我的网址都是这样的:

http://localhost:8080/webapp/index.html

我还没有找到一条线索告诉我如何摆脱应用程序或目录名称,并使URL看起来像这样:

http://localhost:8080/index.html

任何提示?

2 个答案:

答案 0 :(得分:2)

你可以通过几种方式做到这一点:

  • 在Tomcat中,将webapp.war重命名为ROOT.war(请注意大小写)
  • 在此基础上配置Apache并创建重写规则,以指向root以更正webapp。
  • 使用Jetty的contextPath

答案 1 :(得分:1)

假设您的意思是使用jetty:runtomcat:run mojos(如果没有,请说明您的意思):

在Jetty中,使用contextPath参数:

<plugin>
    <groupId>org.mortbay.jetty</groupId>
    <artifactId>maven-jetty-plugin</artifactId>
    <!-- version omitted -->
    <configuration>
        <contextPath>/</contextPath>
        <!-- other config -->
    </configuration>
</plugin>

在Tomcat中,它是path参数

<plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>tomcat-maven-plugin</artifactId>
    <!-- Version omitted -->
    <configuration>
        <path>/</path>
        <!-- Other configuration -->
    </configuration>
</plugin>