powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Spring @RequestMapping("/**") - странности
10 сообщений из 10, страница 1 из 1
Spring @RequestMapping("/**") - странности
    #39393693
t61
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
t61
Гость
Добрый день. Стоит задача отловить в контроллере все обращения на сайт (пример: site.ru/a, site.ru/v/b/f). Единственное решение использовать маску "/**". Ниже пример и странности. Используется либо метод example1 либо example2, не одновременно.

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
@Controller
public class AnyController {
    private static int i = 0;

    @RequestMapping(value = "/**", method = RequestMethod.GET)
    public String example1(HttpServletRequest request) {
        System.out.println("Step 1");
        //do something
        System.out.println("Step 2");
        //do something
        System.out.println("Step 3");
        //do something
        System.out.println("Step 4");
        //do something
        System.out.println("Step 5");
        System.out.println(i++);
        return "index";
    }

    @RequestMapping(value = "/**", method = RequestMethod.GET)
    public String example2(@RequestParam(value = "param", required = true) int param, HttpServletRequest request) {
        System.out.println("Step 1");
        //do something
        System.out.println("Step 2");
        //do something
        System.out.println("Step 3");
        //do something
        System.out.println("Step 4");
        //do something
        System.out.println("Step 5");
        System.out.println(i++);
        return "index";
    }
}



При попадании в метод example1 в консоль выведется примерно такое:
Step 1
Step 1
Step 1
...
Рейтинг: 0 / 0
Spring @RequestMapping("/**") - странности
    #39393696
t61
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
t61
Гость
Не дописал сообщение, извиняюсь.

При обращении в метод example1 в консоль получим
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
Step 1
Step 2
Step 3
Step 4
Step 5
Step 1
Step 2
Step 3
Step 1
Step 2
Step 3
1


Такое ощущение что метод начинает и не дорабатывает несколько раз. И работает сильно дольше.

При обращении в метод example2 в консоль получим
Код: xml
1.
2.
3.
4.
5.
6.
Step 1
Step 2
Step 3
Step 4
Step 5
1


Т.е. все как надо.

При любом уточнении просто параметра "/**" все работает как надо.

Как исправить ошибку в example1 т.к. мне нужен на домене всего 1 контроллер, но чтоб получал все запросы. Есть велосипедное решение с условно большим количеством /{a}/{b}/{c} и т.д. чтоб время обработки сократить, но это уже явно велосипед.
...
Рейтинг: 0 / 0
Spring @RequestMapping("/**") - странности
    #39394680
Ilya007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вы этого не получите
При обращении в метод example1 в консоль получим
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
Step 1
Step 2
Step 3
Step 4
Step 5
Step 1
Step 2
Step 3
Step 1
Step 2
Step 3
1



вы получите вот это:

Код: xml
1.
2.
3.
4.
5.
6.
Step 1
Step 2
Step 3
Step 4
Step 5
1



то что вы скрыли за //do something является причиной такой работы метода.
...
Рейтинг: 0 / 0
Spring @RequestMapping("/**") - странности
    #39395135
t61
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
t61
Гость
Ilya007, в скрытых полях только работа с сущностями и проверка роли пользователя. Для меня так же это очень странно и я не нахожу объяснений.
...
Рейтинг: 0 / 0
Spring @RequestMapping("/**") - странности
    #39395495
Ilya007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А в дебагере запутить можно? Точку внутри метода поствь и потом по цепочки пройдешься.
...
Рейтинг: 0 / 0
Spring @RequestMapping("/**") - странности
    #39395514
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
t61в контроллере все обращения на сайт (пример: site.ru/a, site.ru/v/b/f).
- контроллёр в каком веб приложении из:
site.ru/a
site.ru/v
?
...
Рейтинг: 0 / 0
Spring @RequestMapping("/**") - странности
    #39395588
t61
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
t61
Гость
Ilya007, бегал по дебагу, но это для меня сложно ... я просто ожидал что моя ситуация не частный случай. Эти странные обращения в метод отрабатывают правильно при любом уточнении контроллера "/**", но если не уточнять и ловить все, то что-то не так.
...
Рейтинг: 0 / 0
Spring @RequestMapping("/**") - странности
    #39395594
t61
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
t61
Гость
Petro123, не совсем понимаю вопрос. Приложение настроено на site.ru, мне нужно ловить все запросы по этому адресу, а они могут быть site.ru/a, site.ru/v/b/f и любые другие. Грубо говоря я ловлю данные из адреса по которому приходят в контроллер. Изменить реализацию невозможно, хоть это и выглядит странным.
...
Рейтинг: 0 / 0
Spring @RequestMapping("/**") - странности
    #39395665
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
t61,
после
домен.ru идёт ИмяВебПриложения.
Контроллер обычно ВНУТРИ НЕГО.
Т.е. дети будут контроллировать Папу.
Есть фильтр целиком на АппСервер.
...
Рейтинг: 0 / 0
Spring @RequestMapping("/**") - странности
    #39396654
t61
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
t61
Гость
Petro123, примерно сто раз перечитал и попробовал осознать то что Вы пишите. Это видимо не мой уровень. В принципе не понимаю слов "после домен.ru идёт ИмяВебПриложения". Приложение настроено на данный домен, это мне понятно. И контроллеры понятно находятся внутри приложения. Фильтр тоже понятно что можно настроить в целом на запрос. Но что мне все это дает ?
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Spring @RequestMapping("/**") - странности
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]