Жизненный цикл сервлета в Java: методы, архитектура, сравнение и настройка

Опубликовано: 2021-03-03

Оглавление

Введение

Сервлеты дают метод, который не только основан на компонентах и ​​не зависит от платформы, но также очень полезен для создания веб-приложений. Сервлеты имеют доступ к java API и JDBC API для доступа к базам данных. В случае сервлетов Java, несмотря на отсутствие ограничений с точки зрения производительности программы CGI (Common Gateway Interface), все же существуют некоторые недостатки.

Что такое сервлет?

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

Источник

CGI против сервлетов

До появления сервлетов CGI широко использовался. CGI — это способ передать запрос, полученный от пользователя, прикладной программе. Хотя CGI — это способ для веб-сервера, он также получает ответ от браузера (клиента). Когда пользователь запрашивает веб-страницу в браузере, сервер отправляет ее ему обратно.

Когда клиент хочет заполнить форму на веб-странице и попытаться отправить ее снова, она обрабатывается прикладной программой. Сервер передает информацию небольшому веб-приложению. Эта программа сначала обрабатывает данные, а затем отправляет их обратно через подтверждающее сообщение.

Кратко о методах жизненного цикла сервлета

В основном существует три метода жизненного цикла сервлета, которые мы можем описать как:

  1. в этом()
  2. оказание услуг()
  3. разрушать()

Источник

Архитектура сервлетов

  • Во-первых, он считывает данные, отправленные клиентами. Затем он вставляет HTML-форму на веб-страницу, а затем отправляет запросы, отправленные клиентами.
  • После этого сервлет обрабатывает данные и подключается к системе управления базами данных, выполняя RMI, вызывая веб-службы.
  • После обработки документы могут быть отправлены в текстовом и gif-форматах.
  • Наконец, он отправляет HTTP клиенту.

Источник

Теперь обсудим эти методы подробнее

1. инициализация()

Метод init() вызывается только один раз после создания экземпляра сервлета. Сначала он инициализирует сервлет. Servlet.init() указывает, что экземпляр сервлета был успешно создан.

Синтаксис метода init() выглядит следующим образом:

public void init (конфигурация ServletConfig) выдает ServletException {

// код инициализации

}

2. обслуживание ()

Всякий раз, когда сервлет получает запрос, веб-контейнер вызывает метод service().

  • Для сбора запрошенных данных b
  • у клиента используется объект запроса службы.
  • Для генерации выходного содержимого используется объект ServletResponse.

Сигнатура метода service() задается как:

служба public void (запрос ServletRequest, ответ ServletREsponse)

бросает ServletEXception , IOException {

// код обработки запроса

}

Метод service() использует методы doGet, doPost, doPut, doDelete и многие другие.

3. уничтожить ()

Пользователь вызывает метод destroy() по крайней мере один раз за жизненный цикл сервлета . Он используется для прекращения соединения с базой данных, для освобождения выделенной памяти и ресурсов. Это также помогает в целях очистки, и с этим связана сборка мусора.

Сигнатура метода destroy()

общественное недействительное уничтожение () {

// Код завершения

}

Читайте также: Сервлет против JSP

Настройка среды сервлета

Чтобы создать приложение сервлета, сначала нам нужно выполнить несколько шагов, таких как установка Tomcat Server, которая описана ниже:

1. Создание структуры каталогов

Источник

Во-первых, нам нужно создать указанную выше структуру каталогов внутри каталога с именем Apache — каталог Tomcat\webapps. Нам нужно хранить все HTML, статические файлы, изображения в веб-приложении, создавая папку. Сервлеты должны храниться в папке класса. Наконец, файл web.xml должен находиться в папке WEB-INF.

2. Создание сервлета

Есть три разных способа создания сервлета.

  1. Путем реализации интерфейса Servlet.
  2. Расширяя класс GenericServlet.
  3. Необходимо расширить класс сервлета HTTP.

В основном сервлет может быть сформирован, если мы сможем расширить абстрактный класс httpServlet.

3. Компиляция сервлета

Для компиляции сервлета требуется файл JAR —

  1. Установив путь к классам.
  2. Вставив банку в папку JRE/lib/ext.

4. Создайте дескриптор развертывания

DD можно определить как XML-файл, который используется веб-серверами, чтобы

они могут легко запускать сервлеты. DD используется для нескольких важных целей.

  1. Путем сопоставления URL-адреса с классом сервлета.
  2. По инициализации параметров.
  3. Путем определения страницы ошибок.
  4. По ролям безопасности.
  5. Объявляя библиотеки тегов.

5. Запустите сервер

Чтобы запустить сервер Apache Tomcat, нам нужно дважды щелкнуть файл startup.bat в каталоге apache-tomcat/bin, и он начнет работать.

6. Запуск сервера Tomcat в первый раз

Чтобы запустить Tomcat Server в первый раз, нам нужно установить JAVA_HOME в переменной Environment. Следующие шаги упомянуты ниже. Щелкните правой кнопкой мыши на «Мой компьютер », и нам нужно перейти в « Свойства » .

Источник

  1. Далее мы перейдем на вкладку « Дополнительно », и нам нужно нажать кнопку « Переменные среды » .

Источник

  1. Поэтому мы нажмем кнопку «Создать » и введем JAVA_HOME в текстовое поле «Имя переменной» и путь JDK в текстовое поле «Значение переменной». Затем нам нужно сохранить его, нажав OK.

Источник

7. Запуск приложения сервлета

Когда мы запустим кнопку сервлета, она будет выглядеть так:

После открытия браузера нам нужно набрать http:localhost:8080/First/hello

Оформить заказ: Заработная плата Java-разработчика в Индии

Интерфейс запроса сервлета

ServletRequest стремится предоставить клиенту подлинные фрагменты информации о сервлете, который

включает тип контента, длину, значения параметров и многое другое.

Методы

1. получить атрибут (строка)

Возвращает значение атрибутов по запросу, если атрибуты не существуют

затем возвращает NULL.

2. получитьИменаАтрибутов()

Он возвращает имена существующих атрибутов, запрашиваемых клиентами.

3. получитьCharacterEncoding()

Возвращает некоторый набор символов.

4. ПолучитьДлинаСодержимого()

Возвращает запрошенный размер объекта данных .

5. ПолучитьТипСодержимого()

Сначала он запрашивает идентификатор объекта. Если не найдено, возвращает значение NULL.

6. получить входной поток ()

Возвращает двоичный поток данных, полученных клиентом, а затем возвращает строки.

7. получитьпараметр(строка)

Возвращает строку параметров.

8. получить имена параметров ()

Он возвращает имена параметров.

9. получить параметры значений (строка)

Он возвращает значения параметров. Они всегда существуют в виде строки.

10. ПолучитьПротокол()

Он возвращает протокол и версию в виде <протокол>/<основная версия>.<дополнительная версия>.

11. получитьЧтение()

Он возвращает буферизованный считыватель для чтения текста в теле запроса.

12. получить реальный путь (строка)

избегает виртуального пути и возвращает реальный путь.

13. получить удаленный адрес()

Он возвращает IP-адрес.

14. получить удаленный хост ()

Он возвращает полностью структурированное имя хоста агента.

15. получить схему ()

Он возвращает URL-адрес, используемый в запросе.

16. получитьИмяСервера()

Он возвращает имя хоста сервера.

17. получитьПортСервера()

Он возвращает номер порта.

18. setAttribute(Строка, Объект)

Этот метод накапливает атрибут для любого типа запросов.

Ответ сервлета

ServletResponse вызывает объект, и записывается ответ различных пользователей. Веб-контейнер отвечает за все эти действия. Шаг для создания этого очень важен. Шаг — создание объекта.

Теперь давайте подробно поговорим о ServletConfig и ServletContext ниже.

Конфигурация сервлетов

1. Веб-контейнер создает объект конфигурации на основе параметров инициализации.

2. Должен присутствовать один ServletConfig для каждого сервлета.

Методы

1. Равно(Объект)

проверяет, имеет ли текущий объект равное значение с данным объектом.

2. ПолучитьHashCode()

Работает как хэш-функция по умолчанию.

3. ПолучитьТип()

Возвращает тип текущего экземпляра.

4. Членский клон ()

Если мы вызовем этот объект, может быть создана поверхностная копия. По умолчанию он ссылается на текущий объект .

5. ТоСтрока()

Возвращает строку, представляющую текущий объект.

Контекст сервлета

Давайте обсудим ServletContext ниже:

  1. Очень важно сделать ссылочный объект доступным для каждого сервлета веб-приложения.
  2. Ссылочный объект на самом деле является их реализацией во время выполнения.

Два типа сервлетов могут быть определены как:

1. Общие сервлеты

Мы ссылаемся на универсальные сервлеты как на независимые от протоколов, а также требуется вызывать их путем переопределения. Мы можем вызывать общие сервлеты тремя способами:

  • HTML-файл

Мы можем создать очень простой HTML-файл, который может выглядеть как WebContent/index.html.

  • Файл класса Java

Общий сервлет может быть создан путем расширения класса GenericServlet. Если мы сможем создать простой новый файл класса, мы сможем переименовать его в универсальный. Путь к файлу выглядит так:/javaResouces/src/default package/generic.java.

  • XML-файл

Мы можем найти этот файл по пути WebContent/WEB-INF/web.xml. Мы можем сопоставить сервлет с определенным URL-адресом.

2. HTTP-сервлет

Этот тип сервлетов является не чем иным, как расширением классов сервлетов. Хотя он зависит от HTTP, он устанавливает некоторые правила, которые помогают веб-браузеру и серверам обмениваться данными, а HTTP-сервлет также может переопределять методы doGet() или doPost(). Кроме того, он может переопределить оба метода.

Преимущества сервлетов

Теперь давайте посмотрим на некоторые преимущества сервлетов:

  1. Производительность выдающаяся.
  2. Сервлеты могут выполняться в адресном пространстве сервера. В результате можно сказать, что нет необходимости создавать отдельное адресное пространство для обработки клиентского запроса.
  3. Они не зависят от платформы и в основном основаны на компонентах.
  4. Сервлеты защищены, так как менеджер безопасности устанавливает некоторые ограничения для защиты ресурсов и данных.
  5. Во время работы пользователям не нужно беспокоиться об освобождении памяти как о методе выделения мусора.
  6. Сервлеты обеспечивают полную функциональность, так как доступны все библиотеки. Он может легко взаимодействовать с апплетами и другими механизмами.

Источник

Недостатки сервлетов

Ограничения сервлетов обсуждаются как –

  1. Одновременно в JVM может быть загружен только один сервлет. Итак, можно сказать, что имеет значение количество запросов.
  2. Когда есть запрос, может быть только поток. Никаких процессов там быть не должно.
  3. Разработка сервлета стоит дорого, а иногда и довольно проблематично.
  4. Нам нужны другие настройки в браузере, такие как JRE (Java Runtime Environment) на сервере для запуска сервлетов.

Читайте также: Идеи и темы проектов Java

Изучайте онлайн-курсы по программному обеспечению от лучших университетов мира. Участвуйте в программах Executive PG, Advanced Certificate Programs или Master Programs, чтобы ускорить свою карьеру.

Заключение

В эту современную эпоху цифрового мира технологии и Интернет стали движущей силой всего. Интернет беспокойный. Каждую секунду он занят передачей больших объемов данных.

Но из-за массовой передачи данных интернет тормозит, так как нам нужна еще и скорость. Итак, динамические сайты создаются разработчиками программного обеспечения. Эти сайты меняются и обновляются в любой момент. Чтобы узнать больше о сервлетах в Java и разработке, ознакомьтесь с программой Executive PG upGrad в разделе «Разработка программного обеспечения с полным стеком» и начните свое путешествие.

Основная цель этой статьи — дать читателям базовую концепцию сервлетов, чтобы они могли получить общее представление о сервлетах.

Получите работу своей мечты

Подать заявку на участие в программе Executive PG в Full Stack Development