Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебное пособие 70053.doc
Скачиваний:
3
Добавлен:
01.05.2022
Размер:
323.58 Кб
Скачать
  1. Html-страница с запросом

Создадим веб-модуль get.exe, указав тип CGI Stand-alone executable. Для добавления и редактирования обрабатываемых им действий надо вызвать редактор действий с помощью команды Action Editor из контекстного меню этого модуля. Для редактирования списка возможных действий применяется стандартный редактор коллекций, немного модифицированный для удобства визуальной настройки наиболее часто используемых свойств (рис. 3).

  1. Список действий веб-модуля

Пока что в списке действий нет ни одного ответного действия модуля на поступление запроса от веб-сервера. Чтобы добавить новое действие, надо нажать на кнопку Add New редактора коллекций. В список добавляется новая строка, соответствующая новому созданному объекту класса TWebActionItem, а Инспектор объектов покажет свойства этого объекта (рис. 4).

Чтобы объект WebActionItem1 мог реагировать на запрос веб-сервера, на вкладке Events для этого объекта надо выбрать событие OnAction и создать его обработчик двойным щелчком:

procedure TWebModule1.WebModule1WebActionItem1 Action(Sender: TObject; Request: TWebRequest; Response: TWebResponse; var Handled: Boolean);

begin

with Request.QueryFields do

Response.Content := '<html><body>Спасибо, ' +

values['name'] + ', Ваш адрес ' +

values['e_mail']+' включен в список рассылки.' + '</body></html>';

end;

  1. Инспектор объектов

Данный обработчик будет вызываться при обращении из браузера к веб-модулю без параметров, например с помощью следующей строки

http://www.my-site.ru/cgi-bin/test.exe

Параметр процедуры Request содержит всю информацию о запросе. В частности, в свойстве этого параметра Query хранится значение запроса, если оно было указано пользователем после знака ?. Например, пусть обращение выполнялось следующим образом:

http://www.my-site.ru/cgi-bin/test.exe?test

В этом случае значение переменной Request.Query будет равно строке ‘test’.

Для удобства отделения имен параметров от их значений лучше использовать свойство QueryFields (тип TStrings), которое представляет собой массив строк вида

param1=value1

param2=value2

param3=value3

Класс TStrings позволяет получить значение (заключительную часть) строки, начинающейся с подстроки, указанной в свойстве value в качестве параметра. В нашем случае параметрами выступают имена полей ввода формы.

Если теперь поместить данный скомпилированный модуль (назвав его get.exe) в каталог /cgi-bin веб-сервера, то при заполнении полей формы и последующем нажатии кнопки Отправить на экране браузера появится следующее сообщение:

  1. Html-страница с ответом сервера

  1. Лабораторное задание

Разработать веб-модули, выполняющие тестирование пользователя по любой теме. С сервера должны загружаться следующие страницы: запрос данных пользователя, 15-20 вопросов, требующих или ввода данных в поле, или выбора какого-либо варианта (тест должен содержать оба вида вопросов), результат тестирования с количеством правильных и неправильных ответов.

  1. Указания по оформлению отчета

Отчет должен содержать:

- наименование и цель работы;

- краткие теоретические сведения;

- задание на лабораторную работу;

- результаты выполнения лабораторной работы.

  1. контрольные вопросы

  1. Что такое веб-сервер?

  2. Веб-модули каких типов можно создавать в Delphi?

  3. Что представляет собой запрос от веб-сервера?

  4. Что является ответом от веб-сервера?

  5. Какие классы есть в Delphi для работы с веб-сервером?

библиографический список

1. Столлингс В. Современные компьютерные сети / В. Столлингс. СПб.: Питер, 2003. 783 с.

2. Олифер В.Г. Компьютерные сети. Принципы, технологии, протоколы / В.Г. Олифер, Н.А. Олифер. СПб.: Питер, 2001. 672 с.

3. Бобровский С.И.Delphi 7. Учебный курс / С.И. Бобровский. СПб.: Питер. 2003. 736 с.

4. Козлов А.В. Программирование для Интернет в Delphi 5 / А.В. Козлов. М.: ЗАО «Издательство «Бином». 2001. 368 с.

5. Брейман А.Д. Сети ЭВМ и телекоммуникации. Глобальные сети / А.Д. Брейман. М.: МГУПИ. 2006. 116 с.

содержание

  1. библиографический список 38

  2. содержание 38