Как действия Struts2 сравниваются с сервлетами? Может ли действие действовать как сервлет?Как действие Struts2 сравнивается с сервлетом?
ответ
A Struts (Struts1/Struts classic) действие было больше привязано к сервлету. В Struts2 все совсем по-другому. Действие Struts2 - это просто POJO (простой Java-класс), полностью отделенный от API Servlet. Эта развязка облегчает тестирование.
В типичном рабочем процессе веб-приложения Struts2 действие будет создано для каждого запроса и будет связано с сервлетом (он может реализовать интерфейс ServletAware
, если он должен знать об этой ассоциации, обычно это не обязательно и не рекомендуется).
Важная концептуальная разница с сервлетами (и с действиями Struts) заключается в том, что действия Struts2 не используются повторно для разных запросов и, следовательно, являются потокобезопасными: скажем, может случиться так, что три HTTP-запроса (одновременно или нет) обслуживаются один экземпляр сервлета; но в этом случае мы по-прежнему будем иметь три разных экземпляра действия Struts2, по одному для каждого запроса.
Struts - это слой абстракции поверх материала сервлета ванили java. Сами действия определяются программистом и вызывается ракурсами struts при попадании URL-адреса (вы настраиваете, какой URL-адрес сопоставляется с каким действием). Поэтому они не сравниваются с сервлетом, они представляют собой абстракцию вокруг функций, предоставляемых сервлетом. Одна типичная вещь, которую вы делаете с действием, выдает jsp, что эквивалентно сервлету. так что происходит a) запрос приходит, получает сопоставление с действием b) действие загружает некоторые данные c) action отображает jsp, передавая загруженные данные в jsp.
Действие может выводиться непосредственно на запрос/ответ, если это то, что вы хотите, но в большинстве случаев, вероятно, не является хорошей практикой.
Struts2 - это реализация фреймворка MVC на основе технологии Java EE.
- 1. Struts2 с S: действие тега
- 2. Struts2: Как определить действие динамически с Struts2 Tag кнопку Отправить
- 3. Access Struts2 Действие с JSTL
- 4. Struts2 действие без результата
- 5. Якорный тег Struts2 не вызывает действие Struts2
- 6. Struts2 в сочетании с сервлетом, специфичным для домена
- 7. Действие в Struts2 Application
- 8. Struts2: Как мне сообщить моему index.jsp переслать действие struts2?
- 9. действие struts2 перенаправляется на сервлет с параметрами
- 10. Struts2 HREF вызвать действие параметра
- 11. IE6 struts2 выполнить неправильное действие
- 12. Как вызвать действие Struts2 без кнопки отправки
- 13. Как заставить пользователя запускать действие в Struts2
- 14. Unit Testing Struts2 + Весеннее действие с DAO
- 15. как вызвать struts2 действие из javascript?
- 16. Каждое действие с целью мишеней Struts2
- 17. Действие Struts2 с параметром не работает
- 18. Struts2 Действие не найдено Ошибка
- 19. Как вызвать действие, щелкнув ссылку в Struts2
- 20. Как вызвать действие Struts2 из функции JavaScript?
- 21. Struts2 - Как использовать анкеты Struts2?
- 22. Как Voldemort сравнивается с Cassandra?
- 23. Как RabbitMQ сравнивается с Mule
- 24. Как Elm сравнивается с ClojureScript?
- 25. Как Transfuse сравнивается с кинжалом?
- 26. Как Drupal сравнивается с SharePoint
- 27. Как FlockDB сравнивается с neo4j?
- 28. Как JavaFX сравнивается с WPF?
- 29. Как EAV сравнивается с RDF?
- 30. Как containerd сравнивается с runC