Руководство сервлетов Java для начинающих


Опубликованно 15.01.2019 00:42

Руководство сервлетов Java для начинающих

Java-Сервлет-это программа на стороне сервера, написанный на языке программирования, который получает сигналы от клиента и отправляет ответы обратно. Это ключевой элемент, формирующий типичный Java EE, кроме того, JSP, EJB, XML и другие, связанные с технологией. Приложение может быть упаковано в WAR-файл (Веб-AR chlorophyll) для развертывания на веб-сервере. Сервер, который можно запустить Java-сервлет называется контейнер. Программа, которая выполняется на сервере, можно создавать динамические web-страницы. Java Servlet: основы

Самые популярные и широко используемые контейнеры Tomcat и JBoss. Технически сервлет-это обычный Java-класс, который имеет расширение общего протокола клиент-сервер или HTTP. На практике, используется для обработки запросов, с помощью изменения HttpServlet GET и POST соответственно. Контейнер сервлетов Java обеспечивает Http.ServletRequest и Http.ServletResponse - юридических лиц, которые работают по схеме запрос-ответ. И, как правило, используется в сочетании с JSP для генерации динамического контента.

Типичный сценарий модели: JSP представляет пользователю форму для ввода данных. Сервлет получает входные данные, обрабатывает их и отправляет ответ. Для качественной работы используются специальные фильтры.

Java Servlet Filters являются дополнительных компонентов Java, которые используются для захвата и обработки запросов перед отправкой салфетки и ответ после завершения ее код, и, прежде чем контейнер отправляет ответ клиенту.

Типичные задачи, которые выполняются с помощью фильтров: Регистрации параметров запроса для записи файлов. Проверка подлинности и авторизация запроса ресурсов. Формат тела запроса или название перед его отправкой в сервлет. Сжатие данных ответов, отправленных клиенту. Изменение ответа, добавив некоторые файлы cookie. Заголовок сервлетов Java.

Фильтры подключаются и настраиваются в файле описания (web.xml). Сервлеты и фильтры не знают друг друга, поэтому можно добавить или удалить фильтр, просто изменив web.xml. Разрешается иметь несколько фильтров для одного и того же ресурса или создать цепочку фильтров для web.xml или запустить Java Servlet filters, путем реализации javax.servlet.Filter интерфейс. Основные функции Сервлета

Одновременных запросов на сервер, обрабатываются потоков, что обеспечивает важные качества веб-параллелизм и параллелизм.

Основные функции: Переносимость. Поскольку Java-это независимый от платформы, и то же самое верно и для сервлетов. Например, можно создать в операционной системе Windows для разработчиков приложений GlassFish используется в качестве веб-сервера, а затем могут работать в любой другой операционной системы, такие как Unix, Linux с веб-сервером apache, Java Servlet. Эта особенность делает его ноутбук, и это его главное преимущество по сравнению с CGI. Эффективность и масштабируемость. Как только Сервлет реализован и нагрузка на веб-сервера, можно сразу начать выполнение запросов клиентов. Называется легкий поток, таким образом, запросы от нескольких клиентов могут быть установлены одновременно с помощью функции hyper-threading Java. В отличие от CGI, где сервер запускает новый процесс для каждого запроса клиента. Надежность. Наследуя главные функции Java, таких как сборка мусора, обработка исключений, менеджер безопасности Java и другие, менее восприимчивым к проблемам с управлением и потери памяти. Это делает разработку приложений на него, безопасно или свободным от ошибок. Необходимость применения динамических веб-страниц

Есть много причин, по которым бизнес хотели бы создать динамические веб-страницы "на лету", например, когда данные на веб-сайте часто меняются. Сайты, Новости и погода, как правило, основаны на CGI, чтобы сохранить свежий контент, который не требует постоянного внимания разработчиков. Веб-сайт электронной коммерции, в котором перечислены текущие цены и уровни запасов, используют CGI чтобы получить содержание спроса, получение внутренней инфраструктуры компании.

Многие пользователи имеют опыт использования технологии java для создания веб-сервисов на базе CGI, но в Java Сервлеты являются более эффективными, более мощный, проще в использовании и дешевле традиционных альтернатив CGI.

Преимущества Java-Сервлетов: Эффективность. В традиционной CGI каждого HTTP-запроса, запускает новый процесс, CGI. Даже если ваш код-это хорошо реализовано, зачастую возникает значительное количество накладных расходов, а не только при запуске процесса, но в момент его выполнения. При использовании сервлетов, JVM остается загруженной в память, и каждый запрос обрабатывается поток Java. Как, например, Java Servlet, если в традиционной модели CGI существует число X одновременных запросов, это означает, что код программы загружается в память X раз. Это превращается в лишнюю нагрузку на веб-сервер. Тем не менее, в среде сервлета есть потоки X, где запускается только одна копия класса. Результатом этого является повышение эффективности и масштабируемости на различных платформах. Комфорт. В отношении использования программного обеспечения, не имеет смысла изучать новый язык, например, Perl, только для выполнения функции CGI. Кроме того, сервлеты имеют разветвленную инфраструктуру для многих задач, связанных с HTML, что значительно ускоряет процесс разработки. Мощность - к сожалению, CGI-сценарии оставляют желать лучшего. Например, номер своей обычной программы не могут говорить непосредственно с веб-серверов, что означает, что вы должны создать весь интерфейс. Сервлеты могут напрямую взаимодействовать с веб-серверов, что упрощает операции, которые требуют прямого доступа к хранилищам данных. Они также являются уникальными, поскольку они могут обмениваться данными с другими салфетки и сохранения информации между запросами, что делает устал отслеживать очень легко. Переносимость java применяется непосредственно в сервлеты. В самом деле, почти все основной веб-сервер, который используется в настоящее время, поддерживает Java-Сервлетов, непосредственно или с помощью надстройки. Экономика. С точки зрения разработки, реализации сервлетов-это гораздо дешевле, чем другие варианты, которые требуют, чтобы кодирования успешно сотрудничала с веб-серверами. Java Servlet redirect готов и может снизить стоимость бизнеса, не жертвуя преимуществами динамического контента. Создать структуру каталогов

Для начала, создайте следующую структуру каталогов.

Где в папке: Deploy - разместить созданный файл. Src - устанавливаются исходные файлы Java в пакете net.codejava.servlet. WebContent - хранят и JSP-страницы других веб-ресурсов. WebContent WEB-INF - у вас есть идентификатор web.xml. WebContent WEB-INF - скомпилированные классы.

В дальнейшем, создают исходный файл Java под названием QuickServlet.java в каталоге src net codejava сервлетов с помощью следующего кода.

Этот сервлет вызывает несколько методов HttpServlet: init (): вызывается метод, когда осуществляется первый клиент. Как правило, здесь вводится код инициализации. doGet () - вызывается каждый раз, когда HTTP-запрос GET.

Сервлет представляет два элемента: HttpServletRequest - объект, объемлющий все заголовки HTTP-запросов, чтобы получить контроль параметров GET и POST, а также другие HTTP-заголовки, отправленные клиентами с помощью метода getParameter () и getHeader (), соответственно. HttpServletResponse - используется для получения ответа на HTTP-запрос, выполняет настройку заголовков ответа и отправляет HTML-код нового пользователя. В метод doGet (), отправляют простой HTML код, который отправляет сообщение, например, "Привет, я-сервлет Java!".

Метод для выполнения запросов клиента: DoPost () вызывается, когда пользователь запрашивает HTTP POST. DoGet () - включает в себя Http.ServletRequest и Http.ServletResponse, в качестве аргументов. В этом случае получают значения двух параметров ширины и высоты прямоугольника запроса для вычисления площади и отправить результат клиенту. Destroy () контейнера можно позвонить, когда нужно удалить Java ee Сервлет останавливается. Написание JSP-страницы

Создает файл с именем index.jsp в каталоге WebContent следующего содержания.

На этой странице JSP: Размещении гиперссылки с атрибутом href = Quick.Сервлет, который указывает относительный путь сервлета и сопоставления URL-адресов для него. Нажав на эту ссылку, получают HTTP-запрос GET к серверу, и вызывает метод doGet (). Чтобы доказать, отправка HTTP-запроса, создают простой формы с двух текстовых полей-ширина и высота. Атрибут формы в действие, устанавливается на относительный путь. Кнопку "Отправить" и называется "Рассчитать".

Страницы JSP будет выглядеть так.

Объявление и настройки Java Servlet web

Чтобы сервлет мог отвечать на запросы пользователей, необходимо объявить и присвоить в файле дескриптора приложения web. Создается XML-файл с расширением web.xml под WebContent каталог WEB-INF со следующим XML-кодом.

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

Перед началом сборки убеждаются, что значение переменной среды PATH, которая включает в себя каталог JDK_HOME in, чтобы они могли получить доступ в панель команд и иметь файл, который обычно имеет специальный контейнер сервлетов.

При использовании Tomcat файл помещается в TOMCAT_HOMElib и называется. Открывают программу командной строки операционной системы и изменяет Рабочий каталог на QuickServlet, как указано в структуре. Он вводит следующую команду: javac -cp lib TOMCAT_HOME servlet-api.jar "-d CLASS_DIR SRC_DIR QuickServlet.java.

Заменяют имена TOMCAT.HOME, CLASS_DIR и SRC_DIR значения: TOMCAT_HOME. Это каталог для установки на компьютер в папку программы. Если путь содержит пробелы, они размещаются следующим образом: CLASS_DIR =WebContent WEB-INF-classes SRC_DIR =src net codejava servlet.

Эта команда компилирует файл QuickServlet.java и бы создан .class в WebContent WEB-INF-classes. Упаковка веб-приложений

Стандартный способ развертывания приложения Java EE, в коробке, с расширением файла WAR. В командной строке вводятся команды, убедитесь, закончить задает точку: jarcfvdeployQuickServletApp.war -C WebContent.

Программы jar поместить все в папку в zip-файл формата под названием Quick.ServletApp.war каталоге. Сейчас реализуют файл Quick.ServletApp.war на сервере, копируются в каталог Tomcat. Запускают программу, следуя Tomcat 7.exe в каталоге. После входа в систему в консоли видно, что файл Quick.ServletApp.war реализован и сервер прослушивает порт 8080. Тесты QuickServletApp

Теперь вы открываете веб-браузер и введите следующий текст в адресной строке: HTTP: // localhost: 8080 / QuickServletApp. Учитывая, что не указана конкретная страница, поэтому, по умолчанию, index.jsp загружается сам по себе.

Чтобы проверить сервлет с HTTP-запрос GET, нажмите на ссылку "Нажмите здесь, чтобы отправить GET-запрос". Чтобы проверить это с помощью HTTP-запроса POST, нажать кнопку "назад" вашего браузера и вводятся два числа в ширину и высоту текстового поля. Нажмите кнопку "Рассчитать", и возвращает вычисленное области, в результате. Примеры Tomcat

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

Интерфейс Servlet - Центральная абстракция в Java API. HttpServlet наиболее распространенным сервлет, который обрабатывает HTTP-запросы, является подклассом, GenericServlet, который реализует интерфейс Servlet. Интерфейс Servlet объявляет эти методы abstract.

Жизненный цикл сервлета: voidinit (конфигурации Сервлета.Config) voiddestroy () voidservice (запрос Java Servlet request, в ответ Сервлета.Response)

Параметры сервлета и информация: Servlet.Config getServlet.Config (), Линия getServlet.Info (). Роль сервера Java

JSP-это другой эффективный способ создания динамического веб-контента с использованием Java. Самый простой способ объяснить разницу между ними-это признать, что сервлет будет в формате HTML, Java и JSP - Java в формате HTML. Оба этих методов эффективны и могут использоваться самостоятельно, но есть некоторые различия: Как правило, сервлеты выполняются быстрее, чем JSP, однако, JSP может быть скомпилирован на Java-сервлетов. Веб-разработчик Java, вы должны быть знакомы с обеими технологиями, и как они могут дополнять друг друга в одном приложении. Многие функции JSP можно выполнить на стороне клиента с помощью JavaScript. Это снижает нагрузку на веб-сервер, в периоды максимальной нагрузки, и, часто, это метод, используемый для крупных предприятий с большим трафиком.

Хотя независимого Java-приложения, достигли пика популярности несколько лет назад, но динамичный веб-контент, построенный на технологии Java, по-прежнему пользуется большим спросом у компаний во всем мире.

Если пользователь в настоящее время не использует Сервлеты Java для создания динамического содержимого, вы теряете интересную поле бесконечных возможностей для профессионального роста. Автор: Иван Фролов 10 Ноября 2018 года



Категория: обо всём