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

Типи веб - додатків

Складний

Документно-орієнтований

Простий

Динамічно створюваний сайт

Доступ до динамічних даних через веб-сайт з формою введення

Повністю статичний сайт

Рис. 19.6. Типи веб-сайтів

У разі одноразового або регулярного перетворення вмісту бази даних в статичні гіпертекстові документи база даних періодично проглядається спеціальною програмою, що створює безліч пов'язаних HTML-документів, що містять інформацію з бази даних. Отримані HTML-файли розміщуються на одному або декількох комп'ютерах, які виконують функції веб-серверів. Доступ до них здійснюється як до статичних гіпертекстових документів (повністю статичний сайт на рис. 19.6). Цей варіант характеризується мінімальними початковими витратами. Він досить ефективний при роботі з невеликими рідко оновлюваними базами даних, що мають просту структуру, а також при невисоких вимогах до актуальності даних, наданих через Web.

У разі динамічного створення гіпертекстових документів на основі інформації, що міститься в базі даних, і інформації, переданої клієнтом веб-серверу, доступ до бази даних забезпечується спеціальним додатком (CGI, ISAPI, ASP, PHP і т. п.), викликуваним веб -сервером у відповідь на запит, отриманий від клієнта. Додаток обробляє запит, виробляє необхідну вибірку з бази даних і на її основі формує вихідний HTML-документ, повертаємий клієнтові. Таке рішення ефективно для великих баз даних із складною структурою. Даний варіант дозволяє також забезпечити можливість зміни інформації, що зберігається в базі даних, за допомогою веб-інтерфейсів.

Розділ 20 Розробка інтернет-додатків

Сучасний підхід до проектування додатків для Інтернету припускає, що подібне проектування повинно бути по можливості таким же простим, як і проектування звичайних додатків. Такий підхід заснований на використанні готових компонентів, максимально звільняють розробника від написання коду вручну.

Починаючи з версії 7, в Delphi з'явилася група компонентів Indy (скорочено від Internet Direct), що значно спрощують розробку додатків для Web і дозволяють розробнику не вникати в особливості Інтернет-протоколів. Набір цих компонентів перенесений фірмою Borland і в Delphi версії 8. На жаль, в Delphi 8, принаймні у варіанті Architect, відсутні компоненти Indy для створення серверних складових (TIdTCPServer, TIdHTTPServer), тому нам доведеться скористатися можливостями, що надаються Delphi 7.

Восьма версія Delphi орієнтована на використання технології Web Forms платформи. NET, тому значна частина компонентів VCL Delphi 7 у версії 8 також не перенесена (TwebModule, TdataSetPageProducer та ін.)

У даному розділі розглядається розробка додатків для Інтернету з використанням компонентів Delphi версій 7 і 8.

Розробка CGI-сценаріїв

Для початку розглянемо невеликий приклад CGI-додатки, що ілюструє процес передачі даних за допомогою методів GET і POST.

ПРИМІТКА

Приклад адаптований для версії Delphi 7.

При створенні CGI-додатки вирішуються дві основні задачі: розробка веб - інтерфейсу і розробка власне додатка. Для розробки веб - інтерфейсів необхідно знати хоча б основи мови HTML, принаймні, набір основних HTML-тегів, які були розглянуті в попередньому розділі.

Запуск CGI-додатки

CGI-додаток може запускатися двома способами:

□ клацанням на кнопці SUBMIT форми (ця кнопка створюється за допомогою тега «INPUT TYPE =" SUBMIT ">);

□ клацанням на посиланні.

У першому випадку ім'я та місце розташування CGI-сценарію вказуються в теге <F0RM> за допомогою атрибуту ACTION, наприклад:

<F0RM ACTION-"/scripts/test.cgi" METHOD="GET">

У другому випадку посилання на CGI-додаток вказується в теге <А> за допомогою атрибуту HREF:

<А HREF = "/ scripts / test.cgi"> Run CGI </ А>

Найбільш часто використовується перший спосіб, оскільки саме він дозволяє організувати інтерактивну роботу і забезпечити можливість передачі на сервер даних, введених користувачем.

Для тестування веб-додатків необхідний веб-сервер. Веб-сервер являє собою звичайний додаток, що взаємодіє з іншими додатками по протоколу HTTP. Такий додаток може бути встановлено на будь-який локальний комп'ютер, навіть не підключений до мережі. Скористаємося входять в стандартну поставку Windows 98 сервером PWS (Personal Web Server - персональний веб-сервер). Після установки PWS на диску С: (за замовчуванням) створюється каталог Webshare, призначений для зберігання публікованих у Web документів і розширень сервера. Даний каталог містить кілька вкладених каталогів, з яких найбільший для нас інтерес представляють два:

□ Wwwroot - кореневий каталог для веб-сторінки (при зверненні до комп'ютера за замовчуванням буде вироблятися завантаження документа, що зберігається в цьому каталозі і має ім'я default.htm або default.asp);

□ Scripts - каталог, призначений для зберігання розширень сервера.

Розробка найпростішого CGI-додатки

Як уже зазначалося, CGI-сценарії являють собою традиційні консольні додатки, тому для їх розробки не потрібно ніяких спеціальних засобів. Для виведення результатів виконання CGI-сценарію використовуються звичайні процедури виведення на консоль. У мові Object Pascal це процедури write і writeln. Однак виведена таким чином інформація повинна відповідати протоколу HTTP. Перший рядок заголовка (НТТР/1.0 200 0К) формується веб -сервером. Інформаційні ж поля заголовка і тіло відповіді повинні формуватися CGI-додатком. В більшості випадків достатньо одного поля - Con - tent-type. Не слід також забувати, що заголовок і тіло відповіді повинні розділятися порожнім рядком.

Як приклад створимо в Delphi найпростіше CGI-додаток, результатом дії якого буде просто висновок рядки тексту (наприклад, класичного рядка «Hello, world!").

  1. Виберіть у головному меню IDE Delphi команду File ► New, в вікні сховища об'єктів виділите значок Console Application і клацніть на кнопці ОК. Буде створений шаблон консольного застосування, що має наступний вигляд:

program Projectl:{SAPPTYPE CONSOLE}

uses SysUtils:

begin■ / / Insert user code here end.

  1. Введіть наступний код:

program console:{ÎAPPTYPE CONSOLE}

usesSysUtils:

begin/ / Виводимо поле заголовка Content-type writeln ('Content-Type:

text / html / / Виводимо порожній рядок, що відокремлює / / заголовок від тіла відповіді writeln:

11 порядково виводимо HTML-документ writeint '<HTML>'):

writeint '<HEAD>'):

writeln ('<TITLE> npHMep С61-додатки </ Т1ІЕ>'):

writelnt '^ / HEAD>'):

writeln ('<BODY>');

writeln ('<H2 ALIGN=CENTER> Hello. World! </ H2>'):

writeln ('</ BODY>'):

writel n ('</ HTML>'):

end.

  1. Відкомпілюйте отримане додаток і запишіть отриманий виконавчий файл в каталог, призначений для розміщення розширень веб-сервера (за замовчуванням це каталог scripts).

ПРИМІТКАВ результаті компіляції буде створений виконуваний файл, за замовчуванням має рас-ширення ехе. PWS-сервер розрізняє формати запускаються сценаріїв по розширенню, тому виконуваний файл слід перейменувати, присвоївши йому розширення cgi.

  1. Для тестування отриманого програми необхідно створити НТМЬ-документ, з якого буде проводитися виклик СС1-додатки. Оскільки в нашому прикладі не потрібно отримувати будь-які дані від користувача, то не важливо, який спосіб виклику використовувати - кнопку або звичайне посилання.

Створимо HTML-документ, в якому є обидва засоби виклику сценарію: <HTML><HEAD><TITLE>

Приклад CGI-програми </ TITLE></ HEAD><B0DY><A HREF='7scripts/console.cgi"> Run CGI </ A> <BR> <BR><F0RM METHOD""GET" ACTION-'Vscripts/console.cgi "><INPUT TYPE="SUBMIT"></ F0RM></ B0DY></ HTML>

  1. Назвіть створений HTML-документ default.htm і помістіть його в каталог Wwwroot. Після цього відкрийте вікно веб-браузера і наберіть в адресному рядку або ім'я localhost, або 1Р-адреса 127.0.0.1, або ім'я свого комп'ютера. В вікні браузера відобразиться документ, що містить одне посилання і одну кнопку При клацанні на будь-якому з цих елементів у вікні браузера відобразиться документ, відповідний відповіді запущеного CGI-сценарію. У нашому випадку це просто рядок тексту «Hello, World!», Виведена по центру стилем заголовка другого рівня .

Головною функцією, виконуваної веб-додатками, є організація інтерактивної роботи, користувача. Тому результат виконання сценарію повинен залежати від даних, введених користувачем.

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