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?
Filtr vs Interceptor
- Rejestracja: dni
- Ostatnio: dni
- Postów: 174
- Rejestracja: dni
- Ostatnio: dni
- Postów: 87
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.
- Rejestracja: dni
- Ostatnio: dni
- Postów: 616
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ł?
- Rejestracja: dni
- Ostatnio: dni
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.
- Rejestracja: dni
- Ostatnio: dni
- Postów: 174
Dzięki za pomoc :) Użyję filtru