Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОФОРМЛЕНИЕ ДИПЛОМНЫХ И КУРСОВЫХ РАБОТ / Приложение В-1_Содержание и пример курсовой работы.doc
Скачиваний:
42
Добавлен:
19.02.2016
Размер:
1.87 Mб
Скачать

1.3. Технология Struts

Struts – это каркас для разработки приложений, который создан и используется вместе с популярной J2EE (Java 2, Enterprise Edition) платформой. Он укорачивает время разработки и делает разработчиков более продуктивными, обеспечивая их набором инструментов и компонент для создания приложений.

Использование каркаса означает, что программисту не нужно тратить время на создание всего приложения. Он может сосредоточиться на кодировании бизнес-логики и представлении (presentation layer) приложения, а не на частях "верхнего уровня" таких как описание того как принимать входные данные от пользователя или как генерировать выпадающие списки на Веб-странице.

Другое преимущество в использовании каркаса состоит в том, что он позволяет коду быть в большой степени независимым от платформы (как это и есть в случае Struts). И это может быть достигнуто во многих случаях даже без рекомпиляции кода – то же самое Веб-приложение (или ".war" файл) может просто быть скопирован с одного сервера на другой.

Другое особенно важное преимущество – это то, что каркас дает для начинающих разработчиков "место для старта". Очевидно, что проще иметь основу для приложения и расширять её чем писать все с нуля. Это качество Struts сохраняет программистам дни или даже недели планирования и разработки.

Struts опирается на шаблон проектирования Model-View-Controller (MVC, Модель-представление-поведение»). Шаблон MVC широко признан как один из самых хорошо разработанных и зрелых шаблонов проектирования которые используются в данное время.

MVC – архитектура программного обеспечения, в котороймодель данныхприложения,пользовательский интерфейси управляющая логика разделены на три отдельных компонента, так, что модификация одного из компонентов оказывает минимальное воздействие на другие компоненты.

Модель (Model). Модель предоставляет данные (обычно для View), а также реагирует на запросы (обычно от контролера), изменяя свое состояние.

Представление (View). Отвечает за отображение информации (пользовательский интерфейс).

Поведение (Controller). Интерпретирует данные, введённые пользователем, и информирует модель и представление о необходимости соответствующей реакции.

Рисунок 1.2. Схема паттерна проектирования MVC

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

Каким же образом шаблон проектирования MVC реализуется в Struts?

Компоненты моделей предоставляют "модель" для бизнес-логики или данные для Struts программы. Например, в Struts приложении, которое управляет данными клиентов, возможно было бы выгодно создать компонент модели "Customer", который бы предоставлял программе доступ к информации о клиентах. Компоненты моделей, как правило, являются стандартными Java классами. Для моделей не требуется специального формата, поэтому можно использовать код, написанный для других проектов.

Компоненты представления это те части приложения, которые отвечают за презентацию информации и её прием от пользователя. В Struts компоненты представления соответствуют Веб-страницам.

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

Компоненты представления создаются при помощи JavaServer Pages (JSP). Struts предлагает разработчику большое количество «JSP Custom Tags» (иногда называемых Struts Tags) которые расширяют обычные возможности JSP и упрощают разработку компонентов представления.

Компоненты контроля координируют деятельность в приложении. Имеется ввиду, например, прием данных от пользователя и обновление базы данных с помощью компонента модели или обнаружение ошибки back-end системой и ее обработка. Контроллер принимает данные от пользователей, принимает решение о том какие компоненты моделей должны быть обновлены и выбирает компоненты представления, которым посылается сообщение сигнализирующее о необходимости демонстрации обновленных результатов.

Одно из главных преимуществ компонент контроля состоит том, что они позволяют разработчику перенести код, занимающийся обработкой ошибок, из JSP-страниц в само приложение. Это может значительно упростить логику в страницах и облегчить их разработку и обслуживание.

Компоненты контроля в Struts являются Java классами и должны быть созданы по определенным правилам. В контексте Struts их обычно называют «Action classes».

Таким образом, технология Struts позволяет разработчикам представлять (и проектировать) сложные приложения как последовательность относительно простых компонентов моделей, представления и контроля. Это ведёт к лучшим, более однородным и легче обслуживаемым проектам.