Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
91-105.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
118.78 Кб
Скачать

Компонент tWebModule

Компонент TWebModule є основою будь-яких веб-додатків, що розробляються в Delphi, будь то CGI-сценарій або IS API-розширення. За допомогою цього компонента додаток виконує інтерпретацію НТТР-запитів.

ПРИМІТКА

Компонент TwebModulel доступний в Delphi версії 7.Основна властивість компонента TWebModule - властивість Action, яке містить список дій, що є обробниками запитів, що надходять від клієнта. Кожен елемент цього списку має тип TWebActionltem і характеризується соб-чими властивостями.

□ Pathlnfo: String - вказує, при обробці якого рядка параметрів (розта-женной в запиті після імені сценарію, але до даних запиту) буде викликатися дана дія.

□ MethodType: TMethodType - вказує метод, використовуваний клієнтом для передачі запиту, на який дана дія може відповісти. Може приймати значення: mtGet, mtPost, mtHead, mtPut і mtAny. В залежності від значення свій-ства MethodType дію буде обробляти запити, передані методами 'GET, POST, HEAD, PUT чи відповідати на запит будь-якого виду.

□ Default: Boolean - використовується для завдання обробника за замовчуванням. Якщо дана властивість встановлено рівним true, то дія буде обробляти запити з рядками параметрів, для яких не задані обробники.

□ Enabled: Boolean - вказує, може (true) чи ні (false) дана дія обра-ботати HTTP-запит з параметрами Pathlnfo і MethodType, відповідними властивостям даного дії.

□ Producer: TCustomContentProducer - покажчик на спеціальний компонент, використовуваний для формування відповіді веб-додатки. Такі компоненти розглядаються далі.

Кожен елемент списку Actions може обробляти всього одна подія - OnActions. Оброблювач цієї події і виконує формування відповіді сервера на прийнятий запит клієнта:

property OnAction: THTTPMethodEvent:

type THTTPMethodEvent = procedure (Sender: TObject;

Request: TWebRequest: Response: TWebResponse:

var Handled: Boolean) of object;

За допомогою параметра Request передається запит, отриманий від клієнта. Параметр Response використовується для формування відповіді. Параметр Handle застосовується в тому випадку, коли потрібно вказати, що запит не оброблений. Для цього даному параметру слід присвоїти значення false.

Зважаючи великій значимості параметрів Request і Response розглянемо їх більш докладно.

Параметр Request

Параметр Request є екземпляром класу TWebRequest, - базового класу для передачі інформації веб-додаткам. Це досить складний клас, володіючий великою кількістю властивостей і методів. Ми розглянемо лише кілька його основних властивостей.

□ property Content: String - рядок параметрів, передана за допомогою методу POST. Фактично це рядок, що містить тіло HTTP-запиту, отриманого від клієнта.

□ property ContentFields: TStrings - «розібрана» рядок параметрів, передана за допомогою методу POST. Кожен елемент колекції ContentFields представляє собою рядок, відповідний одному елементу управління, розташованому на формі, і являє собою ім'я керуючого елемента та його значення, розділені знаком рівності (ідентифікатор = значення).

□ property Query: String - рядок параметрів, передана клієнтом за допомогою методу GET.

□ property Query Fields: TStrings - «розібрана» рядок параметрів, передана методом GET. Формат рядків колекції QueryFields повністю аналогічний фор-мату колекції ContentFields.

□ property RemoteAddr: String - IP-адреса клієнта, що послав запит.

□ property RemoteHost: String - доменне ім'я клієнта, що послав запит.□ property Method: String - метод, використовуваний для передачі даних серверу.Таким чином, за допомогою об'єкта Request можна легко отримати всі дані, вве-денние користувачем на формі, а також визначити ряд параметрів клієнта. Причому для цього немає необхідності звертатися до змінних оточення і «вручну» декодувати і інтерпретувати рядок параметрів, отриману від клієнта.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]