Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курсовая. Разработка серверной части сайта Электронный книжный магазин.docx
Скачиваний:
0
Добавлен:
02.01.2026
Размер:
1.94 Mб
Скачать

4. Конфигурация проекта Maven

Файл pom.xml (Project Object Model) является центральным конфигурационным файлом системы сборки Apache Maven. В контексте данного проекта он выполняет следующие ключевые функции:

  1. Определение метаданных проекта (идентификатор, версия, тип упаковки)

  2. Управление внешними зависимостями библиотек

  3. Настройка параметров компиляции Java-кода

  4. Конфигурация сервера Jetty для локального запуска

  5. Автоматизация процесса сборки и развертывания веб-приложения

  1. Разработка собственных классов

5.1. Модель данных (Model)

Данный раздел посвящён бизнес-сущностям приложения, которые отражают основные концепции предметной области "электронный книжный магазин".

5.1.1. Класс Book

Назначение: Класс Book представляет собой основную бизнес-сущность приложения — книгу, доступную для покупки в электронном магазине. Этот класс является моделью данных, которая отражает структуру таблицы books в базе данных и используется для передачи информации между слоями приложения.

1. Поля:

  • private int id – уникальный идентификатор книги в системе,

  • private String title – название литературного произведения,

  • private String author – фамилия и имя автора книги,

  • private double price – цена книги в рублях,

  • private String imageUrl – URL-адрес изображения обложки,

  • private int quantity – текущее количество экземпляров на складе.

2. Методы:

2.1. Конструкторы:

  • Book() – конструктор по умолчанию, создаёт пустой объект книги для последующего заполнения через сеттеры,

  • Book(String title, String author, double price, String imageUrl, int quantity) – параметризованный конструктор, инициализирует объект книги с указанными характеристиками (без id, который генерируется БД).

2.2. Геттеры (методы доступа):

  • int getId() – возвращает уникальный идентификатор книги,

  • String getTitle() – возвращает название книги,

  • String getAuthor() – возвращает имя автора,

  • double getPrice() – возвращает цену книги,

  • String getImageUrl() – возвращает URL изображения обложки,

  • int getQuantity() – возвращает количество экземпляров на складе.

2.3. Сеттеры (методы изменения):

  • void setId(int id) – устанавливает идентификатор книги (используется при загрузке из БД),

  • void setTitle(String title) – устанавливает название книги с проверкой на null и пустую строку,

  • void setAuthor(String author) – устанавливает имя автора с валидацией входных данных,

  • void setPrice(double price) – устанавливает цену книги с проверкой на неотрицательное значение,

  • void setImageUrl(String imageUrl) – устанавливает URL изображения (допускается null),

  • void setQuantity(int quantity) – устанавливает количество на складе с проверкой на неотрицательность.

5.1.2. Класс User

Назначение: Класс User представляет сущность зарегистрированного пользователя системы. Этот класс инкапсулирует данные учётной записи и обеспечивает базовые операции управления профилем пользователя.

1. Поля:

  • private int id – уникальный идентификатор пользователя,

  • private String username – уникальное имя для входа в систему,

  • private String password – пароль пользователя (в текущей реализации хранится в открытом виде),

  • private String email – адрес электронной почты.