Сервлеты.

Сервлет – это небольшой веб-компонент, который помещается в программный контейнер и решает определенную задачу (например, регистрацию нового пользователя в системе) , взаимодействуя с клиентом в сети по принципу запрос-ответ, например, по протоколу HTTP.

Жизненным циклом сервлета управляет контейнер сервлета. Именно он выполняет непосредственно прием запроса от клиента и впоследствие отправку ответа. Разработчик лишь определяет содержимое ответа. Наиболее популярные контейнеры сервлетов – Apache Tomcat и Jetty.

Все классы и интерфейсы, необходимые для работы с сервлетами, определены в пакетах javax.servlet и javax.servlet.http. Ваш класс сервлета должен наследовать один из этих классов.

Про установку Apache Tomcat вы можете прочитать в соответствующем разделе.

Теперь далее. Попробуем создать свой первый сервлет. Для этого создадим класс JavaExampleServlet и наследуемся от класса HTTPServlet для работы с HTTP-запросами. Затем объявим сервлет, воспользовавшись аннотацией @WebServlet. С другими реализациями интерфейса Servlet можно ознакомиться, прочитав официальную документацию на сайте Oracle по ссылке https://docs.oracle.com/javaee/7/api/ . Класс HttpServlet содержит ряд методов по работе с разными типами HTTP-запросов, а именно: GET, POST, PUT, DELETE, HEAD, OPTIONS и TRACE. Наш сервлет будет обрабатывать два типа запросов: GET и POST. Для этого необходимо переопределить соответствующие методы.

 

Класс HttpServletRequest представляет собой клиентский запрос. Параметры запроса можно получить, вызвав метод getParameter(), передав ему имя нужного параметра.

Класс HttpServletResponse представляет ответ, который вы должны определить. Мы возвращаем пользователю html-страничку с приветствием.

Для сборки проекта я использовал Maven. Перейдите по адресу вашего сервлета (/helloservlet) и передайте ему имя в качестве одного из параметра запроса.

http://localhost:8080/ExampleServlet/helloservlet?name=Andrey

На экране должно отобразиться следующее:

screen

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *