Филтрите са като сървлети. Съществуват много контейнери за сървлети. Филтрите играят ли роля само в контейнерите за сервлети?

Чета всеки път, когато филтрите са като сервлети. Resin е контейнер за сервлети. Съществува ли някакъв филтърен контейнер за инициализиране на филтри или той поема ролята само в контейнера на сървлета. Може ли някой да разясни как работи?


person giri    schedule 06.01.2010    source източник


Отговори (3)


  • Сървлетите са компоненти, които обработват HTTP цикъл на заявка/отговор
  • Филтрите са компоненти, които прихващат HTTP заявки и отговор преди/след като достигнат целевия сървлет
  • Контейнерите за сървлети гарантират, че двете точки по-горе работят - т.е. те инстанцират сървлети и филтри и им "дават" заявките/отговорите
person Bozho    schedule 06.01.2010
comment
А филтрите са част от API на сервлета. Обърнете внимание на името на пакета java.sun.com/javaee/ 6/docs/api/javax/servlet/Filter.html - person BalusC; 06.01.2010

Няма нищо подобно на филтърния контейнер, той е включен в контейнера на сървлета.

person fastcodejava    schedule 06.01.2010

Java Servlet филтрите ви позволяват да „наслоявате“ допълнително поведение пред Servlet, JSP страница или дори статични ресурси като css, js и файлове с изображения.

Класическият пример за използване на филтър е Упълномощаване: проверка, за да се гарантира, че потребителят е упълномощен да преглежда посочения ресурс.

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

  • Филтърът може да върши работа преди посочения ресурс (сървлет и т.н.), след или и двете
  • Множество филтри могат да бъдат приложени към един и същи ресурс
person Drew Wills    schedule 06.01.2010