Простое Java web-приложение на Tomcat

Автор: | 24.05.2019

Создадим простое веб приложение на Java, а Tomcat нужен для запуска сервлетов — это некий аналог php скриптов. Сервер получив запрос от клиента, запустит нужный сервлет, который в свою очередь сформирует ответ — html страницу.

Установка и настройка Tomcat сервера под Ubuntu 18.04 описана здесь, а установка Java тут.

Мы же приступим к созданию и сборке сервлета в ручную. В папке со всеми вашими Java проектами или где-нибудь еще создайте папку с нашим проектом:

  • sudo mkdir jsp

Создадим в ней файл HelloServlet.java (кодировка файла utf-8):

Наш класс наследуется от HttpServlet и для компиляции нужен jar файл содержащий его. В каталоге, с установленным, Tomcat есть папка lib. В ней есть файл servlet-api.jar. Создадим ссылку на него в каталоге с нашим проектом:

  • sudo ln -s /opt/tomcat9/lib/servlet-api.jar /javaproject/jsp/servlet-api.jar

Поскольку наш класс находится в пакете my.example, то в папке с проектом нужно создать каталог my, в нем каталог example и переместить туда java файл.

Приступим с сборке, ее можно запустить любой из двух команд:

  • javac -classpath servlet-api.jar my/example/HelloServlet.java
  • javac -encoding UTF-8 -cp servlet-api.jar my/example/*.java

Если все прошло успешно, то в каталоге рядом с HelloServlet.java должен появиться файл HelloServlet.class.

Теперь, перейдем в каталог с установленным веб-сервером Tomcat (у меня):

  • sudo cd /opt/tomcat9

В нем мы можем видеть папку webapps, в которой располагаются веб-приложения. В каталоге ROOT располагается корневое веб-приложение сервера Tomcat (http://ip_addr:8080).

Создадим в папке webapps каталог для нашего веб-приложения:

  • sudo mkdir jsp

В этой папке создадим каталог WEB-INF, а в нем каталог classes. В папке classes будут располагаться файлы с байт-кодом, т.е. HelloServlet.class. Но поскольку наш файл находится в пакете my.example, то сначала создаем в папке classes каталог my, в нем example и уже в него переносим HelloServlet.class

В каталоге WEB-INF также создадим файл web.xml со следующим содержимым:

Перезапускаем веб-север:

  • sudo service tomcat9 restart

И если все нормально, то по адресу http://id_address:8080/jsp/hello вы увидите наше веб-приложение.