|
В предыдущей статье я проводил обзор фреймворка Spring с целью ознакомить читателей с его общим устройством.
В данной статье я бы хотел перейти к планированию будущего приложения на Spring. Определить его цели, структуру и основные компоненты.
Итак, представим, что основная цель - это на протяжении всей серии статей получить базовые знания и представление необходимые для конструирования и разработки веб-приложений на Spring. В качестве учебного примера возьмём страницу инвайтов для моего проекта AllOfRSS.com. Задача: создать страницу, где пользователи могут оставлять свои e-mail для получения в будущем приглашений на тестирование проекта, а также страницу о проекте.
Я специально не привожу в качестве примера сложных архитектурных решений, алгоритмов и функциональных решений, так-как честно считаю, что данного примера достаточно для формирования общего представления и знаний для того, чтобы начать пробовать использовать Spring самостоятельно. Главное дождаться и прочитать остальные статьи из серии..
Для воплощения поставленной задачи в жизнь, необходимо предусмотреть такие функциональные части:
- Контроллеры приложения и бработка данных
- Маппинг реквестов (URLs)
- Источник/хранилище данных
- Дополнительные библиотеки
В Spring MVC присутствуют несколько типов контроллеров, каждый из которых представляет собой абстрактную реализацию адаптированную под конкретные требования. Всё что нам остается - это выбрать подходящий тип и унаследовать от него наши классы контроллеров. Вот существующие типы контроллеров: AbstractController, MultiActionController, AbstractCommandController, AbstractFormController, SimpleFormController, AbstractWizardFormController.
Для реализации поставленной задачи нам потребуется два типа контроллеров:
- Для вывода и обработки формы (SimpleFormController).
- Для отображения страницы о проекте (AbstractController).
Я лишь предлагаю вам использование тех или иных классов и никаким образом не навязываю. Вы всегда вольны самостоятельно выбирать нужную вам имплементацию.
Все мы прекрасно знаем, что удобные читаемые УРЛы понятны и легкодоступны не только пользователям, но и поисковикам. В Spring MVC есть несколько механизмов маппинга реквестов: BeanNameUrlHandlerMapping, SimpleUrlHandlerMapping, HandlerInterceptor. Для нашего приложение возьмём SimpleUrlHandlerMapping, так-как он позволяет более гибко сконфигурировать нужный нам маппинг.
Определим основные УРЛы приложения:
- /welcome - главная страница, на которой размещается форма. Будет соотвествовать контроллеру вывода и обработки формы.
- /about - страница с описанием проекта. Будет соответствовать контроллеру отображения страницы о проекте.
В качестве источника/хранилища данных выбираем вашу любимую базу данных и создаём табличку для хранения e-mail адресов пользователей. Я выбрал MySql, однако опять таки не ограничиваю вас в выборе. Для работы с базой данных будет использован Hibernate. Подключение и его настройка будут рассмотрены в следующей статье, посвященной непосредственно имплементации поставленной задачи.
Далее, список необходимых дополнительнх библиотек (скачиваем и ложим их в папочку WEB-INF/lib в проекте):
- ant-antlr-1.6.5.jar
- antlr-2.7.6.jar
- cglib-nodep-2.1_3.jar
- commons-beanutils-1.7.0.jar
- commons-collections-3.2.jar
- commons-dbcp-1.2.2.jar
- commons-discovery.jar
- commons-fileupload.jar
- commons-httpclient-3.0.1.jar
- commons-io.jar
- commons-lang-2.3.jar
- commons-logging.jar
- commons-pool-1.3.jar
- dom4j-1.6.1.jar
- hibernate-validator.jar
- hibernate3.jar
- jdom.jar
- jstl.jar
- jta.jar
- log4j.jar
- mysql-connector-java-5.1.5-bin.jar
- spring-hibernate3.jar
- spring.jar
- standard.jar
Теперь мы с вами на один шаг ближе к реализации поставленной задачи. Всё что теперь осталось - это всего лишь написать код, чем мы и займёмся в следующей статье.
Также читаем:
Запись опубликована Andrey Yasinetskiy@Software Development. Пожалуйста, оставляйте комментарии там.
|