Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
бИЛЕТЫ_GOSam.doc
Скачиваний:
2
Добавлен:
01.04.2025
Размер:
1 Мб
Скачать
☆

2)Сервлеты. Жизненный цикл сервлета. Класс HttpServlet. Интерфейсы HttpServletRequest, HttpServletResponse.

Сервлет является Java-интерфейсом, реализация которого расширяет функциональные возможности сервера. Сервлет взаимодействует с клиентами посредством принципа запрос-ответ.

Интерфейс Servlet и жизненный цикл сервлета

Сервлеты выполняются на платформе Web-сервера как часть того же процесса, что и сам Web-сервер. Web-сервер отвечает за инициализацию, вызов и уничтожение каждого экземпляра сервлета. Web-сервер взаимодействует с сервлетом через простой интерфейс: javax.servlet.Servlet.

Жизненный цикл севрлета начинается, когда контейнер сервлетов загружает севрлет в память, обычно в ответ на первый запрос, который получает сервлет. Перед тем, как сервлет получит возможность обработать этот запрос, контейнер сервлетов вызыват метод init сервлета. После выполнения метода init сервлет может ответить на свой первый запрос. Все запросы обслуживаются методом service сервлета, который получает запрос, обрабатывает его и отправляет ответ клиенту. В течении жизненного цикла сервлета метод service вызывается один раз для каждого запроса. Каждый новый запрос обычно обрабатывается в новом программном потоке, в котором выполняется метод service. Когда контейнер сервлета завершает выполнение сервлета, вызывается метод destroy сервлета для освобождения ресурсов сервлета.

Класс HttpServlet

Сервлеты, работающие с клиентами через Web, обычно расширяют класс Http-Servlet. Метод service, как правило, переопределяется, чтобы иметь возможность различать стандартные методы запросов, получаемые от Web-браузера клиента. Двумя наиболее распространенными типами запросов HTTP (их также называют методами запросов) являются get и post. Запрос get получает информацию (получение HTML-документа или изображения). Запрос post помещает (или отправляет) данные на сервер. Типичное применение запросов post — отправка на сервер информации* например, для аутентификации, или данных из формы* в которую пользователь ввел информацию.

В классе HttpServlet определены методы doGet и doPost для реакции на запросы типа get и post клиента. Эти методы вызываются методом service класса HttpServlet, который, в свою очередь, вызывается при поступлении запроса на сервер. Метод service сначала определяет тип запроса, а затем вызывает соответствующий метод.

Методы doGet и doPost принимают в качестве параметров объекты HttpServletRequest и HttpServletResponse, которые дают возможность осуществлять взаимодействие между клиентом и сервером. Методы интерфейса HttpServletRequest облегчают доступ к данным запроса. Методы интерфейса HttpServletResponse облегчают сервлету возврат результатов Web-клиенту в виде HTML.

Интерфейс HttpServletRequest

При каждом вызове методы doGet и doPost класса HttpServlet принимают в качестве параметра объект, который реализует интерфейс HttpServletRequest.Web-сервер, который исполняет сернлет, создает объект HttpServletRequest и передает его методу service сервлета (который, в свою очередь, передает его методу

doGet или doPost). Этот объект содержит запрос, поступивший от клиента. Имеется множество методов, дающих возможность сервлету обрабатывать клиентский запрос. Некоторые из этих методов принадлежат интерфейсу Servlet Request — интерфейсу, который расширяется интерфейсом HttpServletRequest.

Интерфейс HttpServletResponse

При каждом обращении методы doGet или doPost объекта HttpServlet принимают объект, который реализует интерфейс HttpServletResponse. Web-сервер, который исполняет сервлет, создает объект HttpServletResponse и передает его методу service сервлета (который, в свою очередь, передает его методу doGet или doPost). Этот объект содержит ответ клиенту. Имеется множество методов, дающих возможность сервлету сформировать ответ клиенту. Некоторые из этих методов принадлежат интерфейсу ServletResponse — интерфейсу, который расширяется интерфейсом HttpServletResponse.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]