Как избавиться от префикса каталога в URL веб-сервера Java? - PullRequest
1 голос
/ 22 сентября 2010

Я использую Maven с Jetty / Tomcat.Мой pom.xml объявляет идентификатор моего приложения как <artifactId>webapp</artifactId>.Следовательно, весь мой источник в веб-приложении находится в src/main/java/webapp.Теперь, когда я запускаю какой-либо из веб-серверов, мой URL-адрес выглядит следующим образом:

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

, и я не нашел подсказки, которая говорит мне, как избавиться от имени приложения или каталога и создать URL-адресвыглядеть так:

http://localhost:8080/index.html

Есть какие-нибудь подсказки?

Ответы [ 2 ]

2 голосов
/ 22 сентября 2010

Несколько способов сделать это:

  • В Tomcat переименуйте webapp.war в ROOT.war (обратите внимание на заглавные буквы)
  • Настройте Apache поверх этого и создайте правило перезаписи для указания корневого каталога на правильное веб-приложение.
  • Использовать Jetty's contextPath
1 голос
/ 22 сентября 2010

Предполагая, что вы имеете в виду использование моджо jetty:run и tomcat:run (если нет, укажите, что вы имеете в виду):

В Jetty используйте аргумент contextPath :

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

В Tomcat это путь аргумент

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