Spring Web MVC Пакет Web MVC среды Spring предоставляет реализацию Model-View-Controller для Web-приложений. Реализация MVC среды Spring не является обычной реализацией. Она обеспечивает точное разделение между кодом домена модели и Web-формами и позволяет использовать все другие функции среды Spring, например, проверку. Архитектура MVC Архитектура MVC представляет собой широко используемый архитектурный подход к приложениям, основанным на Web. Архитектура разделяет приложения на три уровня: модель, представление и контроллер, и разделяет их соответствующие обязанности. Каждый уровень обрабатывает определенные задачи и имеет определенные обязанности в других областях. Другими словами, модель представляет бизнес-данные и бизнес-логику. Представление отображает содержимое модели. Оно обеспечивает доступ к данным из модели и определяет, как их следует представлять. Контроллер определяет поведение приложения. Он управляет пользовательскими запросами и выбирает представления. Среда Spring содержит тщательно разработанную среду MVC для создания Web-приложений. Инфраструктура Web-приложений MVC среды Spring основана на базовых функциях Spring. Это среда, в отличие Struts, основана на запросах, но в ней выполнена попытка устранить недостатки Struts. Среда Spring MVC определяет различные интерфейсы стратегий для всех обязанностей, которые необходимо обрабатывать в современных средах, основанных на запросах. Обязанности каждого из этих интерфейсов достаточно просты и понятны, поэтому пользователи Spring MVC могут легко создавать собственные реализации. Среда Spring Web MVC разработана на основе DispatcherServlet, действующего в качестве основного контроллера и ответственного за различные интерфейсы во время этапов выполнения HTTP-запроса. Обработчик по умолчанию представляет собой очень простой интерфейс контроллера всего лишь с одним методом: ModelAndView handleRequest(request, response). Далее перечислены наиболее важные интерфейсы, определенные в Spring MVC: HandlerMappings: С помощью сопоставлений обработчиков можно входящие запросы сопоставить соответствующим обработчикам. Spring MVC также предоставляет список предварительных и постпроцессоров и контроллеров, выполняющихся при определенных условиях, например, при сопоставлении URL-адреса, определенного для контроллера;HandlerAdapater: Выполнение соответствующего объекта, обрабатывающего входящие запросы;Controller(s): Компоненты, предоставляющие фактические функции обработки входящих запросов. Аналог C в MVC;View Resolver: Возможность разрешения имен представлений;Locale Resolver: Возможность разрешения языковых настроек, используемых клиентом, для поддержки i18n;Theme Resolver: Если приложение содержит персонализированные представления, основанные на темах, данный объект позволяет определять эти темы;Multipart Resolver: Предоставляет функцию обработки составных файлов, получаемых из HTML-форм.
Одним из наиболее важных преимуществ общей абстракции, предлагаемой Spring MVC, является возможность простого тестирования реализаций данных интерфейсов и приложения в целом. Схема DispatcherServlet позволяет простой и единообразный способ соответствия модели Spring IoC для настройки Web-уровней приложений. Подробней среда Spring MVC будет рассмотрена в части 6 данной серии учебных руководств.
|