- •Министерство образования Республики Беларусь
- •Аннотация
- •Анатацыя
- •Annotation
- •Реферат
- •Содержание
- •Введение
- •Сервлеты.
- •Определение и понятия
- •Основные сведения о сервлетах
- •Основная характеристика алгоритмов сжатия
- •Краткий анализ фреймворков
- •Краткий анализ фреймворков
- •Заключение анализа
- •Заключение
- •Список использованных источников
Сервлеты.
Определение и понятия
Приведём основные определения и понятия.
Сервлеты – это модули расширения для запрос-ответ ориентированных серверов, таких как web сервера с поддержкой JAVA. Например, сервлет ответственный за передачу информации из HTML форм для обновления базы данных компании.
Контейнер сервлетов — программа, представляющая собой сервер, который занимается системной поддержкой сервлетов и обеспечивает их жизненный цикл в соответствии с правилами, определёнными в спецификациях. Может работать как полноценный самостоятельный web-сервер, быть поставщиком страниц для другого веб-сервера, например Apache, или интегрироваться в Java EE сервер приложений. Обеспечивает обмен данными между сервлетом и клиентами, берёт на себя выполнение таких функций, как создание программной среды для функционирующего сервлета, идентификацию и авторизацию клиентов, организацию сессии для каждого из них.
JSP(Java Server Pages) — технология создания Web-приложений, основанная на однократной компиляции Java-кода (сервлета) при первом обращении к нему с последующим выполнением методов этого сервлета и помещением полученных результатов в набор данных, которые отправляются в браузер.
Фреймворк(англ.framework– каркас, структура) — структура программной системы; программное обеспечение, облегчающее разработку и объединение разных компонентов большого программного проекта. В отличие от библиотек, которые объединяют набор подпрограмм близкой функциональности, фреймворк содержит в себе большое количество разных по назначению библиотек.
Основные сведения о сервлетах
Когда пользователь работает с интерактивным web-сайтом, все, что он видит, отображается в браузере. За кулисами процесса web-сервер принимает от вас запросы во время сессии, возможно, передает их в другой код (возможно, другим серверам) для обработки запроса и обращения к данным, а также генерирует результаты для отображения в браузере.
Сервлет представляет собой диспетчер процесса. Он находится на web-сервере и обрабатывает входящие запросы и исходящие ответы. Вообще говоря, он не имеет ничего общего с представлением.
Помимо JVM для работы сервлета требуется контейнер, который будет обеспечивать связь между указанным пользователем URL и серверными компонентами, обрабатывающим запрос. Во время работы сервлета, контейнер загружает и инициализирует сервлет, а также управляет его жизненным циклом.
Жизненный цикл сервлета состоит из следующих шагов:
В случае отсутствия сервлета в контейнере.
Класс сервлета загружается контейнером.
Контейнер создает экземпляр класса сервлета.
Контейнер вызывает метод init(). Этот метод инициализирует сервлет и вызывается в первую очередь, до того, как сервлет сможет обслуживать запросы. За весь жизненный цикл метод init() вызывается только однажды.
Обслуживание клиентского запроса. Каждый запрос обрабатывается в своем отдельном потоке. Контейнер вызывает метод service() для каждого запроса. Этот метод определяет тип пришедшего запроса и распределяет его в соответствующий этому типу метод для обработки запроса. Разработчик сервлета должен предоставить реализацию для этих методов. Если поступил запрос, метод для которого не реализован, вызывается метод родительского класса и обычно завершается возвращением ошибки инициатору запроса.
В случае если контейнеру необходимо удалить сервлет, он вызывает метод destroy(), который снимает сервлет из эксплуатации. Подобно методу init(), этот метод тоже вызывается однажды за весь цикл сервлета.