Создание фильтров

Мастер фильтров помогает создать фильтры сервлетов Java™ с помощью пошаговых действий и предоставляя файлы вывода, которые можно использовать или изменить для применения с веб-приложением. Фильтры можно выполнять на веб-серверах, совместимых с Java EE.

Для создания фильтра выполните следующие действия:

  1. В проекции Java EE разверните динамический проект на панели Структура проектов.
  2. Щелкните правой кнопкой мыши на значке Фильтр и выберите Создать > Фильтр в контекстном меню. Откроется мастер Создать фильтр.
  3. Следуйте инструкциям мастера проекта.

Общая информация

Модификаторы
В спецификации Sun Microsystems Java Servlet 2.3 указано, что класс Servlet следует объявлять как public, а не abstract. Поэтому данные модификаторы изменить невозможно. Можно изменить только модификатор final.
Интерфейсы
Классы фильтра должны реализовывать один обязательный интерфейс: javax.servlet.Filter. Этот интерфейс доступен в пакете javax.servlet и представляет жизненный цикл фильтра. Этот интерфейс содержит три метода: init, doFilter и destroy.
  • Метод init вызывается контейнером сервлета только один раз после создания экземпляра фильтра.
  • Метод doFilter относится к фильтрованию и вызывается каждый раз, когда пользователь запрашивает ресурс, с которым связан фильтр (например сервлет).
  • Метод destroy вызывается контейнером сервлета для исключения фильтра.
Несмотря на то, что интерфейс javax.servlet.Filter по умолчанию указан в поле Интерфейсы, можно добавить дополнительные интерфейсы для реализации с помощью кнопки Добавить.
Диалоговое окно выбора интерфейса
Это окно отображается при добавлении интерфейса в фильтр. При вводе имени добавляемого интерфейса список доступных интерфейсов в поле Совпадающие элементы будет динамически меняться для показа только интерфейсов, совпадающих с введенным именем. Выберите интерфейс для просмотра спецификатора и нажмите кнопку OK.
Связи фильтров
Для того чтобы настроить фильтр для перехвата запросов к сервлету, выполните следующие действия:
  1. объявите фильтр с помощью элемента <filter> в файле описания
  2. свяжите фильтр с сервлетом с помощью элемента <filter-mapping>
При необходимости фильтр можно связать с несколькими сервлетами. Для этого свяжите фильтр с шаблоном URL, чтобы обеспечить возможность выбора запросов, соответствующих этому шаблону. Поле Связи фильтров позволяет полностью автоматизировать этот процесс.
Заготовки методов
Поскольку каждый фильтр должен реализовывать интерфейс javax.servlet.Filter, переключатель Наследуемые абстрактные методы всегда включен и его нельзя выключить.
Связанные концепции
Фильтры