Что такое сервлеты Java и с чем их едят.

 

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

Сам сервлет выполняет определенную часть бизнес-логики в ответ на пришедший запрос. При этом сервлет напрямую не работает с HTTP-запросами и сам не отправляет ответ. Эта задача контейнера. В качестве контейнера сервлетов вы можете использовать Tomcat или Jetty. Лично я в примерах использую первый. О преимуществах тех или иных контейнерах сервлетов мы поговорим в отдельной статье.

Сервлеты – это средства расширения веб-сервера. Сами сервлеты описаны в спецификации Servlet 3.1 (на текущий момент это последняя версия спецификации).

Примеры привожу из NetBeans. В целом выбор IDE не имеет большого значения.

Создайте новое веб-приложение Java(в качестве сборщика я использую Maven).

maven_web

Жмем Далее.

 

maven_servlet_ex

Здесь только вводим название проекта и выбираем путь к нашему проекту. Снова жмем далее. Здесь нам предлагается выбрать версию Java EE и сервер приложений, который будет использоваться. Для нашего примера нам будет достаточно Tomcat.

 

tomcat

Сервлетом может быть любой POJO-класс. Для этого достаточно пометить его аннотацией @WebServlet и наследоваться от класса HttpServlet, определенного в пакете javax.servlet.http. Протокол http используется повсеместно, поэтому мы работаем с ним.

 

 

Класс HttpServlet имеет ряд методов для работы с разными типами HTTP-запросов(GET, POST, DELETE и другие). Для обработки тех или иных запросов нужно переопределить соответствующие методы. Например, мы работаем с  GET-запросами. В этом случае переопределим метод doGet() и выведем на экран сообщение при срабатывании метода.

 

 

 

Объекты классов HttpServletRequest и HttpServletResponse представляют собой Запрос и Ответ соответственно. Несмотря на то, что непосредственно отправкой ответа занимается контейнер, сформировать содержимое ответа должен сам разработчик.

 

Запускаем. В итоге на экране должна появиться надпись My First Servlet! Поздравляем!

Возможно данный урок будет расширен и дополнен. Следите за новостями!

 

 

 

 

 

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

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