Руководство сервлетов Java для начинающих
Опубликованно 11.11.2018 15:10
Java-сервлет-это программа на стороне сервера, написанный на одном языке программирования, который получает сигналы от клиента и отправляет ответ обратно к нему. Это ключевой элемент, формирующий обычной Java EE, в дополнение к ССП, и EJB, XML и других родственных технологий. Приложения могут быть упакованы в файл War (веб-АР луковичка) для развертывания на веб-сервере. Сервер, который можно запустить Java-сервлет вызывается контейнером. Программа, которая запускается на этом сервере можно создавать динамические веб-страницы. Сервлет на Java: основы
Самые популярные и широко используемые контейнеры Tomcat и JBoss. Технически, сервлет-это обычный класс Java, который имеет расширение общего клиент-серверный протокол или HTTP. На практике, он используется для обработки запросов через переопределение он полностью реализует интерфейс GET и POST соответственно. Контейнер обеспечивает Java-сервлет протоколу HTTP.ServletRequest и HTTP.Объекты ServletResponse для запрос-ответ. И обычно используется в сочетании с JSP для генерации динамического контента.
Типичный сценарий модели: ССП представляет пользователю форму для ввода данных. Сервлет получает входные данные, обрабатывает их и отправляет ответ. Для оптимальной производительности, он использует специальные фильтры.
Java-сервлет фильтры сменные компоненты Java, которые используются для перехвата и обработки запросов перед их отправкой в сервлеты и ответ после кода и до контейнера отправляет ответ клиенту.
Типичные задачи, которые вы выполняете с помощью фильтров: Параметры запроса журнала для регистрации файла. Аутентификации и авторизации запросов на ресурс. Форматирование запроса на тело или заголовок перед отправкой его к сервлету. Сжатие данных ответа, отправленного клиенту. Изменить ответ, добавить печенье. Заголовок сервлета Java.
Фильтры подключены и настроены в файле дескриптора развертывания (web.xml). Сервлеты и фильтры не знают друг о друге, так что вы можете добавить или удалить фильтр, просто путем редактирования web.xml. Разрешено иметь несколько фильтров для одного ресурса или для создания цепочки фильтров web.xml или запустите Java-сервлет фильтры, реализовывая javax.сервлет.Интерфейс фильтра. Основные функции сервлета
Одновременных запросов к серверу обрабатываются потоком, в котором содержатся важные качества веб-многопоточность и параллелизм.
Основные функции: Удобоносимость. Потому что Java не зависит от платформы, то же самое верно для сервлетов. Например, можно создать в операционной системе Windows, чтобы разработчики использовали GlassFish в качестве веб-сервера, а затем может начать ее в любой другой ОС, таких как Unix, Linux, веб-сервер Apache Java-сервлет. Эта особенность делает его портативным, и в этом его основное преимущество по сравнению с CGI. Эффективность и масштабируемость. После того, как сервлет развернуто и загружены на веб-сервер, он может немедленно начать выполнение запросов клиента. Это называется световой поток, и поэтому многочисленные запросы клиентов могут быть заполнены одновременно, используя многопоточность в Java. В отличие от CGI, в котором сервер запускает новый процесс для каждого запроса клиента. Надежность. Наследуя лучшие Java функции, такие как сборка мусора, обработка исключений, менеджер безопасности Java и другие, менее подвержены проблемам с управлением и утечек памяти. Это делает разработку приложения, безопасно или свободным от ошибок. Необходимость динамических веб-страниц
Есть много причин, почему бизнес хотели бы создать динамические веб-страницы "на лету", например, когда данные в интернете часто меняются. Новостные сайты и погода обычно полагаться на CGI, чтобы сохранить свежий контент, не требуя постоянного внимания разработчиков. Веб-страниц, электронной коммерции, в котором перечислены текущие цены и уровень складских запасов, использовать CGI для получения контента по запросу, получать его от внутренней инфраструктуры компании.
Многие пользователи имеют опыт использования технологии Java для создания веб-сервисов, основанные на CGI, но Java-сервлеты являются более эффективными, более мощный, проще в использовании и дешевле, чем традиционные альтернативы с CGI.
Преимущества Java-Сервлетов: Эффективность. В традиционном режиме CGI, каждого HTTP-запроса начинается новый процесс CGI. Даже если его код вполне реализованы, часто со значительными издержками не только тогда, когда процесс начинается, но и в ходе его реализации. При использовании сервлетов, то JVM остается загруженной в память и каждый запрос обрабатывается поток Java. В качестве примера, Java-сервлета, если традиционная модель, ЧВГ имеет ряд х одновременных запросов, это означает, что код программы загружается в память х раз. Это становится чрезмерная нагрузка на веб-сервер. Однако, в среде сервлетов, есть потоки X, который работает только один экземпляр его класса. В результате повышается эффективность и масштабируемость на нескольких платформах. Удобство. При использовании программы, то нет смысла учить новый язык, например, только на Perl выполняет функции в CGI. Кроме того, сервлеты имеют обширную инфраструктуру для многих задач, связанных с HTML, что значительно ускоряет процесс разработки. Власть - к сожалению, традиционным CGI-скрипты оставляют желать лучшего. Например, обычная программа не может напрямую соединиться с веб-сервера, который означает, что вы должны создать весь интерфейс. Сервлеты могут напрямую взаимодействовать с веб-сервера, что упрощает операции, которые требуют прямого доступа к хранилищам данных. Они также являются уникальными, потому что они могут общаться с другими сервлетами и сохранять информацию между запросами, которое делает отслеживание сессии является чрезвычайно простой. Переносимость Java и распространяется непосредственно в сервлеты. На самом деле, практически все крупные веб-сервер, который используется в настоящее время поддерживает Java сервлеты или непосредственно через плагин. Бережливость. С точки зрения развития, сервлеты реализации, намного дешевле, чем другие варианты, которые требуют пользовательского кодирования правильно взаимодействовать с веб-сервера. Java-сервлет перенаправления готов к работе и может уменьшить стоимость бизнеса, не жертвуя преимуществами динамического контента. Создать структуру каталогов
Для начала, создайте следующую структуру каталогов.
Где в папке: Развернуть - поставить созданный файл. ГРЦ - место исходные файлы Java в пакет net.codejava.сервлет. Папку WebContent - сохранить страницы JSP и других веб-ресурсов. WebContent в веб-инф - набор web.xml описатель. WebContent в веб-инф: скомпилированные классы.
Далее создайте исходный файл Java с именем QuickServlet.java в каталоге src чистая codejava сервлета с помощью следующего кода.
Этот сервлет вызывает некоторые методы он полностью реализует интерфейс: 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 в качестве аргументов. В этом случае, экстракт значений двух параметров ширины и высоты прямоугольника с просьбой вычислить площадь и отправить результат обратно клиенту. Уничтожить () - контейнер будет вызывать его, когда нужно удалить сервлет Java ее останавливает. Написание JSP-страницы
Создайте файл index.JSP под корневую папку WebContent со следующим содержимым.
На этой странице JSP: Размещены гиперссылки с атрибутом href = быстрая.Сервлет, который указывает на относительный путь к сервлету и сопоставления URL для этого. Нажав на эту ссылку, вы получите HTTP-запрос GET к серверу, и метод будет называться методом doget (). Чтобы продемонстрировать, отправки HTTP-запроса, создать простую форму с двумя текстовыми полями: ширина и высота. Атрибут формы в действие относительный путь. Кнопку "отправить" под названием "расчет".
Страницы JSP будет выглядеть.
Декларации и настройка веб-сервлетов Java
Для сервлета, чтобы обслуживать запросы пользователей, необходимо объявить и настроить его на отображение дескриптора файла web. Создать XML-файл с расширением web.xml под WEB-INF каталог WebContent в следующий XML.
Очевидно, что сервлет будет объявлен с помощью элемента и его дочерних элементов указывает описательное имя его и указать полное имя класса. Он настроен на обслуживание запросов, с помощью элемента и его дочерних частей, с указанием имени, заявил через элемент и шаблон URL-адреса, которые должны быть сопоставлены с сервлетом. Шаблон может быть точного совпадения в каталоге. Компиляция выполнения
Перед началом компиляции убедитесь, что вы установили правильные переменной среды PATH включает в себя каталог JDK_HOME для того, чтобы получить доступ к командной и файл, который обычно обеспечивается контейнером сервлета.
При использовании Томкат, файл TOMCAT_HOMElib называется. Откройте утилиту командной строки операционной системы и изменить рабочий каталог на QuickServlet, как указано в структуре. Введите следующую команду: javac и -СР Либ файле servlet-api.jar "-д CLASS_DIR SRC_DIR QuickServlet.java.
Заменить имена кота.Дома, CLASS_DIR и SRC_DIR со значениями: файле. Каталог установки на компьютере в папке программы. Если путь содержит пробелы, поместите его следующим образом: CLASS_DIR =WebContent в веб-инф классов SRC_DIR =КГД чистая codejava сервлета.
Эта команда скомпилирует файл QuickServlet.java и поместить сгенерированный .класс в WebContent в веб-инф классов. Упаковка веб-приложений
Стандартный способ развертывания приложений Java EE является упаковка ее с продолжением войны. В командной строке введите команду, обязательно укажите конечную точку: jarcfvdeployQuickServletApp.войны-с папку WebContent.
Банку поместите в директорию в одном архиве формата zip называемый быстрый.ServletApp.под войны каталог. Теперь разверните файл быстро.ServletApp.война на сервере, скопировать его в каталог Tomcat. Запустите программу, выполнив котяра 7.exe в каталоге. После входа в консоль показывает, что файл быстро.ServletApp.развернута война и сервер прослушивает порт 8080. Тестирование QuickServletApp
Теперь откройте веб-браузер и введите следующий текст в адресной строке: http: // локальный: 8080 / QuickServletApp. Потому что это не указать конкретную страницу, поэтому индекс по умолчанию.в JSP загружается самостоятельно.
Для тестирования сервлетов с помощью HTTP GET запроса, нажмите на гиперссылку "Нажмите здесь, чтобы отправить вам запрос". Чтобы проверить его с HTTP-запрос POST, нажмите кнопку Назад в браузере и введите два числа в ширину и высоту текстового поля. Нажмите кнопку "Рассчитать" и он будет возвращать расчетной области в результате. Примеры Котяра
Сервлет-это веб-компонентов Java, которые управляют его контейнера, таких как Tomcat, который генерирует динамический контент в ответ на запрос клиента. Или контейнер сервлетов является расширением веб-сервера, который обеспечивает функциональность сервлета. Контейнер содержит и управляет сервлеты на протяжении всего их жизненного цикла.
Сервлет интерфейс является центральным абстракции API-интерфейса Java. Он полностью реализует интерфейс - самый обычный сервлет, который обрабатывает HTTP-запросы-это подкласс GenericServlet сервлет, который реализует интерфейс. Сервлет интерфейс сам декларирует эти абстрактные методы.
Жизненный цикл сервлета: voidinit (конфигурации сервлета.Конфиг) voiddestroy () voidservice (запрос сервлета Java запрос, сервлет ответ.Ответ)
В конфигурации сервлета и сервлетов.GetServlet Конфигурации.Конфиг () строку getServlet.Info (). Характеристики сервера на Java
JSP-это еще один эффективный способ создания динамического веб-контента с использованием Java. Самый простой способ объяснить разницу между ними-это признать, что сервлет является HTML в Java, а с JSP Java в формате HTML. Оба метода достаточно эффективны и могут применяться отдельно, но есть некоторые отличия: Как правило, быстрее, чем сервлеты JSP, но JSP может быть скомпилирован на Java-сервлетов. Веб-разработчик на Java, должны быть знакомы с обеими технологиями и как они могут дополнять друг друга в одной реализации. Многие особенности JSP может быть достигнуто на стороне клиента с помощью JavaScript. Это снижает нагрузку на веб-сервер в периоды пикового использования и часто метод, используемый для крупных компаний, имеющих стабильно высокий трафик.
Хотя автономное приложение Java, достиг пика своей популярности несколько лет назад, но динамичный веб-контент, построенный на технологии Java, по-прежнему пользуются высоким спросом у компаний по всему миру.
Если пользователь в настоящее время не использовать Java-сервлетов для создания динамического контента, он получает интересное поле с неограниченными возможностями для карьерного роста. Автор: Иван Фролов Ноября 10, 2018
Категория: Гаджеты