Форум программистов, компьютерный форум, киберфорум
Создание простого Web приложения в Intellij IDEA и его деплой в Glassfish
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
Создание простого Web приложения в Intellij IDEA и его деплой в Glassfish
Доброго времени суток!

Я расскажу как можно создать простое web приложение в среде Intellij IDEA, а в качестве сервера приложения буду использовать GlassFish. Сразу оговорюсь, что некоторые аспекты будут отличаться в зависимости от конкретной ОС. Я использовал ubuntu.

На первом этапе нам необходимо проверить правильно ли у нас прописаны переменные окружения, в частности для jdk, maven.
Для проверки jdk, можно использовать env | grep JAVA_HOME. Результат выполнения, должен быть примерно таким:
JAVA_HOME=/opt/oracle/jdk1.7.0_21/
Для проверки maven, можно использовать env | grep M2_HOME. Результат выполнения, должен быть примерно таким:
M2_HOME=/opt/apache-maven-3.2.2/

На втором этапе необходимо развернуть glassfish. Для этого переходим на сайт: https://glassfish.java.net/download.html На момент написания была доступна версия 4.1, но для нее, судя по описанию рекомендована версия JDK 8 u20 или выше. Поэтому переходим в раздел https://glassfish.java.net/download-archive.html . Далее скачиваем релиз под свою платформу. В моем случае я выбрал glassfish-4.0.zip (в рамках примера можно ограничиться glassfish-4.0-web.zip). Далее распаковываем, если нужно, и переходим в директорию glassfish4/bin/ . Далее стартуем domain : asadmin start-domain. После старта, проверяем доступность консоли: http://localhost:4848

На третьем этапе создаем проект в Intellij IDEA. New Project -> Maven -> Next (groupId и ArtifactId) -> Next (указываем имя проекта) -> Finish
Далее добавляем framework support (правок кнопкой по проекту -> Add Frameworks Support -> Web Application -> Ok)
Далее добавляем зависимость в pom:
<dependency>
<groupId>javax</groupId>
<artifactId>javaee-api</artifactId>
<version>7.0</version>
</dependency>

Создаем сервлет:
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Arrays;
import java.util.Map;

@WebServlet(name = "TestServlet", urlPatterns = "/testServlet")
public class TestServlet extends HttpServlet {

@Override
public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException {
PrintWriter printWriter = response.getWriter();

printWriter.println("Request method: " + request.getMethod());

Map<String, String[]> allRequestParameters = request.getParameterMap();
for (Map.Entry<String, String[]> entry : allRequestParameters.entrySet()) {
printWriter.println("Key:" + entry.getKey() + " value: " + Arrays.toString(entry.getValue()));
}
}
}
Далее можно сменить имя артифакта (File -> Project Structure -> Artifacts)
Для того, чтобы увидеть как работает наш сервлет необробимо в Run/Debug Configurations в After launch выставить http://localhost:8080/<имя артифакта>/testServlet
Также можно передвать параметры GET http запроса вида http://localhost:8080/<имя артифакта>/testServlet?<имя параметра>=<значение параметра>

На этом создание примера завершено.
Спасибо.
Новые блоги и статьи
20. Мат мед. Абсентеизм как отдельный тип простоя
anaschu 29.05.2026
Апдейт модели: исправленные баги, абсентеизм и новые механизмы Продолжаю развивать ранее описанную модель рабочего коллектива на AnyLogic. За последние несколько дней был проведён серьёзный. . .
19. здоровье, усталость и психотип работника влияют на производительность предприятия, и наоборот, производительность на здоровье, усталось и психотип
anaschu 28.05.2026
Дискретно-событийная модель рабочего коллектива на AnyLogic: здоровье, выгорание, психотипы и микростимуляция Привет, коллеги. Хочу поделиться итогами нескольких недель работы над симуляционной. . .
"Прокси" для последовательного порта
Eddy_Em 28.05.2026
Эту штуку написал я достаточно давно. Но сейчас вот понадобилось настроить датчик грозы, но при этом не отключать его от "метеодемона". Соответственно, надо запустить этот "прокси": метеодемон будет. . .
Рефакторинг программы уравнивания.
Massaraksh7 26.05.2026
Пример по предыдущей записи в блоге. Но, надо заметить, что, во-первых, там оптимизация не только математики, но и работы с базой данных, и с графами, а во-вторых, это ещё не всё.
Использование TThread в Lazarus для математических вычислений.
Massaraksh7 25.05.2026
Производя рефакторинг своих программ на предмет ускорения их работы, обратил внимание на такой аспект, как сокращение времени матвычислений. Дело в том, что приходится работать с большими матрицами. . .
Модель здравосохранения 18. Чем здоровее работник, тем быстрее выгорает
anaschu 24.05.2026
Имитационная модель корпоративного здравоохранения: что показывает математика Сегодня в модели рабочего коллектива на AnyLogic появились три новые механики — выгорание через накопленную усталость,. . .
Модель здравосохранения 17. Планы на выгорание
anaschu 23.05.2026
Вот конкретная схема реализации: В классе Работник добавить: накопленнаяУсталость — растёт каждый час работы, снижается в перерывы и болезни коэффициентПрезентеизма — снижает продуктивность. . .
Изменение цветов в палитре gif файла aka фавикона
russiannick 23.05.2026
Изменение цветов в палитре gif файла, юзаемого как фавиконка в составе html-файла, помещенная в base64, средствами нативного Java Script, навеянное сном в майский день. Для работы необходим браузер,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru