Перейти к основному содержимому

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

· 2 мин. чтения

1. Введение

DispatcherServlet играет важную роль в приложениях Spring и обеспечивает единую точку входа для приложения. Принимая во внимание, что контекстный путь определяет URL-адрес, по которому конечный пользователь будет получать доступ к приложению.

В этом руководстве мы узнаем о различиях между контекстным путем и путем сервлета.

2. Контекстный путь

Проще говоря, контекстный путь — это имя, с помощью которого осуществляется доступ к веб-приложению. Это корень приложения. По умолчанию Spring Boot обслуживает содержимое по пути корневого контекста («/»).

Таким образом, к любому загрузочному приложению с конфигурацией по умолчанию можно получить доступ как:

http://localhost:8080/

Однако в некоторых случаях мы можем захотеть изменить контекст нашего приложения. Существует несколько способов настроить контекстный путь , и application.properties — один из них. Этот файл находится в папке src/main/resources .

Настроим его с помощью файла application.properties :

server.servlet.context-path=/demo

В результате главная страница приложения будет:

http://localhost:8080/demo

Когда мы развертываем это приложение на внешнем сервере, эта модификация помогает нам избежать проблем с доступностью.

3. Путь сервлета

Путь сервлета представляет собой путь главного DispatcherServlet . DispatcherServlet является настоящим Servlet и наследуется от базового класса HttpSerlvet . Значение по умолчанию аналогично контекстному пути, т.е. («/»): `` `` ****

spring.mvc.servlet.path=/

В более ранних версиях Boot это свойство находилось в классе ServerProperties и называлось server.servlet-path =/ .

Из версии 2.1.x это свойство перемещено в класс WebMvcProperties и переименовано в spring.mvc.servlet.path =/ .

Давайте изменим путь сервлета:

spring.mvc.servlet.path=/foreach

Поскольку сервлет принадлежит контексту сервлета, изменение пути контекста также повлияет на путь сервлета . Итак, после изменений путь сервлета приложения станет http://localhost:8080/demo/foreach.

Другими словами, если таблица стилей использовалась как http://localhost:8080/demo/style.css, теперь она будет использоваться как http://localhost:8080/demo/foreach/style.css.

Обычно мы не настраиваем DispatcherServlet самостоятельно. Но если нам действительно нужно это сделать, мы должны указать путь к нашему пользовательскому DispatcherServlet .

4. Вывод

В этой быстрой статье мы рассмотрели семантику пути контекста и пути сервлета. Мы также увидели, что представляют собой эти термины и как они работают вместе в приложении Spring.