- •Инструменты разработки интернет-приложений
- •Введение
- •Интернет – основа интерактивного бизнеса
- •Электронный бизнес – закономерный этап инновационной спирали
- •Особенности Интернет как среды электронной коммерции
- •Основные определения
- •Этапы разработки и продвижения Интернет-проекта
- •Планирование Интернет-проекта
- •Определение контента сайта
- •Размещение сайта в Интернет
- •Регистрация в поисковых системах
- •Регистрация в рейтингах
- •Баннерная реклама
- •Обмен текстовыми ссылками
- •Массовая рассылка рекламных сообщений
- •Размещение объявлений о сайте на электронных досках
- •Рассылка в телеконференции (группы новостей)
- •Контрольные вопросы
- •Принципы работы интернет-приложений
- •Архитектура «клиент-сервер»
- •Отладка web-приложений на сервере
- •Сравнительный анализ возможностей web-технологий
- •Использование баз данных в Интернет
- •Интерактивное взаимодействие с помощью форм
- •Элементы управления формы
- •Способы передачи параметров Строка передаваемых параметров
- •Метод get
- •Метод post
- •Контрольные вопросы
- •Разработка интернет-приложений на языке php
- •Область применения языка php
- •Теги сценарияPhp
- •Константы
- •Переменные
- •Типы данных
- •Скалярные типы
- •Составные типы Массивы
- •Приведение типов
- •Управляющие конструкции
- •Операторы
- •Функции
- •Определение и вызов функций
- •Вложенные функции
- •Возврат значений из функции
- •Рекурсивные функции
- •Объекты (классы)
- •Работа с файлами
- •Стандартные функции php для работы с файлами
- •Обработка данных в нескольких файлах Использование атрибута action
- •Операторы включения файлов
- •СубдMySql
- •История созданияMySql
- •Взаимодействие с субдMySql
- •Способ хранения таблиц и баз данных
- •Типы таблиц
- •Типы данных в субдMySql
- •Стандартные функции рнр для работы с MySql
- •Соединение с сервером
- •Выбор базы данных
- •Выполнение указанного запроса
- •Извлечение информации
- •Ввод данных
- •Обработка ошибок
- •Контрольные вопросы
- •Разработка интернет-приложений в delphi
- •КонсольноеCgi-приложение
- •Использование специальных средствDelphIдля разработкиweb-приложений
- •КомпонентTWebModul
- •КомпонентTPageProducer
- •Компоненты для работы с базами данных
- •Редактирование наборов данных
- •Добавление записей
- •Удаление записей
- •Обновление записей
- •Создание и использование форм ActiveForm
- •Отладка приложений на локальном сервереWebAppDebugger
- •Обзор дополнительных возможностейDelphiдля создания сетевых приложений
- •Контрольные вопросы
- •Список литературы
- •Приложение а Листинг программы проверки переменных окружения сервера apache
- •Приложение б Поисковые системы и каталоги
- •Приложение в Службы баннерного обмена
КонсольноеCgi-приложение
Для вывода результатов выполнения сценария используются обычные процедуры вывода на консоль: в Object Pascal это write и writeln. Для создания простейшего приложения, которое будет выводить текстовую строку, необходимо выполнить следующие действия:
Открыть Delphi и закрыть окна проекта, предлагаемые по умолчанию.
Для удобства отладки серверных модулей рекомендуется установить путь для исполняемых exe-файлов – каталог cgi-bin сервера APACHE:
Projects Options вкладка Directories/Conditionals в поле Output Directory указать путь C:\WebServers\home\localhost\cgi-bin.
Выбрать в главном меню команду File New Other в депозитарии DELPHI на вкладке New выбрать пиктограмму Console ApplicationОК. В результате в проекте будет создан шаблон:
program Console;
{$APPTYPE CONSOLE}
uses
SysUtils;
begin
end.
В шаблон консольного приложения ввести следующий текст:
begin
writeln('Content-Type:text/html'); //вывод поля заголовка Content-type
writeln; //пустая строка отделяет заголовок от тела ответа
writeln('<html>'); //формирование HTML-документа
writeln('Пример');
writeln('</html>');
end.
Сохранить проект с именем Console.dpr, откомпилировать приложение и запустить в браузере, указав в адресной строке следующий путь: http://localhost/cgi-bin/Console.exe.
Примечание: для автоматического формирования исполняемого файла приложения с расширением *.cgi в файле проекта после заголовка программы следует добавить директиву компилятора {$E CGI}.
Использование специальных средствDelphIдля разработкиweb-приложений
Использование специальных средств позволяет значительно упростить разработку web-приложений, особенно в тех случаях, когда приложение работает с базами данных.
КомпонентTWebModul
Компонент TWebModul, вид которого представлен на рисунке 4.1, аналогичен контейнеру TDataModul. В него можно помещать компоненты доступа к данным и специальные компоненты для формирования ответа сервера на запрос клиента.
Основное свойство компонента – Action, которое содержит список действий, являющихся обработчиками запросов, поступающих от клиента.
Каждый элемент этого списка имеет тип TWebActionItem и добавляется в окне Редактора действий - Action Editor, представленном в нижней части рисунка 4.1. Каждое действие характеризуется следующими основными свойствами:
Pathlnfo: String — указывает, при какой строке параметров будет выполняться данное действие (на рисунке 4.1 у действия WebActionItem1 свойство PathInfo имеет произвольно заданный идентификатор - /1)
Например, CGI-приложение запускается в браузере по адресу:
http://localhost/cgi-bin/chance.exe.
Если приложение выполняет несколько действий, то обратиться к конкретному действию можно следующим образом:
http://localhost/cgi-bin/chance.exe/1.
Последняя часть URL-адреса называется PathInfo. Таким образом, если идентификатор PathInfo действия совпадает со значением PathInfo URL-адреса, то выполняются операторы, записанные в обработчике этого действия.
Если в одном действии предусматривается несколько вариантов ответа или передаются дополнительные параметры, то они отделяются вопросительным знаком «?». Эта часть URL-адреса называется Query – запрос, например:
http://localhost/cgi-bin/chance.exe/1?Variant1;
http://localhost/cgi-bin/chance.exe/1?Variant2;
MethodType: TMethodType — указывает метод, используемый клиентом для передачи запроса (mtGet, mtPost, mtHead, mtPut, mtAny).
Default: Boolean — используется для задания обработчика по умолчанию. Если у действия это свойство установлено равным true, то это действие будет выполнено в первую очередь при открытии страницы.
Producer: TCustomContentProducer — указатель на специальный компонент, используемый для формирования ответа web-приложения. Такие компоненты будут рассмотрены подробнее ниже.
Каждое действие из списка Actions может обрабатывать всего одно событие — OnActions. Обработчик этого события и выполняет формирование ответа серверу на принятый запрос клиента.
Если в приложении, предусматривается диалог с пользователем, то в формировании действий участвуют еще три параметра:
Request, который передает запрос клиента. Его основные свойства:
Content (ContentFields): String – строка параметров (список строк)4, переданная методом POST;
Query (QueryFields): String – строка параметров (список строк), переданная методом GET;
Response используется для формирования ответа. Его основное свойство Content: String – содержимое ответа.
Hаndled булева типа определяет, завершен ли ответ, или объект Response будет формироваться другими действиями.
Для создания CGI-приложения, использующего компонент TWebModul, необходимо выполнить следующие действия:
Выбрать в главном меню команду File New Other в депозитарии DELPHI на вкладке New выбрать пиктограмму WebServer ApplicationОК.
В открывшемся окне диалога с помощью переключателя выбрать тип приложения: CGI Stand-alone executable.
Открыть окно Редактора действия любым из следующих способов:
командой Action Editor из контекстного меню компонента WebModul1;
щелчком на кнопке с многоточием в поле ввода свойства Action компонента WebModul1;
двойным щелчком внутри контейнера WebModul1.
Добавить новое действие любым из следующих способов:
командой Add из контекстного меню Редактора действий;
кнопкой AddNew на панели инструментов Редактора действий;
нажать клавишу Insert.
В Инспекторе объектов задать необходимые свойства действия:
PathInfo –произвольный идентификатор, например, /1. Это означает, что при запуске CGI-приложения для выполнения данного действия в URL-адресе будет указана одноименная часть PathInfo, например, http://localhost/cgi-bin/chance.exe/1.
Default в значении true;
Создать обработчик события OnAction данного действия. Для этого в Инспекторе объектов перейти на вкладку Events и дважды щелкнуть в поле ввода этого события. В результате будет создан шаблон процедуры-обработчика события OnAction.
Пример выбора вариантов ответа:
В модуль добавлены два действия. Первое действие (по умолчанию) c PathInfo= /1 задает вопрос пользователю и предлагает варианты ответов. Второе действие c PathInfo= /2 формирует ответ в зависимости от выбора пользователя.
Обработчики события OnAction первого действия по умолчанию, когда клиенту задается вопрос:
begin
Response.Content:= ‘<h1> Сделайте свой выбор!</h1>’+
‘<A href= “/cgi-bin/chance.exe/2?Coffee”>Кофемолка</A> или’+
‘<A href= “/cgi-bin/chance.exe/2?Combine”>Кухонный комбайн</A>’;
Handled:=true;
end;
Этот код формирует документ HTML-страницу с вопросом для клиента. Варианты выбора выполнены в виде ссылок.
Обработчик действия, которое формирует ответ пользователю.
begin
if Request.Query= ‘Coffee’ then
Response.Content:= ‘Вы сделали прекрасный выбор. Для этого товара предусмотрена скидка 10% <br><a href=“ /cgi-bin/chance.exe/1”>Назад</a>’
else
Response.Content:= ‘………другой вариант ответа…………………’;
Handled:=true;
end;
Сохранить проект, откомпилировать приложение, разместить исполняемый файл в каталоге cgi-bin сервера и запустить в браузере.