Как настроить корневой путь в приложении на Spring MVC?

Как изменить context path приложения WAR, развернутого в контейнере Tomcat 9 Docker, при конфигурации Java аннотациями без использования Spring Boot?
  • 29 июля 2024 г. 15:43
Ответы на вопрос 2
1. Настройка корневого пути в приложении на Spring MVC:

Для настройки корневого пути в приложении на Spring MVC можно воспользоваться аннотацией `@RequestMapping` и указать значение "/" в качестве пути для контроллера или метода контроллера. Например:

```java
@Controller
@RequestMapping("/")
public class HomeController {
    
    @RequestMapping("/")
    public String home() {
        return "index";
    }
}
```

В данном примере контроллер HomeController будет обрабатывать запросы к корневому пути приложения.

2. Изменение context path приложения WAR, развернутого в контейнере Tomcat 9 Docker:

Для изменения context path приложения WAR, развернутого в контейнере Tomcat 9 Docker, при конфигурации Java аннотациями без использования Spring Boot, можно воспользоваться настройкой в файле `web.xml`. Необходимо добавить следующую конфигурацию в файл `web.xml`:

```xml
<web-app>
  <display-name>My Application</display-name>

  <context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>/WEB-INF/applicationContext.xml</param-value>
  </context-param>

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

  <servlet-mapping>
    <servlet-name>MyServlet</servlet-name>
    <url-pattern>/</url-pattern>
  </servlet-mapping>

  <listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
  </listener>
</web-app>
```

В данной конфигурации контекст приложения будет доступен по умолчанию по корневому пути. Если необходимо изменить context path, можно указать другой путь в элементе `<url-pattern>`, например `<url-pattern>/myapp/*</url-pattern>`.
На сколько помню, это делается в дескриптора развёртывания.
Похожие вопросы