Учебное пособие по Struts 2 - универсальное решение для начинающих



Эта статья о Struts 2 Tutorial поможет вам начать работу со средой Struts 2 для разработки веб-приложений J2EE вместе с демонстрацией кода.

Если вы ищете которые могут помочь вам в быстрой и эффективной разработке веб-приложений JEE, тогда Struts 2 - идеальное решение для вас. Struts 2 - это фреймворк с открытым исходным кодом, который широко используется на рынке. В этом учебном пособии по Struts 2 я помогу вам начать работу с ним вместе с практическими реализациями.

Ниже приведены темы, которые я буду обсуждать в этом руководстве по Struts:





Что такое Struts?

С точки зрения непрофессионала, Struts - это фреймворк с открытым исходным кодом, который помогает в разработке веб-приложений на J2EE. Эторасширяет и продвигает модель, представление, контроллер ( MVC ) архитектура.Это делает веб-приложения, разработанные с использованием стандартных технологий, таких какJSP, JavaBeans и XML, более удобные в обслуживании, расширяемые и гибкие.

Struts Framework был первоначально разработан Крейгом МакКланаханом и передан Apache Foundation в мае 2000 года. Постепенно он занял позицию проекта Apache верхнего уровня в 2005 году, а позже, в феврале 2007 года, он был заменен на Распорки 2 .



Платформа Struts в значительной степени основана на MVC (Модель-представление-контроллер) парадигма дизайна. Его основная цель состояла в том, чтобы отделить модель от представления и контроллера в приложении, чтобы уменьшить зависимость и способствовать разделению проблем (SoC). Другими словами, это помогло разделить логику приложения, которая в основном взаимодействует с базой данных.от через которое пользователь взаимодействует с приложением и экземпляром, который помогает в передаче информации между моделью и представлением.

Особенности Struts 2

  1. Формы и действия на основе POJO :Классы действий в Struts рассматриваются как контроллеры в приложении. Они несут ответственность за реакцию на действия пользователя, выполнение бизнес-логики и возврат результата с представлением, которое необходимо отобразить. Он также действует как класс модели.
  2. Улучшенные теги и настройки: В Struts 2 были представлены различные типы тегов, такие как теги пользовательского интерфейса, теги управления, теги данных и т. Д., Которые помогают при разработке приложений.
  3. Функциональность AJAX: Struts 2 поддерживает технологию ajax, которая обычно используется для генерации асинхронных запросов. Это повышает производительность приложения, отправляя на сервер только необходимые полевые данные.
  4. Легкая интеграция: Он обеспечивает простую интеграцию с другими веб-фреймворками, такими как , DWR, SiteMesh и плитки.
  5. Минимальные конфигурации: При использовании приложения Struts 2 дополнительные настройки не требуются. Он работает с минимальными конфигурациями, в которых большинство настроек принимают значения по умолчанию, если нет никаких отклонений.
  6. Интегрируйте технологии просмотра: С Struts2 вы можете легко интегрироваться с различными технологиями просмотра, такими как XSLT, JSP, Freemarker, velocity и т. Д.
  7. Тема и шаблоны: Struts 2 поддерживает 3 типа тем:
    1. Xhtml
    2. просто
    3. Css_xhtml

Здесь XHTML - это тема по умолчанию для Struts 2, которая в основном используется для общего внешнего вида.

Теперь, когда вы знаете, что такое Struts и его различные функции, давайте перейдем к этой статье учебника Struts и узнаем о его архитектуре.



Архитектура

Архитектура Struts - Учебное пособие по Struts 2 - EdurekaКак видно на диаграмме выше, Struts использует высокоуровневые Архитектура MVC . Здесь фильтр диспетчерских сервлетов Struts2 используется для реализации контроллера, в то время как действия используются для реализации модели, а представление реализуется путем объединения типов результатов и результатов. В этой архитектуре общий поток, связывание и интеграция с другими компонентами обеспечивается стеком значений и OGNL. Кроме того, конфигурации веб-приложений вместе с действиями, перехватчиками, результатами и т. Д. Также помогают в передаче большого количества информации.

Теперь позвольте мне объяснить весь рабочий процесс в течение жизненного цикла запроса, созданного пользователем. Ниже я перечислил пошаговый рабочий процесс, чтобы вы лучше понимали, как работают Struts:

  • Он начинается с запроса пользователя, который отправляется на сервер для запроса некоторого ресурса.
  • Затем этот запрос обрабатывается диспетчером фильтров для определения соответствующего действия.
  • Затем к запросу применяются правильно настроенные функции перехватчика, такие как проверка, загрузка файла и т. Д.
  • После того, как выбранное действие принято и оно выполняется на основе запрошенной операции.
  • В случае, если требуется постобработка, вызываются настроенные перехватчики.
  • В конце концов, результат предоставляется представлением и возвращается пользователю.

Я надеюсь, что это упростит рабочий процесс в приложении Struts. Давайте теперь посмотрим, что все, что вам нужно в вашей системе, чтобы начать работу со Struts, в следующем разделе этого руководства по Struts 2.

Настройка среды

Ниже я перечислил основные вещи, необходимые для начала работы со Struts 2:

  • Ява
    Если в вашей системе не установлена ​​Java, вы можете обратиться к Установка Java статья.
  • Кот
    Если в вашей системе нет Tomcat, вы можете посетить Вот для бесплатного скачивания.
  • IDE (желательно Eclipse)
    Наконец, вам нужен ваш Eclipse IDE для разработки приложений.

После этого вы готовы намочить ноги с помощью Struts. В следующем разделе этого руководства по Struts 2 я кратко расскажу вам об основных концепциях Struts 2.

Основные концепции

1. Конфигурации

В любом приложении struts есть два основных файла конфигурации:

  1. файл struts.xml: Этот файл содержит информацию оконфигурации, которые изменяются как действия. В основном он используется для переопределения настроек по умолчанию в приложении. Этот файл обычно создается в каталоге WEB-INF / classes в любом проекте Struts.
  2. файл struts.properties: Этот файл предоставляет механизм, который может изменить поведение платформы. Посколькуframework использует ряд свойств, которые вы можете изменить в соответствии с вашими требованиями.

2. Действия

Действия или классы действий являются основными концепциями в любом приложении Struts 2, поскольку они действуют как контроллер в шаблоне MVC. Другими словами, классы действий содержат бизнес-логику, которая помогает в обработке данных. Кроме этого, класс действий также отвечает заответ на запрос пользователя, выполнение бизнес-логики. Это также помогает платформе определять и возвращать результат на основе файла конфигурации (struts.xml) обратно пользователю для визуализации страницы просмотра.

Классы действий Stuts2 не являются одноэлементными по своей природе, т.е. один экземпляр этого класса будет создаваться с каждым запросом. Таким образом, они не должны быть потокобезопасными, а быть простыми и независимыми. Это значительно упрощает тестирование этих классов.

Файл действия можно создать тремя способами, а именно:

  • Класс простого действия
    Любой конкретный класс java может использоваться как класс действия Struts 2, но единственное требование состоит в том, что класс должен содержать метод execute () с типом возвращаемого значения String. Ниже приведен код для создания простого класса действий:
package com.edureka.struts2.action открытый класс DemoAction {public String execute () {return 'Welcome!' }}
  • Реализация интерфейса действия
    Класс Struts 2 Action также можно создать, реализовав интерфейс com.opensymphony.xwork2.Action. Он содержит единственный метод, т.е. execute (), который должен быть реализован классом реализации. Реализуя этот интерфейс, вы можете использовать несколько констант, таких как SUCCESS, ERROR, NONE, INPUT и LOGIN, которые можно использовать для страниц результатов.
    Ниже приведен пример того же кода:
package com.edureka.struts2.action import com.opensymphony.xwork2.Action открытый класс DemoAction реализует действие {public String execute () {return SUCCESS}}
  • Расширение класса ActionSupport

Классы действий в Struts 2 обычно расширяют класс Action Support, который является реализацией интерфейса Action по умолчанию. Он предоставляет различные обязательные функции для разработки веб-приложений, такие как проверка данных, сообщение уровня действия, сообщение об ошибке уровня действия, сообщение об ошибке на уровне поля и чтение связанного ресурса и т. Д.

Ниже приведена реализация того же самого:

package com.edureka.struts2.action import com.opensymphony.xwork2.ActionSupport открытый класс DemoAction расширяет ActionSupport {@Override public String execute () выдает исключение {return SUCCESS}}

3. Перехватчики

Перехватчик выступает в качестве одного из основных столпов структуры Struts 2. Это не что иное, как объекткоторый вызывается во время предварительной и постобработки запроса.Это помогает контролировать и поддерживать плавный переход цикла запроса и ответа.

Главное преимущество использования перехватчиков в том, что они подключаемые. Я имею в виду, что если вам больше не нужна конкретная проблема, напримерпроверка, обработка исключений, ведение журнала и т. д., вы можете легко удалить его из приложения без необходимости повторного развертывания. Для этого все, что вам нужно сделать, это удалить запись из файла struts.xml.

Фреймворк Struts2 предоставляет исчерпывающий набор предопределенных перехватчиков и общих стеков перехватчиков, которые я перечислил в следующей таблице:

Перехватчик Описание
псевдоним Это позволяет параметрам иметь разные псевдонимы имен в разных запросах пользователей.
флажок Это помогает в управлении флажками, добавляя значение параметра false для флажков, которые не были отмечены
convertError При этом информация об ошибках преобразования строк в типы параметров помещается в поля ошибок действия.
createSession Это неявно создает HTTP-сеанс, если таковой не существует.
отладка Это предоставляет разработчику различные экраны отладки.
execAndWait Это переводит пользователя на промежуточную страницу ожидания, когда действие выполняется в фоновом режиме.
исключение Это отображает исключения, которые выбрасываются из действия, в результат
файл загружен Это упрощает загрузку файлов в Struts 2.
i18n Это помогает отслеживать указанный языковой стандарт во время сеанса пользователя.
журналы Это обеспечивает простую регистрацию для пользователя, генерируя вывод в виде имени выполняемого действия.
параметры Это помогает в настройке параметров запроса для действия
подготовить Это используется для выполнения предварительной обработки.
профиль Это позволяет упростить профилирование информации для регистрации действий.
объем Это сохраняет и извлекает состояние действия во время сеанса пользователя или области приложения.
ServletConfig Это обеспечивает действие для доступа к различной информации на основе сервлетов.
таймер Это обеспечивает простую информацию о профиле
жетон Это помогает в проверке действия на действительный токен, чтобы предотвратить дублирование отправки формы.
Проверка Это обеспечивает поддержку валидации для различных действий.

4. Стек ценностей

ValueStackв Struts2 это область хранения, в которой хранятся все данные приложения для обработки запроса. Эти данные хранятся вActionContextобъекты, которые используютThreadLocalдля получения значений, специфичных для любого конкретного потока клиентского запроса.

5. OGNL

OGNL расшифровывается как Object-Graph Navigation Language. Это мощный язык выражений, очень похожий на JSP, который в основном используется дляссылка и манипулирование данными, присутствующими в ValueStack. Кроме того, он также помогает в передаче и преобразовании типа данных.

Подобно JSP, OGNL содержит корневой объект в контексте приложения. Таким образом, вы можете предоставить ссылку на объект по умолчанию, используя нотацию разметки, которая в данном случае обозначается символом решетки. Платформа Struts 2 реализует OGNL путем создания карты ActionContext. Ниже я перечислил компоненты карты ActionContext:

  • заявка
  • Сессия
  • Стек значений
  • Запрос
  • Параметры
  • Атрибуты

Таким образом, вы познакомитесь с основами Struts 2. В следующем разделе этой статьи о Struts 2 вы сможете сразу перейти к коду и реализовать все, что вы узнали до сих пор.

что такое тег br в html

Обучающая демонстрация Struts 2

Здесь я буду создавать простое приложение, в котором вам нужно будет ввести свое имя, и приложение будет приветствовать вас. Ниже приведен снимок экрана с полной структурой проекта:

Как видите, в этом проекте мы создадим 5 файлов:

  1. HelloWorld.java
  2. index.jsp
  3. welcome.jsp
  4. web.xml
  5. struts.xml

Примечание. Перед тем, как начать этот проект, убедитесь, что в вашей системе уже установлен Tomcat.

ШАГ I: В вашем Eclipse выберите File> New> Dynamic Web Project. Введите имя проекта и нажмите New Runtime.

ШАГ II: Здесь вам нужно выбрать версию Apache Tomcat, которую вы загрузили в свою систему, и нажать Далее.

ШАГ III: Затем нажмите «Обзор» и перейдите в каталог, в котором были сохранены зависимости Tomcat. После этого нажмите «Готово» и продолжите создание проекта.

ШАГ IV: Теперь добавим jar-файлы Struts, которые потребуются для успешного выполнения этого проекта. Вы можете скачать JAR-файлы из Вот . Когда вы будете готовы с файлами JAR, скопируйте файлы JAR и вставьте их в WebContent> WEB-INF> lib.

ШАГ V: Теперь, когда мы готовы со всеми конфигурациями, давайте настроим файлы кода, начиная с HelloWorld.java. Для этого щелкните правой кнопкой мыши проект> Создать> Класс. Введите название пакета и класса и нажмите «Готово».

ШАГ VI: Введите приведенный ниже код в поле HelloWorld.java файл.

package com.edureka открытый класс HelloWorld {частное имя строки public String getName () {возвращаемое имя} public void setName (имя строки) {this.name = name} public String execute () {return 'success'}}

ШАГ VII: Затем создайте новый index.jsp в разделе WebContent и введите следующий код:

 

ШАГ VIII: Теперь снова создайте новый welcome.jsp в разделе WebContent и введите следующий код:

Добро пожаловать:

ШАГ IX: Теперь перейдите в WebContent> WEB-INF и введите приведенный ниже код в web.xml файл.

Struts2Demo index.html struts2 org.apache.struts2.dispatcher.ng.filter.StrutsPrepareandExecuteFilter struts2 / *

ШАГ X: Наконец, в разделе Ресурсы Java> src создайте struts.xml файл

welcome.jsp

ШАГ XI: Теперь перейдите к index.jsp страницу и щелкните ее правой кнопкой мыши. Выберите «Выполнить на сервере», чтобы запустить приложение.

На этом мы подошли к концу статьи о Struts 2 Tutorial. Если вы хотите узнать больше о Java, вы можете обратиться к нашему .

Теперь, когда вы поняли, что такое учебное пособие по Struts 2, ознакомьтесь с от Edureka, надежной компании по онлайн-обучению с сетью из более чем 250 000 довольных учащихся по всему миру. Курс обучения и сертификации по Java J2EE и SOA от Edureka предназначен для студентов и профессионалов, которые хотят стать Java-разработчиками. Курс разработан, чтобы дать вам хорошее начало в программировании на Java и обучить вас как основным, так и продвинутым концепциям Java, а также различным средам Java, таким как Hibernate и Spring.

Есть вопрос к нам? Пожалуйста, укажите это в разделе комментариев к этой статье «Учебник по Struts 2», и мы свяжемся с вами как можно скорее.