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