Можем ли мы использовать фильтр вместо сервлета? Может ли фильтр (без использования сервлета) обслуживать входящий запрос?Можем ли мы использовать фильтр вместо сервлета?
ответ
Фильтры используются для изменения заголовка и/или содержимого запроса или ответа. Я никогда не видел, чтобы они использовали для создания самого ответа, и я не думаю, что они могут быть использованы для этого, поскольку они должны быть «привязаны» к реальному ресурсу. От Java EE 6 tutorial:
Фильтр является объектом, который может преобразовывать заголовок и содержимое (или оба) из запроса или ответа. Фильтры отличаются от веб-компонентов в , что фильтры обычно сами не создают ответ. Вместо этого фильтр обеспечивает функциональность, которая может быть «присоединена» к любому веб-ресурсу .
Фильтры имеют широкий спектр применений; спецификация сервлетов 2.3 предлагает следующие применения:
- фильтры аутентификации
- протоколирования и аудита фильтры
- фильтры преобразования изображения фильтры сжатия
- данных
- шифрования фильтры
- tokenizing фильтры
- фильтры которые инициируют события доступа к ресурсам
- XSL/T фильтры, которые трансформируют содержание XML
- цепочки фильтров MIME-типа
Используйте Filter
, когда вы хотите фильтр и/или изменять запросы, основанных на определенных условиях.
Используйте Servlet
, если вы хотите контроль, препроцесс и/или постпроцессные запросы.
Фильтр лучше всего подходит для авторизации, поскольку его можно настроить для работы на всех страницах сайта. Поэтому вам нужен только один фильтр для защиты всех ваших страниц.
Полезные ссылки:
- 1. Можем ли мы использовать Response.Flush() вместо Response.End()
- 2. Что мы можем использовать вместо nstimer?
- 3. Можем ли мы использовать httpd.conf вместо .htaccess для чистого URL?
- 4. Можем ли мы использовать https вместо http с networkimageview.setImageUrl?
- 5. Можем ли мы использовать Mattermost с Docker вместо Slack?
- 6. Можем ли мы использовать функцию scrollTo() вместо функции анимации?
- 7. Можем ли мы использовать <body> вместо #container div?
- 8. Можем ли мы использовать поле данных sql вместо имени столбца?
- 9. Можем ли мы использовать `const` вместо` let` всюду?
- 10. Можем ли мы использовать абстрактный класс вместо интерфейса
- 11. Можем ли мы использовать пиксели вместо техник, как word2vec?
- 12. Можем ли мы использовать std :: fstream вместо SDL_RWops в SDL2?
- 13. Можем ли мы иметь два приложения в одном проекте сервлета?
- 14. Как мы можем использовать сервлет-фильтр для sessioncheck?
- 15. Можем ли мы отправить запрос на HTML-код внутри сервлета
- 16. Можем ли мы использовать скриптлеты внутри Javascript?
- 17. Можем ли мы использовать CoreAnimation в Cocos2d?
- 18. Можем ли мы использовать CASE в BETWEEN
- 19. Можем ли мы использовать dhtmlxscheduler в asp.net?
- 20. Можем ли мы использовать '\ n' в сборке?
- 21. Можем ли мы использовать Dalvik с танго
- 22. Можем ли мы использовать GIF в WKImageView?
- 23. Можем ли мы использовать Sikuli с PhantomJS?
- 24. Можем ли мы использовать ThreadGroup внутри ThreadGroup
- 25. Можем ли мы использовать nedb с NativeScript?
- 26. Можем ли мы использовать JSTL в ReactJS?
- 27. XSLT: можем ли мы использовать значение abs?
- 28. Можем ли мы использовать UmlStateMachineModelFactory внутри StateMachineBuilder
- 29. Можем ли мы использовать макет в Customview?
- 30. Можем ли мы использовать Бурбон в Grails?