Java Listener

Фильтры перехватывают только http-запросы, но бывают и другие события, которые надо перехватывать. Например закрытие сессии, удаление объекта из сеанса и многое другое.

Для этих событий реализуют механимз слушателей - классы, реализующие определенный интерфейс.

Интерфейсы для прослушивания конкретного событий могут различаться, но, как правило, все они наследуются от класса Listener.

javax.servlet.ServletContextListener - содержит несколько методов, которые выхываются при наступлении определенного события и в него передается ServletContextEvent,

Для написания слушателя надо реалзиовать интерфейс и добавить слушателей в web.xml. Если слушатейлей несколько, то вызываться они будут в том порядке, в котором перечислены в web.xml. Однако, иногда будут вызываться и в обратном порядке.

Фильтры - частный случай слушателей. Но они используются просто гораздо чаще чем все остальные слушатели.

Пример слушателя: public class AppCntxListener implements ServletContextListener { // реализуются все методы интерфейса } В web.xml объявление слушатейлей. listener....  Описание слушателей должно идти перед описанием сервлетов но после описания контекста