- •Лабораторная работа № 8 Технология разработки web-приложений
- •Теоретические сведения
- •Краткие сведения о языке html
- •2.1. Поле ввода
- •2.2. Кнопки
- •Способы запуска cgi-приложений
- •4. Особенности использования web-сервера WebApp
- •5. Разработка cgi-приложений
- •5.1. Простейшее cgi-приложение
- •5.2. Использование языка JavaScript в html-документах
- •5.3. Разработка cgi-приложения, анализирующего данные, введенные пользователем с помощью элементов управления
- •5.5. Создание cgi-приложения для работы с базой данных
- •Лабораторное задание и порядок его выполнения
- •Требования к отчету
5.5. Создание cgi-приложения для работы с базой данных
Для создания CGI-приложений, работающих с базами данных, в системе Borland C++ Builder предусмотрены компоненты , находящиеся на странице Internet палитры компонентов.
Создадим приложение для работы с учебной базой данных Zgrad.
1. Создайте CGI-приложение на основе компонента TWebModule.
2. Поместите в форму WebModule1 компонент TQuery с именем Query1 и компонент TQueryTableProducer с именем QueryTableProducer1.
3. Для компонента Query1 установите свойство DatabaseName=Zgrad, а в свойстве SQL задайте оператор языка SQL для БД Zgrad.
4. Для компонента QueryTableProducer1 установите свойства Caption, Header, Footer, задающие на языке HTML вывод поясняющего текста к таблице БД.
5. Откройте окно редактора столбцов HTML-таблицы двойным щелчком по компоненту QueryTableProducer1. Включите в HTML-таблицу все столбцы, нажав кнопку Add All Fields на панели инструментов редактора столбцов.
6. Откройте окно редактора действий компонента TWebModule и создайте новое действие. Задайте следующую процедуру обработки события OnAction для созданного действия, которая вставляет в ответ сервера результат выполнения SQL-запроса, представленный свойством QueryTableProducer1->Content:
void __fastcall TWebModule1::WebModule1WebActionItem1Action(
TObject *Sender, TWebRequest *Request, TWebResponse *Response,
bool &Handled)
{
Response->Content = "<HEAD><TITLE>";
Response->Content += "Пример использования TqueryTableProducer";
Response->Content += "</HEAD></TITLE>";
Response->Content += QueryTableProducer1->Content();
}
7. Оператор, выполняющий SQL-запрос, поместим в процедуру обработки события OnCreate компонента TWebModule, а оператор, подготавливающий компонент Query к изменению свойства SQL (к записи нового SQL-запроса), поместим в процедуру обработки события OnDestroy компонента TWebModule:
void __fastcall TWebModule1::WebModuleCreate(TObject *Sender)
{
Query1->Open();
}
void __fastcall TWebModule1::WebModuleDestroy(TObject *Sender)
{
Query1->Close();
}
8. Откомпилируйте приложение под именем WebModDB и скопируйте его исполняемый модуль на устройство W.
9. Подготовьте HTML-документ для проверки работоспособности CGI-приложения и осуществите эту проверку.
10. Модифицируйте приложение и HTML-документ так, чтобы пользователь мог набирать любой SQL-запрос в поле ввода формы и получать таблицу результатов запроса в ответе сервера.
Лабораторное задание и порядок его выполнения
Ознакомиться с основами технологии разработки web-приложений и освоить ее на примерах, приведенных в описании лабораторной работы.
Написать cgi-приложения и html-документы, реализующие данные примеры.
Разместить их на диске W и просмотреть результаты их выполнения.
Продемонстрировать функционирование разработанных web-приложений преподавателю.
Оформить отчет по результатам выполнения лабораторной работы.
Ответить на вопросы преподавателя.
Требования к отчету
Отчет должен содержать:
название и цель работы;
краткие сведения о формате html-документа, скриптах и cgi-приложениях.
© Илюшечкин В.М., Илюшечкина Л.В. МИЭТ, 2003
© Серёгин А. Ю., МИЭТ, 2004