Tomcat java web start

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

В статье рассказывается о том, как поднять на своем компьютере локальный Java сервер и прописать простейшее web-приложение.

Введение

Tomcat нужен для работы Java сервера с применением сервлетов. Если грубо говоря, то сервелеты это аналог тех же PHP скриптов. На сервер Tomcat от клиентов приходят запросы. В зависимости от них сервер запустит те или иные сервелеты, которые сформируют ответы в виде текстовых файлов. Чаще всего это HTML страницы.

Установка JDK

Устанавливаем JDK. Если уже до этого устанавливали, то повторно не устанавливаем.

Если у вас в папке с Java есть только папка с названием jdk , но нет с названием jre , то аналогичным способом устанавливаем jre (по ссылке JRE для Java 8):

Выбор скачиваемого файла

Папка jre в папке Java

Для работы современных версий Android Studio или IntelliJ IDEA не нужно производить дополнительные действия, чтобы программы могли найти JDK и запускать Java приложения. Но мы будем на данный момент компилировать сервлеты вручную, так что для удобства мы пропишем путь к папке JDK в системную переменную Path в Windows. Ниже приведена инструкция для Windows 10.

У меня JDK находится в папке C:\Program Files\Java\jdk1.8.0_121\bin .

Кликните правой кнопкой по иконке Этот компьютер и перейдите в Свойства :

Пункт «Свойства» контекстного меню

Дополнительные параметры системы

Переменные среды

Внимание! Не вздумайте удалять всё содержимое переменной Path . Иначе у операционной системы возникнут очень большие проблемы. Вы должны дописать в эту переменную нужный путь:

Изменение параметра Path

Добавление нового пути

Подтверждение добавления пути

Установка Apache Tomcat

Скачиваем установочный файл:

Раздел Download на сайте

Скачивание установщика

Начальное окно установщика

Соглашение с лицензией

Эти компоненты должны быть выбраны:

Выбор устанавливаемых компонентов

Для учебных целей можно параметры оставить по умолчанию:

Настройка параметров сервера

Далее нужно указать путь к JRE (устанавливается при установке JDK). Обычно программа сама находит папку:

Выбор пути к JRE

Выбор папки установки Tomcat

Установка Tomcat

Завершение установки

После этого в трее должен появиться значок запущенного сервиса:

Значок запущенного сервиса

Перейдите по адресу http://localhost:8080/. Если вы видите это, то всё хорошо:

Запущенный сервер

Кстати, потом включать (например, при перезапуске компа) сервер можно запуском программы Monitor Tomcat из Пуска :

Программа Monitor Tomcat

Запуск сервера

Создание и сборка сервлета вручную

Напишем первое web-приложение вручную без каких-либо IDE.

Перейдем в папку, где установлен Tomcat. У меня это папка C:\Program Files\Apache Software Foundation\Tomcat 9.0 . Запомните этот путь, так как он вам еще много раз пригодится.

Выше говорилось, что сервлеты чем-то похожи на PHP скрипты (упоминание для тех, кто знает PHP). Но есть одна существенная разница. В PHP можно написать файл скрипта, закинуть в соответствующую папку и web-приложение готово. С Java такой трюк не пройдет. Нам соответствующие сервлеты нужно будет скомпилировать в байт-код и уже со сгенерированными .class файлами работать.

Итак, где-нибудь создайте произвольную папку. Советовал бы не использовать русские буквы, пробелы. И в пути к папке тоже желательно обойтись без русских букв. Я на рабочем столе создал папку testapp .

В ней создайте текстовой файл TestServlet.java с таким содержимым:

package com.example; 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 TestServlet extends HttpServlet  public void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException  resp.setContentType("text/html;charset=utf-8"); PrintWriter pw = resp.getWriter(); pw.println("

Hello, world!

"
); > >

Это и есть код нашего сервлета. Мы создаем наследника класса HttpServlet . В нем реализуем один метод doGet() , в котором вначале сообщаем что сервлет будет выдавать HTML документ. Потом вытаскиваем из resp ссылку на экземпляр PrintWriter . И то, что мы будем писать в нем, будет отдано сервером на запрос от клиента.

Первое, на что нужно обратить внимание. Кодировка файла TestServlet.java должна быть UTF-8 . У многих проблема с компиляцией данного файла возникает именно из-за проблем с кодировкой. Вот так кодировка выглядит в Notepad++ :

Выбор кодировки файла

Не используйте стандартный блокнот Windows!

Второе. Класс наследуется от HttpServlet . И для компиляции программы нам будет нужен jar файл с нужными классами внутри.

В папке Tomcat есть папка lib . В ней есть файл servlet-api.jar :

Файл servlet-api.jar

Копируем его в нашу папку с Java файлом:

Файл servlet-api.jar в папке проекта

Третье. Мы разместили наш класс в пакете package com . example (у вас может быть другой). А это означает, что в папке, где лежит наш Java файл нужно создать папку com , в ней папку example , и уже туда переместить файл TestServlet.java .

У меня для наших двух файлов получились такие пути:

Теперь можем приступить к сборке. Открываем командную строку cmd :

Командная строка

Перейдем в папку, что мы создали для размещения наших файлов. Не забывайте после каждой команды в командной строке для её запуска нажимать Enter :

cd C:\Users\Harrix\Desktop\testapp 

Переход в папку проекта

И запустим сборку. Если у вас в системной переменной Path не прописан путь к JDK (описано в начале статьи), то команда не сработает:

javac -encoding UTF-8 -cp .;servlet-api.jar com\example\*.java 

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

javac -classpath servlet-api.jar com\example\TestServlet.java 
javac -encoding UTF-8 -cp servlet-api.jar com\example\*.java 

Компилирование исходников

Если у вас не выведется список ошибок, а в папке с TestServlet.java файлом появится файл TestServlet.class , то всё получилось. Нам нужен будет этот файл и больше папка, созданная для сборки больше не пригодится:

Скомпилированный файл TestServlet.class

Собираем web-приложение

Перейдем опять в папку Tomcat. Там есть папка webapps с web-приложениями нашего сервера. В папке ROOT , как не сложно догадаться, располагается корневое приложение, которое вы видели при переходе на localhost:8080:

Папка webapps

В папке webapps создадим папку с названием web-приложения. Допустим, testingapp :

Созданная папка testingapp

В этой папке создайте папку WEB-INF , а в ней папку classes .

C:\Program Files\Apache Software Foundation\Tomcat 9.0\webapps\testingapp\WEB-INF\classes

В папке classes у нас должны находиться файлы байт-кода наших классов. То есть тут должен появиться файл TestServlet.class . Но мы помним, что класс был определен в пакете com.example .

Поэтому в папке classes создаем папку com , а ней папку example . И уже в эту папку кидаем файл TestServlet.class .

C:\Program Files\Apache Software Foundation\Tomcat 9.0\webapps\testingapp\WEB-INF\classes\com\example\TestServlet.class :

Файл TestServlet.class

Перейдем в папку WEB-INF . В ней создадим текстовой файл web.xml с таким содержанием:

Файл web.xml

   test com.example.TestServlet   test /test   

В тэге servlet-class мы указываем запускаемый класс сервлета, а в тэге url-pattern указываем url имя запускаемого сервлета.

Обязательно перезапустите сервер:

Остановка сервера

Запуск сервера

Всё сборка прошла успешно. Теперь можем проверить работу web-приложения. Для этого переходим по адресу:

Обратите внимание, что в адресе testingapp — это имя папки нашего приложения из папки webapps , а test — имя сервлета из тэга url-pattern из файла web.xml .

Если вы увидели в браузере это, то всё хорошо:

Работающее web-приложение

Если же увидели это, то что-то сделали не так. Проверьте свои шаги:

Ошибка 404

  • Tomcat-logo.svg by The Apache Software Foundation / (2020-02-02)

В статье рассказывается о том, как поднять на своем компьютере локальный Java сервер и прописать простейшее web-приложение.

В статье рассказывается о том, как поднять на своем компьютере локальный Java сервер и прописать простейшее web-приложение.

Harrix

Write an awesome description for your new site here. You can edit this line in _config.yml. It will appear in your document head meta (for Google search results) and in your feed.xml site description.

Источник

Configure Tomcat for Java web

In this turorial, we will find out about how to configure Tomcat in eclipse, and how to configure Tomcat to deploy web application.

Table of contents

Introduction to Tomcat

Tomcat is actually composed of a number of components, including a Tomcat JSP engine and other connectors, but the main component is Catalina, which provides the implementation of the servlet specification. When starting the Tomcat server, it’s Catalina that is actually starting. The variable CATALINA_HOME is a configuration property that stores the location of the Catalina files.

These are the configuration files in Tomcat’s CATALINA_BASE/conf directory:

Configure Tomcat in Eclipse

  • The first thing we have to do is to download Apache Tomcat in a link such as https://tomcat.apache.org/download-90.cgi. Download Tomcat web server
  • Unzip this file and we have; Unzip Tomcat file
  • This step we will add Tomcat into our Eclipse: Add Tomcat into Eclipse 1Add Tomcat into Eclipse 2Add Tomcat into Eclipse 2And click Apply and Close to agree our Tomcat version.

Configure Tomcat server to deploy web application

After we unzip Tomcat file, we will do something like:

Open startup.bat file

  • specify JDK for Tomcat.
  • Open startup.bat file in bin folder of Tomcat. (With Linux/Ubuntu OS, we have startup.sh file).
  • We will add some code into startup.bat file.
 # With Windows set JAVA_HOME="C:\Program Files\Java\jdk1.8.0_181" # With Linux/Ubuntu JAVA_HOME="/usr/lib/jvm/open-jdk" 

  • Next, we will configure for account to use Tomcat. Open tomcat-users.xml in conf folder. Tomcat was defined 4 roles:
    • manager-gui — allows access to the HTML GUI and the status pages
    • manager-script — allows access to the text interface and the status pages
    • manager-jmx — allows access to the JMX proxy and the status pages
    • manager-status — allows access to the status pages only

    We can declare a user with 4 roles

      rolename="manager-gui"/>  rolename="manager-script"/>  rolename="manager-jmx"/>  rolename="manager-status"/>  username="tomcat" password="mypassword" roles="manager-gui,manager-script,manager-jmx,manager-status"/> 

  • To run Tomcat, we double click into startup.bat file. (or startup.sh file if we use Linux/Ubuntu).
  • On browser, we type localhost:8080 .
  • With Tomcat, we have authenticate username / password that we write in tomcat-users.xml file.
  • In Tomcat, we have /manager (Tomcat Manager Application) is the most important. It will help us to manage Tomcat, and we can access it with following path: localhost:8080/manager .
  • In order to deploy web application to Tomcat, we can do the following image.
  • After that, demo application will be deployed to Tomcat.
  • Run demo application, we have:
  • Some errors in Eclipse when configure Tomcat

    • WARNING: Unable to load server configuration from . server.xml We only need to copy a path E:\apache-tomcat-9.0.16\conf into our path where has error.
    • Getting 404 — Page not found error 404 - Page not found errorWe can solve this error that follows some steps:
      • Step 1
        • Go to Eclipse IDE
        • Click on Servers Tab
        • Double click on Tomcat v9.0 Server at localhost Click in Server tab
      • Step 2
        • New Apache Tomcat configuration page will open
        • Go to Server Location section
        • Select Use Tomcat installation (takes control of Tomcat installation) Select Use Tomcat installation checkbox
      • Step 3
        • Save configuration
        • Restart Server by right clicking on tomcat server and click Restart
        • Visit http://localhost:8080 again and now you should see working tomcat page Resolved problem

    Wrapping up

    Источник

    Читайте также:  Php get var class name
    Оцените статью