Топ-100Создание первого сервлета - CodOrbits
LogoCodOrbits

Раздел: Servlets

Познакомьтесь с сервлетами Java: создание динамических веб-страниц и работа с HTTP-запросами и ответами.

Все разделы
Иконка Servlets

Создание первого сервлета

Last updated: 9 мая 2025 г.

Ниже приведен пример сервлета.

Класс сервлета наследуется от класса HttpServlet и в нем реализуются методы doGet, doPost.

В этих методах происходит прием информации от клиента через HttpServletRequest req и отправка информации клиенту через HttpServletResponse resp.

Пример программы:

1import java.io.IOException;
2import java.io.PrintWriter;
3
4import javax.servlet.ServletException;
5import javax.servlet.http.HttpServlet;
6import javax.servlet.http.HttpServletRequest;
7import javax.servlet.http.HttpServletResponse;
8
9public class MyServlet extends HttpServlet {
10
11	//Этот метод для приема Get запросов.
12	//Что такое Get, Post запросы разберемся позже.
13	protected void doGet(HttpServletRequest req,
14                     HttpServletResponse resp)
15                     throws ServletException, IOException {
16		//Получаем поток PrintWriter с которым мы уже знакомы
17		//из resp через который будем отправлять данные клиенту.
18		PrintWriter pw = resp.getWriter();
19		pw.write("Hello World!!!");
20	}
21}

Чтобы запустить сервлет его нужно сначала скомпилировать используя библиотеку в папке lib servlet-api.jar.

Перейдем в консоли в папку apache-tomcat-9.0.80\webapps\helloservlet\WEB-INF\classes и здесь скомпилируем MyServlet.java с использованием servlet-api.jar:

В папке как обычно появиться файлик с байткодом .class.


Конфигурация Сервлета с помощью web.xml

В файле Web.xml настраивается то, как будет развернут наш сервлет MyServlet.java.

Например, по какому адресу клиенты будут отправлять запросы для обработки нашим сервлетом и многие другие настройки.

Web.xml:

1<!-- в этом файле настраивается то как будет развернут 
2наш написанный сервлет MyServlet.java -->
3<!-- Ниже стандартные настройки web.xml. -->
4<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
5xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
6xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
7http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
8version="4.0"
9metadata-complete="true">
10    <!-- Теперь конфигурируем наш MyServlet.java -->
11    <servlet-mapping>
12        <!-- здесь мы даем имя нашему сервлету
13        не обязательно должно совпадать
14        с именем класса сервлета -->
15        <servlet-name>MyServlet</servlet-name>
16        <!-- здесь указываем адрес, по которому будет
17        доступен наш сервлет, то есть
18        localhost:8080/helloservlet/myservlet -->
19        <url-pattern>/myservlet</url-pattern>
20    </servlet-mapping>
21
22    <servlet>
23        <!-- указываем данное выше имя -->
24        <servlet-name>MyServlet</servlet-name>
25        <!-- здесь уже указываем имя класса сервлета -->
26        <servlet-class>MyServlet</servlet-class>
27        <!-- Вот так как ниже, например, можем указать,
28        чтобы сервлет запускался сразу при запуске
29        сервера, так как по умолчанию он запускается
30        при первом запросе клиента (число означает
31        приоритет загрузки, так как в этом файле могут
32        быть сконфигурированы и другие сервлеты) -->
33        <load-on-startup>5</load-on-startup>
34    </servlet>
35
36    <!-- теперь по адресу
37    localhost:8080/helloservlet/myservlet
38    выведется Hello World!!! -->
39</web-app>

Теперь можно проверять работу нашего сервлета.


Проверка работы сервлета

Запускаем файл startup.bat в папке bin для запуска контейнера сервлетов, то есть сервера.

Ждем пока полностью запуститься наш Tomcat.

Теперь через браузер сделаем запрос к нашему сервлету по аддресу, который мы прописывали в web.xml.

Всё работает. Как видим, мы как клиент через браузер отправили запрос серверу по адресу http://localhost:8080/helloservlet/myservlet и он отправил в ответ Hello World!!!.


Следующие уроки

Методы сервлета

13
мин.

Similar Articles Icon
Divider

Использование аннотации @WebServlet

11
мин.

Similar Articles Icon
Divider

Параметры в Get запросе

16
мин.

Similar Articles Icon