Spring, kontekst, web.xml - konfiguracja

0

Witam.

Zaczynam naukę Spring-a i mam pytanie odnośnie konfiguracji a konkretnie tego co widnieje w adresie URL mojego przykładu i skąd to się bierze:
http://localhost:8080/HelloWeb/hello

Chodzi mi o część adresu /HelloWeb/.
Początkowo myślałem że bierze się to z konfiguracji w pliku web.xml

<web-app id="WebApp_ID" version="2.4"
   xmlns="http://java.sun.com/xml/ns/j2ee" 
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 
   http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">

   <display-name>Spring MVC Application</display-name>

   <servlet>
      <servlet-name>HelloWeb</servlet-name>
      <servlet-class>
         org.springframework.web.servlet.DispatcherServlet
      </servlet-class>
      <load-on-startup>1</load-on-startup>
   </servlet>

   <servlet-mapping>
      <servlet-name>HelloWeb</servlet-name>
      <url-pattern>/</url-pattern>
   </servlet-mapping>
 
</web-app>

Ale tak nie jest.
Swój projekt buduję przy użyciu mavena.
Oto istotne fragmenty pliku pom.xml

<groupId>org.springbyexample.web</groupId>
<artifactId>X-5</artifactId>
<version>1.1.4</version>
<packaging>war</packaging>
<name>Simple Spring MVC</name>
<description>
	This is an example.
</description>


<build>
    <finalName>HelloWeb</finalName>
</build>

To /HelloWeb/ bierze się z konfiguracji pliku pom.xml sekcja build/finalName.

Jeśli w tej sekcji napiszę:

<build>
    <finalName>XYZ</finalName>
</build>

To mam:
http://localhost:8080/XYZ/hello

Jeśli tą sekcję usunę to zmienia się adres na:

http://localhost:8080/X-5-1.1.4/hello

Ta nowa nazwa sklejana jest z innej części konfiguracji w pom.xml

<artifactId>X-5</artifactId>
<version>1.1.4</version>

Jak nad tym zapanować i sprawić ażeby ta nazwa nie zależała od tego co jest w pom.xml ?

Pozdrawiam.

0

Ta nazwa nie zależy od tego co w pom.xml, tam masz zdefiniowaną tylko nazwę wara. Ten url zależy od tego jak deployujesz aplikacje w kontenerze/serwerze aplikacyjnym.

0

To mi się wiele wyjaśniło.
Teraz mam tak:

  1. Jeśli robię samego WAR-a
            <plugin>
                <artifactId>maven-war-plugin</artifactId>
                <version>2.6</version>
                <configuration>
                <warName>MojaAplikacja</warName>
                </configuration>
            </plugin>
  1. Jeśli uruchamiam przykład na serwerze Jetty

            <plugin>
                <groupId>org.mortbay.jetty</groupId>
                <artifactId>maven-jetty-plugin</artifactId>
                <version>6.1.10</version>
                <configuration>
                    <scanIntervalSeconds>10</scanIntervalSeconds>
                    <contextPath>/MojaAplikacjaJetty</contextPath>
                </configuration>
            </plugin>

Wielkie dzięki za pomoc,
pozdrawiam.

1 użytkowników online, w tym zalogowanych: 0, gości: 1