Аннотация RequestMapping
Last updated: 10 мая 2025 г.Классов контроллеров в MVC-приложении может быть много. Давайте создадим еще один контроллер – Controller2
.

В адресе можно указать не только обработчик, к которому должен совершиться переход, но и конкретный класс контроллер, к которому должен совершаться переход.
То есть у нас в проекте сейчас два класса контроллера и в адресе можно указать, чтобы производился поиск метода обработчика не во всех контроллерах, которые у нас есть, а только в конкретном.
Для этого RequestMapping
нужно прописать над классом контроллером и передать этой аннотации путь к этому классу контроллеру также, как мы писали эту аннотацию над методами обработчиками.
Первый класс контроллер:
1package classes;
2
3import org.springframework.stereotype.Controller;
4import org.springframework.web.bind.annotation.RequestMapping;
5
6@Controller
7//Внизу пишем путь к этому классу контроллеру.
8//Теперь если клиент захочет
9//перейти например к первому обработчику в этом
10//контроллере ему нужно будет перейти по адресу:
11//http://localhost:8080/SpringMVCap/FirstController/FirstJSP
12@RequestMapping("/FirstController")
13public class MVCcontroller{
14 @RequestMapping("/FirstJSP")
15 public String FirstJSP() {
16 return "JSPpage"; //имя jsp
17 }
18
19 @RequestMapping("/SecondJSP")
20 public String SecondJSP() {
21 return "JSPpage1"; //имя jsp
22 }
23}
Второй класс контроллер:
1package classes;
2
3import org.springframework.stereotype.Controller;
4import org.springframework.web.bind.annotation.RequestMapping;
5
6@Controller
7//Внизу пишем путь к этому классу контроллеру.
8//Теперь если клиент захочет клиент захочет
9//перейти например к первому обработчику в этом
10//контроллере ему нужно будет перейти по адресу:
11//http://localhost:8080/SpringMVCap/SecondController/FirstJSP
12@RequestMapping("/SecondController")
13public class MVCcontroller2{
14 @RequestMapping("/FirstJSP")
15 public String FirstJSP() {
16 return "JSPpage"; //имя jsp
17 }
18
19 @RequestMapping("/SecondJSP")
20 public String SecondJSP() {
21 return "JSPpage1"; //имя jsp
22 }
23}
Можно увидеть, что методы обработчики в обоих классах имеют одинаковые адреса
То есть видим, что и в первом классе и во втором есть метод помеченный @RequestMapping("/FirstJSP")
.
Если бы мы не указали над классами RequestMapping
, то DispatcherServlet не понял бы какой из методов обработчиков, помеченных путем /FirstJSP вызывать.
Перейдем к FirstJSP через первый контроллер.

Перейдем к FirstJSP через второй контроллер.

Как видим, обе jsp страницы открылись успешно через разные классы контроллеры.
Следующие уроки
Обработка дынных формы в Spring MVC, передача данных в Model
18
мин.
Специальный тег Form в Spring
18
мин.
Теги Spring Form: Select, Radio, Checkbox
19
мин.