Читайте также:
|
|
65. Какие методы работают в течение жизненного цикла сервлета? (п.2)
Создание экземпляра и загрузка-> инициализация init () -> destroy () -> destroy () ->Ликвидация сборщиком мусора
Сервлеты выполняются на платформе Web-сервера как часть того же процесса, что и сам Web-сервер. Web-сервер отвечает за инициализацию, вызов и уничтожение каждого экземпляра сервлета. Web-сервер взаимодействует с сервлетом через простой интерфейс: javax.servlet.Servlet.
Интерфейс javax.servlet.Servlet состоит из трех главных методов: init (), service (), destroy ()и двух вспомогательных методов: getServletConfig (), getServletInfo ().
Сервлеты являются для Web-серверов тем же самым, чем являются апплеты для Web-броузеров. Апплет выполняется в Web-броузере, выполняя действия по его запросу через специальный интерфейс. Сервлет делает то же самое, работая на Web-сервере.
При первой загрузке сервлета вызывается метод init ().Он создает ответ на каждый клиентский запрос, переданный ему с сервера. Метод init() принимает один аргумент – ссылку на объект ServletConfig, который содержит аргументы для инициализации сервлета. Этот объект имеет метод getServletContext (), возвращающий объект ServletContext, который содержит информацию об окружении сервлета.
Каждый запрос от клиента приводит к одному вызову метода service (). Этот метод читает запрос и формирует ответное сообщение при помощи своих двух аргументов ServletRequest и ServletResponse. Объект ServletRequest содержит данные от клиента. Объект ServletResponse содержит ответ сервлета клиенту.
Существуют два способа передачи информации от клиента к сервлету. Первый – через передачу значений в параметрах запроса. Значения параметров могут быть вставлены в URL. Второй способ передачи информации от клиента к сервлету осуществляется через InputStream.
Работа метода service() по существу проста – он создает ответ на каждый клиентский запрос, переданный ему с сервера.
Метод destroy () вызывается для освобождения всех ресурсов (например, открытые файлы и соединения с базой данных) перед выгрузкой сервлета. Этот метод может быть пустым, если нет необходимости выполнения каких-либо завершающих операций. Перед вызовом метода destroy() сервер ждет либо завершения всех обслуживающих операций, либо истечения определенного времени. Это означает, что метод destroy() может быть вызван во время выполнения какого-либо продолжительного метода service(). Важно оформить метод destroy() таким образом, чтобы избежать закрытия необходимых ресурсов до тех пор, пока все вызовы service() не завершатся.
Метод getServletConfig () возвращает ссылку на объект, который реализует интерфейс ServletConfig. Данный объект предоставляет доступ к информации о конфигурации сервлета, т.е. доступ к параметрам инициализации сервлета и объекту контектса сервлета ServletContext, который дает доступ к сервлету и его окружению.
Метод getServletInfo () определяется программистом, создающим сервлет, для возврата строки, содержащую информацию о сервлете, например: автор и версия сервлета.
66. С помощью каких классов или интерфейсов чаще всего создают сервлет? Напишите код. (п.2)
Интерфейс сервлета
public void init(ServletConfig config) throws ServletException
-Показывает, что сервлет помещен в службу
public void service(ServletRequest request,ServletResponse response)throws ServletException, IOException
-Отвечает на запрос клиента
public void destroy()
-Показывает, что сервлет удален из службы
public ServletConfig getServletConfig()
-Содержит параметры инициализации и начала работы сервлета
public String getServletInfo()
-Информация о сервлета, такая как имя автора, версия, copyright.
Дата добавления: 2015-09-11; просмотров: 76 | Поможем написать вашу работу | Нарушение авторских прав |