Встречается на собеседованиях • сегодня
В чем разница между Filters и Interceptors
Filters и Interceptors выполняют схожие задачи (перехват и обработка запросов/ответов), но работают на разных уровнях и имеют разные возможности:
Filters (сервлетные фильтры):
- Работают на уровне контейнера сервлетов (низкоуровневые)
- Применяются до/после сервлета
- Могут работать с любыми веб-ресурсами (JSP, статические файлы)
- Пример:
java
@WebFilter("/*")
public class LogFilter implements Filter {
public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) {
// логирование перед обработкой
chain.doFilter(req, res); // передача дальше
// логирование после обработки
}
}Interceptors (перехватчики):
- Работают на уровне фреймворка (Spring, JAX-RS)
- Применяются к контроллерам/методам
- Имеют доступ к контексту фреймворка (DI, аннотации)
- Пример в Spring:
java
@Component
public class AuthInterceptor extends HandlerInterceptorAdapter {
@Override
public boolean preHandle(HttpServletRequest req, HttpServletResponse res, Object handler) {
// проверка авторизации
return true; // продолжить обработку
}
}Filters - более низкоуровневые, Interceptors - интегрированы в бизнес-логику приложения.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы