Вопрос

Я хотел бы знать разницу между Struts 1.x и Struts 2.x.

Это было полезно?

Решение

Основное отличие состоит в том, что в Struts1.x запрос напрямую поступает к сервлету, тогда как в Struts2.x запрос и ответ проходят через стек перехватчика или фильтра.Обычную логику можно поместить в классы фильтров, и разработчик может сосредоточиться на бизнес-логике.Помимо этого существуют различия и в структуре каталогов.

Лучше знать различия между Struts1.x и Struts2.x мудрая тема.Вот цитата из http://www.geekinterview.com/question_details/64360:


1.Классы действий

В Стойки 1.x классы действий должны расширять класс Action (или DispatchAction), а метод выполнения имеет количество параметров и тип возвращаемого значения ActionForward, но в стойки 2.x класс действия также может быть простым pojo с методом выполнения, возвращающим только строку без каких-либо входных параметров.


2.Зависимость сервлета

Контейнер не лечит Struts2.x, в отличие от Struts1.x, Действия в виде пары запрос/ответ и struts2.x действие по-прежнему может получить доступ к исходному запросу и ответу.


3.Получение входных данных

  • В Struts1.x bean-компоненты формы используются для определения свойств, геттеров и сеттеров в struts2.x геттеры/сеттеры определяются в самих классах действий.
  • Struts1.x Класс bean-компонентов формы должен расширять ActionForm или ValidatorForm, но Struts2.x бобы также могут быть POJO.

4.Тестируемость

  • В Struts1.x метод выполнения() предоставляет API сервлета для тестирования.
  • Struts2.x Внедрение зависимостей можно использовать для упрощения процесса тестирования.

5.Языки выражений

  • Struts1.x JSTL в качестве языка выражений, где как Struts2.x использует ОГНЛ(Язык объектной графической нотации) в качестве языка выражений, который очень силен, чем JSTL.
  • Struts2.x также можно использовать JSTL.

6.Преобразование типа

  • В Struts1.x свойства почти в строковой форме. Конвертеры для каждого класса не настраиваются.
  • Стойки 2.x использует OGNL для преобразования типов

7.Проверка

Проверка на стороне сервера выполняется в классах действий в Struts2.x, что гораздо проще.

Другие советы

Это совершенно другой веб-фреймворк...Struts2 — это, по сути, старая версия Webwork.

Некоторые различия:

  • Struts2 работает с POJO, никаких ActionForms.Все атрибуты запросов заполняются в «стандартных» классах Java.
  • Действия Struts2 не связаны с API сервлетов, они не получают HttpServletRequest и HttpServletResponse в качестве параметров.Кроме того, они сохраняют состояние (действия Struts 1 были без сохранения состояния).
  • В Struts2 имеется множество улучшений, таких как API-интерфейс Interceptor, а также множество интеграций.
  • Конфигурация совершенно другая.

Я рекомендую вам «убрать» Struts1 в пользу современных веб-фреймворков.

Перейдите по этой ссылке, это вам очень поможет:

http://www.java-samples.com/showtutorial.php?tutorialid=20

Пожалуйста, найдите сравнение между Struts 1 и Struts 2 на их веб-сайте.

http://struts.apache.org/2.1.6/docs/comparing-struts-1-and-2.html

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top