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

В чем разница между Filters, Listeners и Interceprors

Filters, Listeners и Interceptors служат разным целям в Java-приложениях:

Filters работают на уровне веб-запросов (Servlet API), перехватывая запросы/ответы до/после Servlet. Пример:

java
public class LogFilter implements Filter {
    public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) {
        // логирование до обработки
        chain.doFilter(req, res); // передача дальше
        // логирование после обработки
    }
}

Listeners реагируют на события жизненного цикла (старт/стоп приложения, создание сессии). Пример:

java
public class AppListener implements ServletContextListener {
    public void contextInitialized(ServletContextEvent sce) {
        // инициализация при старте приложения
    }
}

Interceptors (AOP) перехватывают вызовы методов бизнес-логики. Часто используются в Spring:

java
@Aspect
public class LoggingAspect {
    @Before("execution(* com.example.service.*.*(..))")
    public void logBefore(JoinPoint jp) {
        // логирование перед вызовом метода
    }
}

Фильтры - для HTTP, слушатели - для событий, интерсепторы - для методов.

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

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

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

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