2014-01-27 2 views
3

Я хотел бы установить контрольную точку в определенном контроллере для ее отладки. Но со всеми файлами декларации Spring XML и аннотациями в моем приложении для гибридов трудно сказать, какой Spring Controller, наконец, обслуживает определенный HTTP-запрос.hybris - Какой контроллер весны выполняет мою просьбу?

Есть ли простой способ в гибридах узнать, какой контроллер обслуживает определенный HTTP-запрос? Возможно, какой-то инструмент, где вы можете ввести URL-адрес, и он сообщает вам, какой контроллер будет разрешен. Или, возможно, уточнить ведение журнала для определенного класса Spring, который будет регистрировать эту информацию?

+1

[Ответ на Pearl Jade] (http://stackoverflow.com/a/21380375/873263) кажется лучшим подходом. Единственное, что вам может не хватать, это распечатка всех сопоставлений запросов. [Эти] (http://stackoverflow.com/questions/11082818/spring-mvc-get-all-request-mappings) [два] (http://stackoverflow.com/questions/10898056/how-to-find- все-контроллеры-в-весне-mvc/10899118 # 10899118) ответы помогли мне с этим пару месяцев назад. –

ответ

3

Вы можете расширить класс Spring HandlerInterceptorAdapter, чтобы создать новый перехватчик, который будет вызываться перед вызовом контроллера.

В методе preHandle(HttpServletRequest, HttpServletResponse, Object handler) обработчик является контроллером, который будет обслуживать запрос, и поэтому вы можете зарегистрировать имя контроллера в файлах журнала. Не забудьте установить уровень журнала для этого класса.

Вам необходимо добавить этот перехватчик в <mvc:interceptors> в ваш spring-mvc-config.xml.

0

U может использовать eclipse для поиска пути или действия, указанного. В основном все действия сопоставляются с соответствующим контроллером. Для Ex: любое действие, связанное с поиском, сопоставляется с SearchPageController.java, и любое действие, связанное с Продуктом, будет сопоставлено с ProductPageController.java. Надеюсь, это поможет ...

+0

Спасибо, но я ищу более точный метод. –

Смежные вопросы