Руководство Java Servlet для начинающих
Опубликованно 22.02.2019 02:11
Java-Сервлет-это программа на стороне сервера, написанные на одноименном языке программирования, который получает сигналы от клиента и отправляет ответ обратно. Это ключевой элемент, который представляет собой последний Java EE, а также JSP, EJB, XML и других связанных с ними технологий. Приложение может быть упаковано в WAR-файл (Веб-AR chive) для развертывания на веб-сервере. Сервер, который может выполнять Java-сервлет, называется контейнером. Программа, которая выполняется на сервере может создать динамические веб-страницы. Java Servlet: основы
Самых популярных и широко используемых контейнеров Tomcat и JBoss. Технически сервлет-это обычный Java-класс, который имеет расширение для муниципалитета клиент-сервер протокола HTTP. В основном применяется для обработки запросов, с помощью замен HttpServlet GET и POST соответственно. Контейнер Сервлетов Java обеспечивает Http.ServletRequest и Http.ServletResponse - объекты, которые работают по схеме вопрос-ответ. И, как правило, используется в сочетании с JSP для генерации динамического контента.
Типичный сценарий модели: JSP представляет пользователю форму для ввода данных. Сервлет получает входные данные, обрабатывает их и отправляет ответ. За высокое качество работы, которое использует специальные фильтры.
Java Servlet Filters-это plug-in компонентов Java, которые используются для перехвата и обработки запросов перед их отправкой, если вы хотите и ответ после завершения ее код, и, прежде чем контейнер отправляет ответ клиенту.
Общие задачи, которые играют с фильтрами: Регистрации параметров запроса для записи файлов. Проверка подлинности и авторизация запроса ресурсов. Форматирование текста запроса или название, прежде чем отправить его в сервлет. Сжатие данных в ответ отправлены заказчику. В ответ, добавив некоторые файлы cookie. Информацию заголовка Java Servlet.
Фильтры подключены и настроены в файл дескриптора развертывания (web.xml). Сервлеты и фильтры не знают друг друга, так что вы можете добавить или удалить фильтр, просто изменив web.xml. Разрешается иметь несколько фильтров для одного ресурса или создать цепочку фильтров для web.xml или запустить Java Servlet filters, понимая, javax.сервлет.Filter интерфейс. Основные функции Сервлета
Одновременных запросов к серверу обрабатываются потоки, что обеспечивает важные качества для веб-multi-threading и конкуренции.
Основные функции: Портативность. Потому что Java-это независимый от платформы, то же самое верно для сервлетов. Например, вы можете создать в операционной системе Windows, для разработчиков GlassFish используется как веб-сервер, а затем вы сможете выполнять в любой другой ОПЕРАЦИОННОЙ системы, такой как Unix, Linux, веб-сервер apache, Java Servlet. Эта особенность делает его переносимым, и это его главное преимущество над CGI. Эффективность и масштабируемость. Как только Сервлет распространяется и загружается на веб-сервер, вы можете сразу же начать запросам клиентов. Он назвал поток легко, так что несколько запросов клиента могут быть заполнены также с помощью функции многопоточности в Java. В отличие от CGI, где сервер запускает новый процесс для каждого запроса клиента. Надежность. Наследуя главные функции Java, например, сбор мусора, обработка исключений, ответственным за безопасность, Java и другие, менее склонны к проблемам управления и утечки памяти. Это делает разработку приложений, в нем безопасно и без ошибок. Необходимость применения динамических веб-страниц
Есть много причин, по которым бизнес хотели бы создать динамические веб-страницы «на лету», например, когда данные на сайте меняются часто. Сайты, новости и погода, как правило, основаны на CGI, чтобы держать вас прохладно и содержание, не требует постоянного внимания разработчиков. Веб-страницы и электронной коммерции, в котором перечислены текущие цены и уровни запасов, использующие CGI, чтобы получить этот контент, on demand, которые получают из внутренней инфраструктуры компании.
Многие пользователи имеют опыт использования технологии Java для создания веб-сервисов, основанные на CGI, но Сервлеты Java, более эффективных, более мощный, проще в использовании и менее традиционные, альтернативные CGI.
Преимущества Java Сервлеты: Эффективность. В традиционной CGI каждого HTTP-запроса, запускает новый процесс CGI. Даже если его код прекрасно понял, часто возникает значительное количество расходов не только тогда, когда вы начинаете процесс, но и во время его выполнения. Когда используются сервлеты, JVM остается загруженным в памяти, и каждый запрос обрабатывается поток Java. В качестве примера Java-Сервлет, если в традиционной модели CGI есть X количества одновременных запросов, это означает, что код программы загружается в память Х раз. Это становится чрезмерная нагрузка на веб-сервер. Тем не менее, в среде сервлетов есть потоки X, где выполняется только один экземпляр его класса. Результатом этого является в том, чтобы повысить эффективность и масштабируемость на нескольких платформах. Удобство. Когда вы используете программу, не имеет смысла изучать новый язык, например, Perl, только для выполнения функции CGI. Кроме того, сервлеты имеют обширную инфраструктуру для решения многих задач, связанных с HTML, что значительно ускоряет процесс разработки. Мощность - к сожалению, традиционные CGI-скрипты оставляют желать лучшего. Например, обычные их программы не могут поговорить непосредственно с веб-сервера, что означает, что вы должны создать весь интерфейс. Сервлеты могут напрямую взаимодействовать с веб-сервера, что упрощает операции, которые требуют прямого доступа к архивам данных. Они также являются уникальными, потому что они могут обмениваться данными с другими, если хотите, я и сохранять информацию между запросами, что делает его в целости и мониторинга крайне просто. Переносимости Джава применяется непосредственно на сервлет. На самом деле почти все основные веб-сервер, который в настоящее время используется, поддерживает Java-Сервлеты, непосредственно или с помощью плагинов. Бережливость. С точки зрения развития, введение в сервлеты значительно дешевле, чем другие варианты, которые требуют, чтобы настроить кодировку правильно взаимодействовал с веб-сервера. Java-Сервлет перенаправления готов к использованию и может снизить стоимость работ без ущерба преимущества динамического контента. Создать структуру каталогов
Чтобы начать, создайте следующую структуру каталогов.
Где в папке: Deploy - добавлено созданный файл. Src - обнаруживают исходные файлы Java в пакете net.codejava.сервлет. 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-Сервлет
Для того, чтобы сервлет мог бы удовлетворить запросы пользователей, необходимо объявить и настройте сопоставление в файле дескриптора приложения web. Создать XML-файл с расширением web.xml ниже WebContent каталог WEB-INF с следующий код XML.
Очевидно, что сервлет будет объявлен с помощью элемента и элементов, указывают на описательное имя для него и указать полное имя класса. Настроен для обработки запросов с использованием элемента и его сына из части, указав имя, объявленное с помощью элемента и шаблон URL, который должен быть согласован с сервлетом. Модель может быть точное соответствие в каталоге. Выполнение построения
До компиляции, вы убедитесь, что это значение переменной среды PATH, которая включает в себя каталог jdk_home, выполнив, таким образом, можно получить доступ к командной строке и иметь в наличии файл, который, как правило, предоставляется контейнер сервлетов.
При использовании Тома, и файл вставляется в 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 сервлета.
Эта команда позволяет скомпилировать файл QuickServlet.java и поставить генератор .class WebContent WEB-INF-classes. Упаковка веб-приложений
Стандартный способ для развертывания приложений Java EE заключается в его упаковке с расширением ВОЙНЫ. В командной строке вводится команда обязательно в конце пункта указывается: jarcfvdeployQuickServletApp.war-C WebContent.
Программы jar поместите все в папку, в один архив zip-формата под названием Quick.ServletApp.война под каталог. Теперь раздают файл Quick.ServletApp.war на сервере, скопировать в каталог Tomcat. Запускаем программу, запустить Tomcat 7.exe в каталоге. После входа в консоль, увидел, что файл Quick.ServletApp.war распределены и сервер прослушивает порт 8080. Тест QuickServletApp
Теперь откройте веб-браузер и вводится следующий текст в адресной строке: HTTP: // localhost: 8080 / QuickServletApp. Поскольку не указывает на конкретную страницу, так что по умолчанию index.jsp загружается только.
Чтобы проверить сервлетов с HTTP-запрос GET, нажмите на гиперссылку «Нажмите здесь, чтобы отправить запрос, ПОЛУЧИТЬ». Для того, чтобы проверить с HTTP-запрос POST, нажимают кнопку "назад" в браузере и вводят два числа-ширина и высота текстового поля. Нажмите кнопку «Рассчитать», и вы вернетесь расчетной области на результат. Примеры Tomcat
Сервлет - web-Java, управляемого контейнером, например, Tomcat, который генерирует динамический контент в ответ на запрос клиента. Или контейнер сервлетов-двигатель является расширение веб-сервера, что обеспечивает функциональность сервлета. Контейнер содержит и управляет, если хотите, я во время всего жизненного цикла.
Сервлет интерфейс - центральный абстракции Java API. HttpServlet - город сервлет, который обрабатывает HTTP-запросы, является подклассом, GenericServlet, который реализует интерфейс Servlet. Сервлет Интерфейс самостоятельно объявляет эти абстрактные методы.
Жизненный цикл сервлета: voidinit (установка Сервлета.Config) voiddestroy () voidservice (запрос Java-Сервлет запрос, ответ Сервлета.Ответа)
Конфигурации сервлета и информация: Servlet.Config getServlet.Config () Строку getServlet.Info (). Функции Java server
JSP - еще одним эффективным способом для создания динамического содержимого веб-страниц с использованием Java. Самый простой способ объяснить разницу между ними-это признать, что servlet, HTML, Java, JSP и Java в HTML. Оба метода являются эффективными и могут быть использованы самостоятельно, но есть несколько различий: Как правило, сервлет работать быстрее, чем JSP, однако, JSP компилируется в Java servlet. Веб-разработчик на Java, должны быть знакомы с обеими технологиями, и как они могут дополнять друг друга в реализации. Многие функции JSP могут быть достигнуты на стороне клиента с помощью JavaScript. Это снижает нагрузку на веб-сервер, в периоды максимальной нагрузки, а часто-это метод, используемый для больших компаний с всегда высокий трафик.
Также если автономные приложения Java достигла пика популярности несколько лет назад, но динамичный веб-контент, построенный на технологии Java, по-прежнему пользуется большим спросом для компаний по всему миру.
Если пользователь в настоящее время не использует Сервлеты Java для создания динамического контента, обозревая поле интересно с неограниченными возможностями для карьерного роста. Автор: Иван Фролов 10 Ноября 2018 года
Категория: Техника