Filtr vs Interceptor

Filtr vs Interceptor
ZA
  • Rejestracja:około 10 lat
  • Ostatnio:prawie 5 lat
  • Postów:174
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?

Tancerd
  • Rejestracja:ponad 10 lat
  • Ostatnio:ponad 5 lat
  • Postów:87
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.

SZ
  • Rejestracja:około 11 lat
  • Ostatnio:ponad 4 lata
  • Postów:616
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ł?

edytowany 1x, ostatnio: Szczery
Tancerd
Na odpowiedni url, lub całą aplikację. W interceptorze też masz dostęp do całego żądania.
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.

ZA
  • Rejestracja:około 10 lat
  • Ostatnio:prawie 5 lat
  • Postów:174
0

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

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.