Встречается на собеседованиях • сегодня

В чем разница между filters, listners и interseptors в Spring

Фильтры (Filters), слушатели (Listeners) и перехватчики (Interceptors) в Spring работают на разных уровнях и выполняют разные задачи:

Фильтры (Servlet Filters)

  • Работают на уровне контейнера сервлетов (до Spring)
  • Обрабатывают HTTP-запросы/ответы до/после Spring MVC
  • Пример: аутентификация, логирование, CORS
java
public class LogFilter implements Filter {
    public void doFilter(...) {
        // логирование до обработки
        chain.doFilter(request, response);
        // логирование после обработки
    }
}

Слушатели (Listeners)

  • Реагируют на события жизненного цикла приложения/сессии
  • Например: ServletContextListener для инициализации при старте

Перехватчики (Interceptors)

  • Работают на уровне Spring MVC (после фильтров)
  • Перехватывают вызовы контроллеров
  • Пример: проверка прав доступа, добавление атрибутов
java
public class AuthInterceptor implements HandlerInterceptor {
    public boolean preHandle(...) {
        // проверка доступа перед вызовом контроллера
        return true;
    }
}

Фильтры - низкоуровневые, Interceptors - Spring-специфичные, Listeners - для событий.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы