Я хочу знать, что такое фильтр Джерси и как он связан с фильтром сервлета? Они одинаковы? Каковы основные закономерности использования фильтра Джерси?
Что такое фильтр Джерси?
Ответы (2)
На первую часть вашего вопроса можно ответить в Документация по Джерси. Фильтр Джерси — это не то же самое, что фильтр сервлета. В Джерси включены два фильтра: фильтр для регистрации запросов и фильтр для сжатия (GZip). Другим вариантом использования пользовательского фильтра может быть аутентификация или авторизация.
Технически фильтр Джерси не является фильтром сервлета. Тем не менее, вы можете использовать фильтр Джерси для многих из тех же вещей, для которых вы использовали бы фильтр сервлетов, - сквозных проблем, которые затрагивают все (или некоторые, или большинство) сервисы, предоставляемые Джерси.
Как указано в предыдущем ответе, Джерси поставляется с двумя фильтрами, но вы можете с пользой реализовать интерфейсы Джерси ContainerRequestFilter или/и ContainerResponseFilter, если вы не хотите их расширять. Вы не ограничены этими двумя.
Другой интерфейс Джерси, о котором следует помнить, — это ResourceFilter — этот интерфейс можно реализовать для фильтра, влияющего только на некоторые сервисы.