Skip to content

Простой ear-архив

Синопсис


Как создавать простой сервелет Простой сервлет

Структура проекта

Cтруктура ear-проекта выглядит так:

simple-ear-parent
    ├──simple-jar-module
    │   ├──src
    │   │   └─main
    │   │       └─java
    │   │           └─com
    │   │               └─devblogs
    │   │                   └─TextPrinter.java
    │   └─pom.xml
    ├──simple-war-module
    │   ├──src
    │   │   └─main
    │   │       ├─java
    │   │       │   └─com
    │   │       │       └─devblogs
    │   │       │           └─SimpleServlet.java
    │   │       ├─resources
    │   │       └─webapp
    │   │           ├─index.jsp
    │   │           └─WEB-INF
    │   │               └─web.xml
    │   └─pom.xml
    ├──simple-ear-module
    │   └──src
    │       └─main
    │           └─application
    └──pom.xml

Процесс создания ear проекта в eclipse

Как видно из схемы ear-архив представляет из себя многомодульный проект, то есть из нескольких под проектов и общего проекта враппера. Чтобы создать ear-архив с помощью мавена создадим проект-парент и включим в него три подпроекта разных типов: jar, war и ear. Родительский проект будет типа pom то есть тот который включает в себя другие подпроекты.
В проджект эксплорере нажимаем правой кнопкой по фону и выбираем New->Other… в появившемся мастере ищем категорию Maven и в ней выбираем Maven Project, жмем Next:
1
Появится виндоу New Maven Project. Так как мы создаем проект враппер, куда позже добавим подпроекты, то выбираем чекбокс Create a simple project (skip archetype selection). Это означает что создается пустой проект в том смысле, что в него не будут включены всякие присущие мавену каталоги src, main etc. (кроме помчика):
2
В следующем виндове прописываем координаты (группу, артефактАйДи) и тип проекта. Тип проекта выбираем pom:
3
Жимем Finish и готово, проект добавится в Project Explorer. Теперь займемся под проектами, щёлкаем по фону проджект эксплорера, делаем все тоже самое, что в предыдущий раз, только теперь в окне «выбор проекта» выбираем Maven Module:
4
В этом окне вводим название подпроекта, выбираем проект-парент, тот который мы создали на предыдущем шаге и на этот раз чекбокс Create a simple project (skip archetype selection) не выбран.
5
Далее надо выбрать тип мавенского проекта, выбираем тот который по умолчанию maven-archetype-quickstart это значит, что создаётся проект со стандартной мавенской структурой:
6
Прописываем группу и артифактАйДи и жмём на Finish:
7
Следующий подпроект будет вебовского типа. Добавляем подпроект так же как и предыдущий, выбираем Maven Module, вводим название подпроекта, выбираем проект-парент:
8
Типом мавенского подпроекта будет maven-archetype-webapp:
9
Вводим группу и артифактАйДи для вебовского подпроекта и жмём Finish:
10
Последний подпроект который нужно добавить будет ear-подпроект. Этот подпроект и после сборки и станет тем самым ярником, который будем деплоить на аппликэйшен сервер. Для этого к нему нужно добавить зависимости на два предыдущих созданных подпроекта, чтобы он их в себя включал. Добавляем Maven Module выбираем чекбокс Create a simple project (skip archetype selection), вводим имя подпроекта, выбираем проект-парент и жмём на Next:
11
Вводим группу и артифактАйДи и тип проекта вводим ear:
12
После того как все подпроекты добавлены, осталось только добавить зависимости на jar и веб подпроекты в помчике ear-подпроекта:
13

14

java код

TextPrinter.java

package com.devblogs;

public class TextPrinter {
	public String getText() {
		return "test text";
	}
}

SimpleServlet.java

package com.devblogs;

import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class SimpleServlet extends HttpServlet {
	private TextPrinter textPrinter = new TextPrinter();

	@Override
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		response.setContentType("text/html");
		 
        // Actual logic goes here.
        PrintWriter out = response.getWriter();
        out.println("<h1>" + textPrinter.getText() + "</h1>");
	}

}

index.jsp

<html>
<body>
<h2>jsp page</h2>
</body>
</html>

Деплой ear-архива

Диплоить ярник будем на эппликейшен сервере Glassfish, для этого должен гласфиш быть уже скачен, сконфигурирован и запущен. Переходим в гласфише в секцию Applications и нажимаем на кнопку Deploy…:
17
Появится пэйджа выбора файла, кликаем по кнопке Выберите файл:
18
В проводнике ищем тот ear-архив который мы собрали:
19
Далее появится страница Deploy Applications or Modules с информацией о задеплоенным ear-архивом:
20
Наш задеплоенный ear-архив будет в списке рядом с другими приложениями на странице Applications:
21

Запуск

Запускать ничего не надо, все уже давно запущено. Как только мы задеплоили ear-архив на аппликэйшен сервер, наш ear-архив уже готов к работе. Для того чтобы проверить как он работает, открываем браузер и вводим адрес сервелета который расположен внутри ear-архива. По адресу https://localhost:8181/simple-war-module находится сам сервлет (не класс который расширяет класс HttpServlet), который по умолчанию выводит jsp-страницу:
15
По адресу https://localhost:8181/simple-war-module/simple-servlet ищится класс SimpleServlet, он нахоидтся с помощью дескриптора развертывания web.xml. Класс SimpleServlet выводит сообщение test text:
16

Ссылки

Create Maven EAR Project Eclipse
Create Ant EAR Project Eclipse
Простой модульный web проект с maven. Часть 1
Glassfish: Secure Admin must be enabled to access the DAS remotely

Поделиться в социальных сетях

Опубликовать в Google Plus
Опубликовать в LiveJournal
Опубликовать в Мой Мир
Опубликовать в Одноклассники
Опубликовать в Яндекс

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *