1. Знайомство з архетипами
Є ще один спосіб створити Maven-проєкт в IDEA – на основі архетипу:

Тут пропонується створити проєкт на основі одного з архетипів, які вже існують. Що ж це за архетипи і навіщо вони нам потрібні?
Maven стандартизував шаблони проєктів – такі шаблони називаються архетипами. Пам'ятаєш стартову структуру проекту - папки src, java, test тощо? Таку структуру папок встановлено за допомогою архетипу.
Зразки шаблонів є на офіційному сайті Maven. З їхньою допомогою можна згенерувати різні стартові проєкти – простий застосунок, плагін, сайт.
Список доступних архетипів можна отримати, якщо виконати в консолі команду: mvn archetype:generate
2. Популярні архетипи
Найпопулярніші архетипи – це:
- maven-archetype-quickstart;
- maven-archetype-site;
- maven-archetype-webapp;
- maven-archetype-j2ee-simple;
- jpa-maven-archetype;
- spring-mvc-quickstart.
Якщо хочеш створити порожній Java-проєкт, використовуй архетип maven-archetype-quickstart. Саме результат його роботи видно при створенні проєкту в IDEA в попередній лекції.
Якщо хочеш створити вебзастосунок, який буде працювати всередині вебсервера, відображати HTML-сторінки тощо, можеш сміливо брати за основу архетип maven-archetype-webapp.
Для створення сайту можна використовувати архетип maven-archetype-site. Або навіть архетип maven-archetype-site-simple, якщо сайт має бути дуже простим. Спробуй різні варіанти та подивися, який тобі більше сподобається.
Для роботи з Hibernate або JPA можна використовувати архетип jpa-maven-archetype.
Ну і нарешті, для роботи зі Spring теж є спеціальний архетип – spring-mvc-quickstart. Дуже корисним він буде саме для новачків. Більш детальну інформацію про нього можна знайти за цим посиланням.
Чим хороші архетипи? Вони навчають писати проєкти з нуля. Ніхто вже не пише їх просто на Java. Сучасні проєкти створюються на стеку технологій: списку з 5-10 фреймворків та пари десятків бібліотек — ось сучасна «мова, якою я пишу».
3. Вебзастосунок на Maven
Окремо хотілося б зупинитися на архетипі maven-archetype-webapp.
Це класичний вебзастосунок, написаний на Java. І хоча він трохи застарів після Spring'а, що перевершив його в популярності, тобі як новачкові, він буде дуже корисним. Що потрібно знати про цей архетип?
Він дозволяє зібрати простий вебзастосунок – результатом складання буде war-файл. Деплой можна налаштувати таким чином, щоб твій вебзастосунок одразу додавалася до Tomcat. І нарешті, ти можеш поекспериментувати з примітивними сервлетами та JSP.
Якщо ти створиш проєкт на основі цього архетипу, отримаєш таку структуру папок:

З цікавого тут кілька речей:
- папка webapp;
- папка WEB-INF;
- файл web.xml;
- index.jsp.
По-перше, тут є папка webapp (від Web Application), в якій зберігатимуться всі ресурси твого вебзастосунку.
По-друге, файл web.xml – це дескриптор розгортання вебпрограми. У ньому описано, як твій вебзастосунок має взаємодіяти з вебсервером та його клієнтами.
По-третє, тут є файл index.jsp, який є досить простою формою сервлета. Він робочий, і ти можеш поекспериментувати зі своїм першим JSP-сервлетом, змінюючи його.
Докладніше про все це ми розповімо у лекції, присвяченій сервлетам та вебзастосункам.
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ