Подтвердить что ты не робот

В чем разница между Struts 1.x и Struts 2.x

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

4b9b3361

Ответ 1

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

Лучше узнать различия между темами Struts1.x и Struts2.x. Здесь приведена ссылка http://www.geekinterview.com/question_details/64360:


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

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


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

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


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

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

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

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

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

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

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

  • В свойствах Struts1.x находятся почти в форме String, конвертеры относятся к классу, которые не настраиваются.
  • Struts 2.x использует OGNL для преобразования типов

7. Проверка

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

Ответ 2

Это совершенно другая веб-структура... Struts2 - это в основном старый веб-сайт.

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

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

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