Главная страница
Навигация по странице:

  • Упражнение. Разработка простейшего сервлета

  • Разработка программного кода сервлета. Запускаем NetBeans

  • New ® Java Package . В качестве имени пакета укажем servlets

  • New ® Servlet . В качестве имени нового сервлета указываем vss

  • Разработка дескриптора развертывания (XML-файла). Создадим XML-документ с именем web.xml

  • Упаковка и размещение на Web-сервере.

  • Запуск приложения.

  • Лаб 1. Лабораторная работа Разработка простейших сервлетов


    Скачать 0.65 Mb.
    НазваниеЛабораторная работа Разработка простейших сервлетов
    Дата05.11.2018
    Размер0.65 Mb.
    Формат файлаpdf
    Имя файлаЛаб 1.pdf.pdf
    ТипЛабораторная работа
    #52760

    Лабораторная работа 1. Разработка простейших сервлетов
    Цель работы: рассмотреть примеры, отражающие важные нюансы проектирования и использования сервлетов.
    Сервлеты (servlets) - это маленькие программы, которые выполняются на серверной стороне Web-соединения. Т.е. другими словами сервлеты динамически расширяют функциональные возможности Web-сервера.
    Упражнение. Разработка простейшего сервлета
    Процесс создания работоспособного приложения, содержащего только один сервлет, включает следующие этапы:

    Разработка программного кода сервлета.
    Запускаем NetBeans. Выбираем в меню File ® New Project и выбираем WebApplication.
    Далее указываем имя проекта, местоположение проекта (где он будет храниться на нашем комьютере).

    Также необходимо будет выбрать сервер, который будет использован при обработке нашего приложения.
    Итак, слева в окне Projects у нас отображается вновь созданный проект.

    Далее добавим пакет в категорию «Source Package Code» выбрав меню New ® Java Package.
    В качестве имени пакета укажем servlets (можно указать другое имя). В графе Location (место положения) указываем Source Package и нажимаем
    Finish.

    Теперь если раскрыть список Source Package, то мы увидим, созданный нами пакет. Далее нажимаем правой кнопкой по созданному нами пакету и выбираем New ® Servlet.
    В качестве имени нового сервлета указываем vss. В графе Location указываем
    Source Package, а в качестве пакета (в графе Package) указываем наш
    созданный ранее пакет.
    При нажатии кнопки «Далее» среда предложит добавить информацию к дескриптору развертывания (при необходимости она его создаст).

    После этих манипуляций нами будет создан стандартный сервлет примерно такого содержания: package servlets; import java.io.IOException; // интерфейсы сервлета import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class vss extends HttpServlet {
    // класс vss расширяет интерфейс HttpServlet public void service(HttpServletRequest request, HttpServletResponse response)
    // сервлет включает метод service, имеющий два аргумента: объект request типа
    //HttpServletRequest и объект response типа HttpServletResponse throws IOException, ServletException
    // В случае сбоев возбуждаются исключения ServletException или IOException
    { response.setContentType("text/html"); // определяем тип символьной информации
    PrintWriter out = new PrintWriter(response.getOutputStream());
    // Создаем объект out типа PrintWriter и устанавливаем связь с выходным потоком сервлета out.println(""); out.println(""); out.println(""); out.println(""); out.println("

    Hello World!

    "); out.println("


    В строках "import..." указываются интерфейсы, которые использует сервлет.

    Представленный класс vss расширяет интерфейс HttpServlet, являющийся подклассом базового интерфейса servlet.

    Наш простой сервлет включает в себя только метод service, имеющий два аргумента: объект request типа HttpServletRequest и объект response типа HttpSer vletResponse.

    Объект request должен содержать информацию о клиенте и поступать от клиента, но в этом примере объект request не содержит никакой информации.

    Объект response отвечает за посылку ответа клиенту.

    В случае возможных сбоев возбуждаются исключения ServletException или IOException.

    Нам необходимо установить формат ответа. Наш ответ в данном случае форматируется как страница HTML, поэтому мы определяем тип символьной информации с помощью строки response.setContentTyp e("text/html"). Тип содержимого ответа должен быть обязательно установлен до первой ссылки на объект response.

    Создаем объект out типа PrintWriter и устанавливаем связь с выходным потоком сервлета с помощью строки кода PrintWriter out = new P
    rintWriter(response.getOutputStream()).

    Метод out.println() используется для формирования ответа в HTML- формате. В объект типа PrintWriter записывается простая HTML- страница, содержащая приветствие.

    Метод out.flush() подтверждает завершение вывода ответа. Web-сервер автоматически закрывает объект PrintWriter после завершения метода service().

    Разработка дескриптора развертывания (XML-файла).
    Создадим XML-документ с именем web.xml , который обязательно должен сопровождать, наше приложение при его размещении на сервере. Если вы не создали в процессе создания сервлета дескриптор развертывания, его можно создать следующим образом:

    Рис. Этапы создания файла web.xml
    Процесс размещения приложений на сервере будет более подробно рассмотрен ниже. Здесь мы без каких-либо пояснений приведем содержимое текстового файла web.xml, который описывает приложение, которое мы хотим разместить на сервере. Содержимое файла web.xml представлено ниже:



    vss
    servlets.vss


    vss
    /vss



    Упаковка и размещение на Web-сервере.
    Запакуем файлы vss.java и web.xml в файл *.war, пользуясь стандартными средствами NetBeans IDE. ПКМ (нажимаем правой кнопкой) на имени
    проекта ® «Очистить и собрать»
    При удачном завершении процесса в нижней части экрана появится соответствующие сообщение:
    Далее необходимо развернуть архивный файл Имя_проекта.war, после чего он автоматически будет расположен в каталоге Имя_проекта\dist\, предназначенный для Web-приложений.

    Запуск приложения.
    Вообще говоря, для вызова сервлета используются методы GET или POST спецификации протокола HTTP или соответствующие методы doGet или doPost интерфейса HttpServlet.
    В данном случае наиболее простым способом вызова сервлета будет вызов соответствующего URL-адреса в окно Web-браузера, который
    заставляет Web-браузер послать запрос с использованием метода GET, как при запросе обычной HTML-страницы.
    Ввести в окно браузера следующую строку вызова: http://localhost:8084/Hello/vss
    Замечание: Порт сервера (в примере – 8084) можно проверить с помощью команд: Сервис- Серверы – вкладка Подключение. В данном примере Hello – это имя вашего проекта.
    В результате Вы увидите долгожданное "Hello world", привет, переданный сервлетом через сеть Интернет.
    Задание.
    1. Создайте проект, который будет содержать сервлет, приведённый в примере. Отработай его и проанализируйте его работу.
    2. Разработайте новый проект, содержащий сервлет, который бы выводил в браузер информацию следующего характера: ФИО, группа, специальность, контактные данные. Информацию оформить стилистически (например, расположить по центру, отделить линиями, использовать оформление шрифтов
    (жирность, цвет) и т.д.).
    Замечание: Для вывода кириллицы воспользуйтесь следующей командой: response.setContentType("text/html; charset=windows-1251");
    Оформление стилей веб-страницы можно разместить внутри html-тегов.
    3. Подготовьте отчет, содержащий код с пояснениями и скриншоты, ответы на контрольные вопросы
    Контрольные вопросы:
    1. Обоснуйте назначение сервлета.
    2. Что такое контейнер сервлетов?
    3. Как реализовать запуск сервлета с запуском приложения?
    написать администратору сайта