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

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

4 ответа

Решение

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

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


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

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


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

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


3. Получение информации

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

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

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

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

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

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

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

7. Проверка

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

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

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

  • Struts2 работает с POJO, больше нет ActionForms. Все атрибуты из запросов заполняются в "стандартных" классах Java.
  • Действия Struts2 не связаны с Servlet 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

Другие вопросы по тегам