Обзор объектов и компонентов ASP

Механизм активных серверных страниц включает в себя пять встроенных объектов и ряд серверных компонентов, обеспечивающих серверные страницы всей функциональностью, c возможностью использования в сценариях, выполняемых на сервере. Рассмотрим сначала встроенные объекты. Эти объекты перечислены в таблице.

Объект Application используется для обмена информацией между пользователями данного приложения. Этот объект имеет два метода: Lock и Unlock - и может реагировать на два события - OnStart и OnEnd. Метод Lock блокирует изменения свойства объекта Application, метод Unlock отменяет данный запрет. Объект Application может хранить переменные. Использование объектов OnStart и OnEndтребует размещения соответствующего программного кода в глобальном файле GLOBAL.ASA.

Объект Назначение
Application / Приложение Используется для обмена информацией между пользователями данного приложения.
Request / Запрос Используется для получения значений параметров запроса, посланного клиентом.
Response / Ответ Используется для посылки информации клиенту.
Server / Сервер Обеспечивает доступ к методам и свойствам сервера.
Session / Сеанс Используется для хранения информации в течение сеанса.

Объект Request содержит только один тип атрибутов - коллекция:

Атрибут Описание
ClientCertificate Возвращает значения, хранящиеся в клиентском сертификате, посланном на сервер.
Cookies Возвращает cookie-значения , посланные в HTTP-запросе.
Form Возвращает значения элементов формы, посланные на сервер.
QueryString Возвращает значения строки запроса, посланной в URL на сервер.
ServerVariables Возвращает значения серверных переменных.

Объект Response используется для посылки информации клиенту. Рассмотрим набор атрибутов объекта Response:

Тип атрибута Атрибут Описание
Коллекция Cookies Позволяет установить cookie-значения.
Свойство Buffer Показывает, забуферизирована ли выходная HTML-страница.
Свойство ContentType Определяет тип HTTP-содержания для ответа клиенту.
Свойство Expires Определяет временную задержку перед кэшированием страницы после окончания сеанса связи.
Свойство ExpiresAbsolute Определяет дату/время кэширования страницы после окончания сеанса связи.
Свойство Status Значение строки состояния, возвращаемой сервером.
Метод AddHeader Устанавливает HTML-заголовок.
Метод AppendToLog Добавляет строку в конец журнала изменений сервера
Метод BinaryWrite Записывает в выходной поток HTTP без перевода в символы.
Метод Clear Стирает любой выходной буфер HTML.
Метод End Останавливает процесс выполнения ASP и возвращает текущие данные.
Метод Flush Немедленно посылает клиенту данные из выходного буфера.
Метод Redirect Служит для переадресации на другую станцию, заданную в формате URL.
Метод Write Записывает строку данных в выходной поток HTTP.

Объект Server обеспечивает доступ к методам и свойствам сервера. Он обладает четырьмя методами: CreateObject, HTMLEncode, MapPath и URLEncode. Метод CreateObject служит для создания экземпляров серверных компонентов. Метод HTMLEncode используется для вывода на экран тегов языка HTML. Метод MapPath предназначен для преобразования относительных или виртуальных маршрутов в каталоги на сервере. Метод URLEncodeслужит для преобразования адресов в формате URL.

Объект Session используется для хранения переменных в течение одного сеанса работы с сервером. Данный объект включает следующие атрибуты:

Тип атрибута Атрибут Описание
Свойство SessionID Возвращает идентификатор сеанса для пользователя.
Свойство Timeout Определяет период простоя состояния сеанса для приложения (в минутах)
Метод Abandon Уничтожает объект Session и освобождает его источник.
Событие Session_onStart Это событие активизируется в начале сеанса.
Событие Session_onEnd Это событие активизируется в конце сеанса.

Как было сказано выше, помимо встроенных объектов можно использовать серверные компоненты. Рассмотрим их основные характеристики:

Название компоненты Описание
AdRotator Используется для замены изображений или видеороликов по заданному сценарию при каждом обращении на сервер.
BrowserCapabilities Используется для получения различной информации о клиентском броузере.
DatabaseAccess Обеспечивает доступ к базе данных и использует компонент ActiveXDataObjects (ADO).
ContentLinking Применяется для управления списком URL-адресов, которые являются ссылками на страницы, расположенные на Web-узле.
FileAccess Обеспечивает доступ к хранимым на сервере файлам.

В рамках активных серверных страниц поддерживаются специальные включаемые файлы - Server-SideIncludes (SSI). Для этого используется специальная директива #INCLUDE, размещаемая в ASP-файле. Обычно она выглядит так:

<!- #INCLUDEVIRTUAL="/scripts/samples/foo.asp" ->

и указывает на то, что к данному ASP-файлу подключается файл foo.asp, который находится в виртуальном каталоге сервера (опция VIRTUAL) /scripts/samples/. Как правило, во включаемых файлах размещается код, общий для всех страниц. Это может быть сборник подпрограмм, выполняемых на большинстве серверных страниц.

Встроенные объекты

Как было сказано выше существует пять встроенных объектов, используемых в программах сценариев: Application, Request, Response, Server иSession.

Объект Application служит для обмена информацией между пользователями данного приложения. Например, можно реализовать простой счетчик обращений к серверу:

<%

Application.Lock

Application ("HitCount") = Application("HitCount") + 1

Application.Unlock

%>

Методы Lock и Unlock используются для блокирования изменений свойств объекта и для отмены этого запрета соответственно. Также объект Application может реагировать на два события - OnStart и OnEnd. Эти методы используются путем написания соответствующего кода в глобальном файле GLOBAL.ASA. Об этом будет рассказано в разделе "Глобальный файл".

Рассмотрим использование объекта Request на примере традиционной задачи - формы, заполняемой пользователем. Для начала необходимо создать форму. В качестве значения атрибута ACTION тега <FORM> нужно указать имя ASP-файла, например, formdemo.asp, и установить метод передачи данных POST. Пусть форма состоит из четырех текстовых полей ввода с именами UserName, UserAddress, UserEMail и UserComm. Пользователь заполняет форму и нажатием кнопки Submit отсылает ее на сервер. Что происходит на сервере? Получая команду SUBMIT, объект Request готов к обработке полей формы, то есть к отображению содержимого полей формы, сохранению их в файле или базе данных. Для отображения полей записи файл formdemo.asp может выглядеть следующим образом:

<HTML>

<BODYBGCOLOR=greenTEXT=white>

<%IfRequest.Form("UserName")= "" Then %>

<H4>

Форма заполнена некорректно.

Для исправления нажмите кнопку Back.

</H4>

<%Else%>

Получена следующая информация:<BR>

<PFONTSIZE=3>

Имя: <% =Request.Form("UserName") %><BR>

Адрес: <% =Request.Form("UserAddress") %><BR>

E-Mail: <% =Request.Form("UserEMail") %><BR>

Комментарии:<% =Request.Form("UserComm") %><BR>

</P>

<%EndIf%>

</BODY>

</HTML>

Существует ряд других методов объекта Request, на которые можно обратить внимание. Например с помощью коллекции ServerVariables можно получать доступ к серверным переменным:

'адрес, с которого пришел запрос

<%Response.WriteRequest.ServerVariables("REMOTE_ADDR")%>

'поддерживаемые клиентом языки

<%Response.WriteRequest.ServerVariables("HTTP_ACCEPT_LANGUAGE")%>

И еще один полезный пример. В нем показано, как можно получить все посланные пользователем значения полей формы:

<% ForEachxInRequest.Form %>

Request.Form(<% =x %> = <% =Request.Form(x) %> <BR>

<% Nextx %>

Объект Responseиспользуется для посылки информации пользователю. Метод Redirect этого объекта служит для переключения на другую страницу, как локальную, так и удаленную, адрес которой задается в формате URL:

<% Response.Redirect ("URL") %>

Метод Write является одним из базовых методов объекта Response. С его помощью информация посылается непосредственно клиенту. Например, если мы хотим вывести текущие дату и время, можно использовать следующий код:

<% Response.Write "Локальное время: <B>" & Now & "</B> %>

Объект Serverимеет четыре метода: CreateObject, HTMLEncode, MapPath и URLEncode. Метод CreateObject служит для создания экземпляров серверных компонентов. Примеры использования рассматриваются ниже. Метод HTMLEncode используется для вывода на экран тегов языка HTML. Например, вызов этого метода:

<%

Response.WriteServer.HTMLEncode("Для выделения текста используются теги <B> и </B>")

%>

приведет к появлению следующего текста в окне броузера:

Для выделения текста используются теги <B> и </B>

При этом, если посмотреть на исходный текст, то можно увидеть, что вместо тегов используются специальные символы:

Для выделения текста используются теги &lt;B&gt; и &lt;/Bgt;

Метод MapPath предназначен для преобразования относительных и виртуальных маршрутов в каталоги на сервере. Вот пример использования этого метода:

LogFile=Server.MapPath ("/Login") & "\input\logfile.txt"

SetOutStreamFileObject.CreаteTextFile (Logfile, True, False)

Метод URLEncode предназначен для преобразования адресов в формате URL. Например, вызов этого метода:

<%

Response.WriteServer.URLEncode("www.cpress.ru")

%>

приведет к появлению в окне броузера следующей строчки:

www%2Ecpress%2Eru

С помощью свойства ScriptTimeout объекта Server можно задать время выполнения сценария.

Объект Session используется для хранения переменных в течение одной сессии работы с сервером. Методы для обработки событий OnStart и OnEnd помещаются в глобальный файл GLOBAL.ASA. Соответствующие примеры использования указаны в разделе "Глобальный файл".








Дата добавления: 2015-12-26; просмотров: 1078;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.019 сек.