Знакомство с архетипами
Есть еще один способ создать Maven-проект в IDEA — на основе архетипа:

Тут предлагается создать проект на основе одного из существующих архетипов. Что же это за архетипы такие и зачем они нам нужны?
Maven стандартизировал шаблоны проектов — такие шаблоны называются архетипами. Помните стартовую структуру проекта — папки src, java, test и так далее? Так вот эта структура папок задана с помощью архетипа.
Образцы шаблонов есть на официальном сайте Maven. С их помощью можно сгенерировать разные стартовые проекты — простое приложение, плагин, сайт.
Список доступных архетипов можно получить, выполнив в консоли команду: mvn archetype:generate
Популярные архетипы
Самые популярные архетипы — это:
- 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 фреймворков и пары десятков библиотек — вот современный “язык, на котором я пишу”.
Веб-приложение на Maven
Отдельно хотелось бы остановиться на архетипе maven-archetype-webapp.
Это классическое веб-приложение, написанное на Java. И хотя оно немного устарело после набравшего популярность Spring’а, тебе как новичку, оно будет очень полезно. Что нужно знать об этом архетипе?
Он позволяет собрать простое веб-приложение — результатом сборки будет war-файл. Deploy можно настроить так, чтобы твое веб-приложение сразу добавлялось к Tomcat. И наконец, ты можешь поэкспериментировать с примитивными сервлетами и JSP.
Если ты создашь проект на основе этого архетипа, то получишь такую структуру папок:

Из интересного тут несколько вещей:
- папка webapp;
- папка WEB-INF;
- файл web.xml;
- index.jsp.
Во-первых, тут есть папка webapp (от Web Application), в которой и будут храниться все ресурсы твоего веб-приложения.
Во-вторых, файл web.xml — это дескриптор развертывания веб-приложения. В нем описано как твое веб-приложение должно взаимодействовать с веб-сервером и его клиентами.
В-третьих, тут есть файл index.jsp, который является довольно простой формой сервлета. Он рабочий и ты можешь поэкспериментировать со своим первым JSP-сервлетом, меняя его.
Более подробно обо всем этом мы расскажем в теме посвященной сервлетам и веб-приложениям.
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ