Spring MVC Interceptor
В Spring существуют так называемые перехватчики (Spring Interceptor), являющиеся, по сути, аналогом Servlet Filter. Рассмотрим, зачем они нужны.
На практике с их помощью можно перехватывать запросы клиента и выполнять их обработку. Перехват клиентского запроса возможен в 3-х местах: preHandle, postHandle, afterCompletion. Остановимся подробнее на каждом из них:
- preHandle — этот метод применяется в целях обработки запросов, которые не были переданы в метод-обработчик контроллера. Для обеспечения передачи следующему перехватчику/в handler method он должен вернуть True. Если будет False, произойдет обработка запроса непосредственно самим обработчиком, то есть отпадет необходимость в его дальнейшей передаче. Метод может выкидывать исключения, пересылая ошибки к представлению;
- postHandle — вызывается после handler method, однако до обработки DispatcherServlet в целях передачи представлению. Может задействоваться при добавлении в объект ModelAndView параметров;
- afterCompletion — вызывается уже после отрисовки представления.
Следует отметить, что для создания обработчика надо будет расширить абстрактный класс HandlerInterceptorAdapter либо реализовать интерфейс HandlerInterceptor. Вдобавок к этому, потребуется указать перехватчики в конфигурационном файле Spring.
По материалам https://javastudy.ru/.