2010-01-06 3 views
0

Я читаю каждый раз Фильтры похожи на сервлеты. Смола представляет собой контейнер сервлетов. Существует ли какой-либо фильтр-контейнер для инициализации фильтров или он принимает роль только в контейнере сервлета. Кто-нибудь может понять, как это работает?Фильтры похожи на сервлеты. Существует множество контейнеров сервлетов. Фильтры принимают роль только в контейнере сервлета?

ответ

4
  • сервлеты являются компонентами, которые обрабатывают цикл запроса HTTP/ответ
  • Фильтры являются компонентами, которые перехватывать HTTP запросы и ответа до/после достижения целевого сервлета
  • Servlet контейнеров убедитесь, что эти два пункта выше работа - то есть они создают экземпляры сервлетов и фильтров и «дают» им запросы/ответы
+0

+1, лаконичный, но ясно охватывает все точки. –

+1

И фильтры - это * часть * API Servlet. Обратите внимание на имя пакета http://java.sun.com/javaee/6/docs/api/javax/servlet/Filter.html – BalusC

0

Фильтры сервлетов Java позволяют вам «накладывать» дополнительное поведение перед сервлетом, страницей JSP или даже статические ресурсы, такие как css, js и файлы изображений.

Классический пример использования фильтра - авторизация: проверка, чтобы убедиться, что пользователь имеет право просматривать указанный ресурс.

Некоторые наблюдения:

  • фильтр может сделать работу до указанного ресурса (сервлет, и т.д.), после или оба
  • Множественные фильтры могут быть применены к тому же ресурсу
1

Нет ничего похожего на контейнер фильтра, он включен в контейнер сервлетов.