HTML Diff
0 added 0 removed
Original 2026-01-01
Modified 2026-03-10
1 <p>Теги: spring mvc interceptor, перехват</p>
1 <p>Теги: spring mvc interceptor, перехват</p>
2 <p>В Spring существуют так называемые перехватчики (<strong>Spring Interceptor</strong>), являющиеся, по сути, аналогом Servlet Filter. Рассмотрим, зачем они нужны.</p>
2 <p>В Spring существуют так называемые перехватчики (<strong>Spring Interceptor</strong>), являющиеся, по сути, аналогом Servlet Filter. Рассмотрим, зачем они нужны.</p>
3 <p>На практике с их помощью можно перехватывать запросы клиента и выполнять их обработку. Перехват клиентского запроса возможен в 3-х местах:<strong>preHandle</strong>,<strong>postHandle</strong>,<strong>afterCompletion</strong>. Остановимся подробнее на каждом из них:</p>
3 <p>На практике с их помощью можно перехватывать запросы клиента и выполнять их обработку. Перехват клиентского запроса возможен в 3-х местах:<strong>preHandle</strong>,<strong>postHandle</strong>,<strong>afterCompletion</strong>. Остановимся подробнее на каждом из них:</p>
4 <ul><li><strong>preHandle</strong>- этот метод применяется в целях обработки запросов, которые не были переданы в метод-обработчик контроллера. Для обеспечения передачи следующему перехватчику/в handler method он должен вернуть<strong>True</strong>. Если будет<strong>False</strong>, произойдет обработка запроса непосредственно самим обработчиком, то есть отпадет необходимость в его дальнейшей передаче. Метод может выкидывать исключения, пересылая ошибки к представлению;</li>
4 <ul><li><strong>preHandle</strong>- этот метод применяется в целях обработки запросов, которые не были переданы в метод-обработчик контроллера. Для обеспечения передачи следующему перехватчику/в handler method он должен вернуть<strong>True</strong>. Если будет<strong>False</strong>, произойдет обработка запроса непосредственно самим обработчиком, то есть отпадет необходимость в его дальнейшей передаче. Метод может выкидывать исключения, пересылая ошибки к представлению;</li>
5 <li><strong>postHandle</strong>- вызывается после handler method, однако до обработки<strong>DispatcherServlet</strong>в целях передачи представлению. Может задействоваться при добавлении в объект<strong>ModelAndView</strong>параметров;</li>
5 <li><strong>postHandle</strong>- вызывается после handler method, однако до обработки<strong>DispatcherServlet</strong>в целях передачи представлению. Может задействоваться при добавлении в объект<strong>ModelAndView</strong>параметров;</li>
6 <li><strong>afterCompletion</strong>- вызывается уже после отрисовки представления.</li>
6 <li><strong>afterCompletion</strong>- вызывается уже после отрисовки представления.</li>
7 </ul><p>Следует отметить, что для создания обработчика надо будет расширить абстрактный класс<strong>HandlerInterceptorAdapter</strong>либо реализовать интерфейс<strong>HandlerInterceptor</strong>. Вдобавок к этому, потребуется указать перехватчики в конфигурационном файле<strong>Spring</strong>.</p>
7 </ul><p>Следует отметить, что для создания обработчика надо будет расширить абстрактный класс<strong>HandlerInterceptorAdapter</strong>либо реализовать интерфейс<strong>HandlerInterceptor</strong>. Вдобавок к этому, потребуется указать перехватчики в конфигурационном файле<strong>Spring</strong>.</p>
8 <p>По материалам https://javastudy.ru/.</p>
8 <p>По материалам https://javastudy.ru/.</p>
9  
9