С высокого уровня Struts2 является фреймворком pull-MVC (или MVC2). Шаблон Model-ViewController в Struts2 реализован с помощью следующих пяти основных компонентов:
- действия
- Перехватчики
- Стек значений / OGNL
- Результаты / Типы результатов
- Посмотреть технологии
Struts 2 немного отличается от традиционной инфраструктуры MVC, где действие берет на себя роль модели, а не контроллера, хотя есть некоторые совпадения.
Приведенная выше диаграмма изображает контроллер M odel, V iew и C для архитектуры высокого уровня Struts2. Контроллер реализован с помощью сервлет-фильтра Struts2 и перехватчиков, эта модель реализована с помощью действий, а представление представляет собой комбинацию типов результатов и результатов. Стек значений и OGNL обеспечивают общий поток, связывая и обеспечивая интеграцию между другими компонентами.
Помимо вышеперечисленных компонентов, будет много информации, касающейся конфигурации. Конфигурация для веб-приложения, а также конфигурация для действий, перехватчиков, результатов и т. Д.
Это обзор архитектуры шаблона Struts 2 MVC. Мы рассмотрим каждый компонент более подробно в последующих главах.
Запросить жизненный цикл
На основе приведенной выше диаграммы вы можете понять рабочий процесс в жизненном цикле запросов пользователя в Struts 2 следующим образом:
Пользователь отправляет запрос на сервер для запроса какого-либо ресурса (например, страниц).
Диспетчер фильтров просматривает запрос и затем определяет соответствующее действие.
Применяются настроенные функции перехватчика, такие как проверка, загрузка файла и т. Д.
Выбранное действие выполняется на основании запрошенной операции.
Опять же, настроенные перехватчики применяются для выполнения любой последующей обработки, если это необходимо.
Наконец, результат подготавливается представлением и возвращает результат пользователю.