Filtr vs Interceptor

0

Witajcie,
Zastanawiam się nad tym kiedy powinno używać się filtrów a kiedy interceptorów. Powiedzmy że mam stronę i chciałbym trzymać historię przeglądania użytkowników w bazie. Taki rekord dodawać powinienem z poziomu interceptora czy filtra?

0

Dość częste pytanie. W twoim przypadku wybrałbym interceptor.
Jeżeli chodzi o filtry to nie ma się w nich bezpośrednio dostępu do springowych ficzerów. Masz request i response. Interceptor za to jest springowym beanem, więc łatwo do niego coś wstrzyknąć (co nie znaczy że do filtru nie można - można, ale jest trudniej). Generalnie można osiągnąc to samo za pomocą tego i tego, z tym że uzywając interceptora masz łatwiej.

0

A ja bym wybrał właśnie filtr bo mam dostęp do całego żadania i w łatwy sposób mogę budować historię.

Na co byś ten interceptor nałożył?

0

Filtry na servlety (czyli analiza zapytań HTTP), a interceptory na klasy CDI (/EJB) (czyli bardziej związane z logiką biznesową). Jeżeli chcesz zapisywać dane gości jak adres IP, to też bym użył filtru.

0

Dzięki za pomoc :) Użyję filtru

1 użytkowników online, w tym zalogowanych: 0, gości: 1