Создание простого 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?<имя параметра>=<значение параметра>
На этом создание примера завершено.
Спасибо.
Я расскажу как можно создать простое 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?<имя параметра>=<значение параметра>
На этом создание примера завершено.
Спасибо.


