Опишите Entity-класс Car со свободным набором атрибутов (рекомендую базироваться на практике предыдущих уроков).
Реализуйте сервлетное приложение с CRUD для указанной сущности, с соблюдением следующих условий:
- Каждая из операций должна обрабатываться отдельным do-методом сервлета с маппингом
${contextPath}/car. Для данных операций должны быть корректно определены методы HTTP с учетом семантики; - Тела запросов и ответов должны быть представлены в виде JSON;
- Получение данных можно реализовать в любом из вариантов - по
id, указанному фильтру или любым иным образом вплоть до получения всего списка машин без фильтрации; - Хранение данных должно быть реализовано на базе PostgreSQL;
- Создание таблицы в БД должно быть реализовано с помощью миграций. Опционально могут быть добавлены индексы, в зависимости от используемого способа получения машин;
- Коммуникация с БД должна происходить через JPA, любые изменения данных должны происходить транзакционно;
- Классы бизнес-логики должны быть представлены синглтонами, их внедрение в сервлеты должно происходить с помощью функциональности слушателей.