Основы проектирования приложений баз данных

       

Создание серверного приложения


web-браузер посылает в качестве запроса URL-адрес серверного приложения, а Web-сервер запускает это приложение и передает ему параметры запроса. Сформированная в результате выполнения серверного приложения HTML-страница возвращается WEB-браузеру web-сервером.

Для того, чтобы создать серверное приложение (например CGI), следует:

  1. Создать новый проект (команда меню File|New|Other, вкладка New, пиктограмма Web Server Application).
  2. В диалоге New Web Server Application указать тип создаваемого проекта (например CGI Stand-alone executable).

В результате будет создан проект, содержащий главный файл приложения и модуль Unit1, имеющий следующий код:

{Модуль Unit1.pas} unit Unit1; interface uses SysUtils, Classes, HTTPApp; type TWebModule1 = class(TWebModule) private { Private declarations } public { Public declarations } end; var WebModule1: TWebModule1; implementation {$R *.DFM} end.

Для того чтобы добавить код, формирующий HTML-страницу, следует:

  1. Для объекта TWebModule1 выполнить двойной щелчок мышью на свойстве Action.
  2. В диалоге Editing WebModule1.Actions создать новый элемент (кнопка Add New).
  3. Создать для объекта WebActionItem1 обработчик события OnAction. При этом автоматически будет сформирован следующий код: procedure TWebModule1.WebModule1WebActionItem1Action( Sender: TObject; Request: TWebRequest; // Объект запроса - // позволяет получать данные о выполняемом запросе Response: TWebResponse; // Объект ответа - // используется для формирования ответа // (HTML-страницы var Handled: Boolean); begin

    end;

  4. Сформировать в созданном обработчике события код, формирующий текст HTML-страницы. Этот текст должен быть записан в свойство Content объекта Response.

    Свойству Content можно присваивать значение, оформленное как массив строк. Это может быть реализовано следующимспособом:

    • посредством конкатенаций нескольких строковых значений;

      Например:

      Response.Content:='<I><База данных MyDB </I> '+ <P> <B> Таблица TBL1 </B></P>;

    • с применением переменной типа TStringList, реализующей работу с массивом строк.
      В этом случае следует объявить переменную данного типа, создать ее, а затем, используя метод add, добавить в нее все строки формируемой HTML-страницы.

      Например:

      var aPage : TStringList; i: integer; begin aPage:= TStringList.Create; aPage.Add(' База данных MyDB '+ '<BR>'); aPage.Add(Таблица TBL1 ' + '<BR>'); aPage.Add('f1 = ' + DataSource1.DataSet.FieldByName('F1').AsString+ '<BR>'); // Последовательно записываем в созданный массив строк // все значения из открытого набора данных Response.Content := aPage.Text; aPage.Free;



После размещения созданного серверного приложения в каталог web-сервера, предназначенный для исполняемых файлов, web-браузер может формировать запрос, указывая URL-адрес данного CGI-приложения.

Например: http://localhost/webpub/ProjectDB.exe.

В том случае, если необходимо реализовать не только публикацию данных, но и предоставить средства их редактирования, отображение данных следует выполнять внутри формы в компонентах типа "поле ввода". Кнопка типа submit должна будет вызывать серверное приложение, которое будет использовать получаемые из запроса данные для обновления таблицы базы данных.


Содержание раздела