В каждом плане проекта есть этап, когда функциональные задачи экстраполируются на требования заказчика. Эти задачи составят структуру плана реализации проекта. На практике, чем больше у вас возможностей для определения задач и выполняемой ими работы, тем лучше вы сможете следовать графику проекта.
Приложения CRUD (Create Read Update Delete) высоко востребованы клиентами и обычно требуют таких функций адресации, как:
- Простая обработка вставки / обновления / удаления записей (как их именования состояний)
- Система контроля привилегий, ролевая.
- Подтверждение ввода
- Средства для поддержки обработки стандартного набора взаимосвязей сущностей: один ко многим, многие ко многим.
- интернационализация
- Обеспечить быстрый ответ после отправки запроса и т. Д.
Этап 1 — настройка среды разработки
Эта фаза является общей для обоих проектов, и различаются только зависимости, включенные в файлы MAVEN pom.
- Зарегистрируйте сервер разработки в IDE
- Создайте веб-проект Maven в IDE
- Запустите веб-проект из IDE (протестируйте компиляцию, развертывание, запустите возможности, получите необходимые зависимости и обеспечьте совместимость между IDE, сервером и браузером)
- Зарегистрируйте сервер базы данных в IDE (я приложил файл SQL в качестве модели данных к этой статье). Я использовал базу данных Apache Derby.
- Установите соединение с сервером базы данных из IDE.
- Создайте экземпляр базы данных на сервере базы данных.
Этап 2 — Подготовить модель данных
На этом этапе включены следующие действия:
- Создайте диаграмму отношения сущностей (используйте визуальный инструмент проектирования базы данных)
- Определить объекты
- Создать схему
- Создать сущности
- Добавить свойства объекта
- Определить отношения между сущностями
- Перенаправить диаграмму отношения сущностей в сценарий SQL
- Запустите скрипт на сервере базы данных для генерации схемы
Для двух проектов Proof of Concept к этой статье уже добавлен сценарий sql Вы можете запустить этот скрипт, чтобы проверить прикрепленный код.
Этап 3 — подключить приложение к базе данных
- Добавить пример данных в базу данных (вставка из прикрепленного sql)
- Создать источник данных и пул соединений на сервере
- Источник тестовых данных (пул соединений ping)
- Убедитесь, что представления могут получить доступ к данным из базы данных (если какие-либо представления определены)
- Установите все необходимые параметры приложения
Этап 4 — Разработка бизнес-логики
Проект CRUDwithJSF2.2 |
CRUDwJJ проект |
Создание сущностей из таблиц базы данных.
Внимание: 1. не забудьте добавить свои сущности в persistence.xml 2. даже если ваша IDE автоматически создает сопоставление, обратите внимание на сопоставление отношений OneToMany или ManyToOne |
Создание объектов данных на основе таблиц базы данных.
|
Создайте AbstractFacade и его дочерние элементы DeparmentFacade и EmployeeFacade. Эти 3 класса облегчат вызов изменений в базе данных. |
Создайте EmployeeDAO и DepartmentDAO, которые управляют транзакциями базы данных для каждого из объектов данных. Кроме того, реализуйте соединение с базой данных с помощью класса утилит DatabaseUtil, поскольку это соединение является общим для каждого типа объектов. |
Этап 5 — Создание контроллеров
Проект CRUDwithJSF2.2 |
CRUDwJJ проект |
|
|
|
|
Stage 6 — Organize the application front-end
CRUDwithJSF2.2 project |
CRUDwithJSP project |
The JSFs can be generated, using templates. I used Create template . |
Place JSP pages in the application’s WEB-INF directory |
Define page header and footer inside template.xhtml |
Create page header and footer |
When you using templates there is little chance of code duplication. |
Remove instances of code duplication (header and footer code from JSP pages) |
By using templates it is much easier to customize the style of the application and offer an uniform look to it. |
Unfortunatelly, for pure JSPs the UI customization is available by adding css files as for any other client web page. |
Stage 7 — Achieve Internationalization: add language support
CRUDwithJSF2.2 project |
CRUDwithJSP project |
In face-config.xml define your properties file that contains the labels. Place the Bundle under resources area of the web application. <application> <resource-bundle> <base-name>/Bundle</base-name> <var>bundle</var> </resource-bundle> </application> |
Place the localization file in web.xml and define it under WEB-INF folder in order to access it easily. <context-param> <param-name>javax.servlet.jsp.jstl.fmt.localizationContext</param-name> <param-value>lang</param-value> </context-param> |
Learn