4. Раздел. Пособие Struts2 в примерах.

Четвертый раздел пособия посвящен вопросам работы с базой данных. В качестве базы данных используется MySQL. В первых двух примерах раздела рассматривается прямое подключение к БД, при котором параметры сервера базы данных (драйвер, URL) и параметры авторизации пользователя (логин, пароль) определены во внешнем файле ресурсов. Для извлечения информации из ресурсного файла используется ClassLoader. В примере 4.3. используется пул подключений для создания логических соединений.

Пароль пользователя хранится в базе данных в виде HASH кода. В примерах приводится функция определения HASH пароля для выполнения авторизации.

4.1. Подключение к базе данных

В примере подключения к базе данных рассматривается вопрос проведения авторизации пользователя с использованием JDBC для прямого подключения к серверу. Структура примера включает две страницы - страницу определения параметров пользователя (логин и пароль) и страницу представления информации о пользователе (фамилия, имя и отчество), которые извлекаются из базы данных.

Доступ к основной странице представления информации о пользователе осуществляется только через вызов соответствуюущего действия после успешной авторизации. Попытка прямого открытия страницы сопровождается сообщением "Access denied". Для представления информации о пользователе используются
  • свойства Action-класса основной формы;
  • объект User (OGNL).

4.2. Работа с базой данных

В примере работы с базой данных рассматриваются вопрос чтения и представления информации, а также добавления и удаления записей. Для подключения к базе данных используется JDBC. Параметры подключения к базе данных определены во внешнем файле ресурсов connect.properties.

При представлении информации, добавлении и удалении записей используются выражения OGNL (Object Graph Navigational Language). Для минимизации ошибок пользователя при вводе информации и выборе записи для удаления применяется визуальный компонент списка select.

4.3. Использование пула подключений

В первой части описания примера рассмотрены необходимые и достаточные условия создания и настройки пула подключений с использованием контекстного файла context.xml и дескриптора приложений web.xml. Для проверки функционирования пула подключений приводится листинг JSP-страницы с использованием библиотеки стандартных тегов jstl.jar.

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