В чем разница между Struts 1.x и Struts 2.x
Вопрос
Я хотел бы знать разницу между 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 в пользу современных веб-фреймворков.
Перейдите по этой ссылке, это вам очень поможет:
Пожалуйста, найдите сравнение между Struts 1 и Struts 2 на их веб-сайте.
http://struts.apache.org/2.1.6/docs/comparing-struts-1-and-2.html