CFA LogoCFA Logo Computer
Новости Статьи Магазин Драйвера Контакты
Новости
RSS канал новостей
В конце марта компания ASRock анонсировала фирменную линейку графических ускорителей Phantom Gaming. ...
Компания Huawei продолжает заниматься расширением фирменной линейки смартфонов Y Series. Очередное ...
Компания Antec в своем очередном пресс-релизе анонсировала поставки фирменной серии блоков питания ...
Компания Thermalright отчиталась о готовности нового высокопроизводительного процессорного кулера ...
Компания Biostar сообщает в официальном пресс-релизе о готовности флагманской материнской платы ...
Самое интересное
Программаторы 25 SPI FLASH Адаптеры Optibay HDD Caddy Драйвера nVidia GeForce Драйвера AMD Radeon HD Игры на DVD Сравнение видеокарт Сравнение процессоров

АРХИВ СТАТЕЙ ЖУРНАЛА «МОЙ КОМПЬЮТЕР» ЗА 2002 ГОД

ASP-технологии: встроенные объекты

(Продолжение, начало см. в МК № 8 (179))

В прошлой статье я рассказал вам о Personal Web Server’е, который нам понадобится для изучения одной из передовых серверных технологий — ASP. Последняя по своей сути несколько отличается от так называемых «хостов сценариев», независимых от конкретного языка программирования. Стандартным скриптовым языком для майкрософтовских web-серверов является VBScript, но если у вас есть интерпретатор языка Perl, то вы можете использовать технологию ASP для написания web-приложений и на этом языке. Кроме того, стандартный движок ASP может распознавать и JScript (версию JavaScript от Microsoft). Для того чтобы скрипты на JScript распознавались и выполнялись, нужно указать в начале ASP-страницы директиву <% language=Jscript %> или использовать следующую конструкцию:

А сейчас разрешите мне поведать вам о встроенных объектах ASP, которых насчитывается аж семь штук: Response, Request, Server, Application, Session, Object Context, ASPError.

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

• В корне Web-узла создайте виртуальный каталог с именем Embedded_objects (смотрите прошлую статью);

• В нем создайте файлы default.htm и response.asp. Для этого можно создать текстовый документ или HTML-документ и просто поменять расширение на *.asp.

В файле default.htm создайте ссылку на файл response.asp. Для этого введите текст:

• Откройте файл response.asp в любом текстовом редакторе (лично я использую 1stPage и FrontPage, хотя подходит любой другой, например, Dreamweaver).

• Наберите следующий текст:

Сохраните файл.

Загрузите файл default.htm в браузер. Примечание: чтобы просмотреть эту ASP-страницу в браузере, необходимо сначала запустить Web-сервер, затем в строке адреса набрать следующий текст: http://localhost/Embedded_objects. Этот прием сработает, если на вкладке «Другие» в поле «Задать документы, которые будут использоваться по умолчанию» будет указан єтот самый default.htm. Вместо localhost вы можете указать имя вашего компьютера, так как имя localhost по неизвестным мне причинам не всегда работает. Если вы не знаете имени вашего компьютера, войдите в Панель управления, откройте пункт «Сеть», и в поле «Имя компьютера» вы увидите то, что искали.

В окне браузера появится сообщение, представленное на Рис. 1рис. 1.

Давайте разберемся, как работает этот сценарий.

Когда поступает запрос от браузера, web-сервер находит нужную страничку и начинает передавать HTML-текст клиенту. Затем сервер встречает тэг начала сценария —<%. И вот тут начинается самое интересное — в дело вступает движок ASP, загружается нужная библиотека динамической компоновки (DLL) и начинается обработка сценария. Анализатор находит строку

и затем, используя метод Write объекта Response, отсылает заключенный в кавычкаи текст браузеру. Дальше обработчик встречает тэг окончания сценария %>; выполнение сценария заканчивается и отсылается оставшийся HTML. В результате браузер получит следующий текст:

Теперь давайте усложним сценарий. Измените серверную часть (то есть текст между <% и %>) следующим образом:

В первых двух строках объявляются переменные I и J. Мы присваиваем переменной I значение 12457, а переменной J — значение 13485. После этого браузеру посылается текст And this is a text sent by Response object<br>, а затем текст 12457+13485 =. Дальше переменные I и J складываются, сумма же отправляется клиенту. Рис. 2Теперь эта страничка будет выглядеть так, как показано на рис. 2.

Мы рассмотрели, пожалуй, самый часто используемый метод объекта Response — Write. Теперь давайте рассмотрим остальные методы и свойства этого объекта.

Свойство Buffer предназначено для буферирования пересылаемой на браузер информации до окончания обработки страницы. Включать его нужно, если предполагается динамическая запись значений заголовка ASP-страницы, — например, при использовании метода Response.Redirect. Обычно это значение стоит по умолчанию. Если же нет, то указывать его следует таким образом (обычно эту строку ставят в начале страницы):

Свойство Expires употребляется для принудительного обновления страниц. ASP-страницы, в отличие от HTML-страниц, динамичны, и поэтому в некоторых случаях нельзя допускать, чтобы страница заносилась в кэш браузера. Для этого и используется свойство Expires, которое устанавливает период в минутах, после которого данные считаются устаревшими. Записывается оно в начале страницы таким образом:

Если вы вставите первую строчку примера в вашу ASP-страницу, то браузер вообще не будет ее кэшировать. А вот этот код заставит браузер считать страницу устаревшей через 5 минут:

Примечание: когда вы используете данное свойство, движок ASP добавляет соответствующий заголовок в пересылаемую страницу, а так как не все браузеры воспринимают этот заголовок правильно, эта штука не всегда работает. Особенно «отличились» в этом отношении браузеры Netscape.

Свойство ExpiresAbsolute аналогично свойству Expires, но устанавливает не период времени, а конкретную дату, после которой браузеру подается команда обновить страницу. Используется оно так:

Это означает, что страница будет действительна до 22 часов 22 минут 22 секунд 25 декабря 2002 года.

Свойство CaheControl из одного ряда со свойствами Expires и ExpiresAbsolute. Часто в «старении» страницы виноваты не браузеры, а proxy-серверы — они кэшируют ASP-страницу, и когда пользователь запрашивает ее, proxy возвращает кэшированную информацию. Чтобы избежать этого, используется свойство CaheControl. Оно может принимать два значения: Private и Public. Private означает, что proxy не будет кэшировать страницу, Public, соответственно, наоборот. Например:

Свойство Charset дает команду движку ASP добавлять в заголовок страницы ее кодировку. Пример:

Свойство ContentType. Данное свойство устанавливает значение заголовка HTML-страницы, которое отвечает за ее содержимое. По умолчанию это text/html, но иногда приходится устанавливать это значение вручную — например, когда вы используете метод BinaryWrite. Пример:

Свойство IsClientConnected позволяет определить, подключен ли клиент к серверу. Использование этого свойства бывает полезно в тех случаях, когда происходит обработка больших объемов данных (например, при выборке из базы данных), а клиент по каким-либо причинам отключился от сервера. В этом случае не имеет смысла продолжать работу сценария, занимая драгоценные ресурсы сервера. Принимает значения TRUE или FALSE. Пример:

Свойство Status. Позволяет определить сообщение, возвращаемое сервером в ответ на запрос клиента. Например, «404 Not Found», «401 Unauthorized», «200 OK» и др.

Свойство PICS используется для добавления значения HTML-заголовка, отвечающего за рейтинг страниц по системе PICS (Platform for Internet Content Selection — платформа для выбора Internet-содержимого). С помощью этой метки вы можете обозначить ваш сайт как порнографический :-), и тогда родители могут запретить своим детям просмотривать его, установив соответствующую опцию в браузере. Спецификации смотрите на сайте http://www.w3.org/PICS.

Теперь давайте перейдем к методам объекта Response.

Метод Redirect. Предназначен для переадресации страницы в случае, когда неизвестен точный URL переадресации (когда известен, следует использовать метод AddHeader, о котором речь пойдет далее). Пример:

После выполнения этой строки браузеру посылается сообщение «302 Object Moved», в результате чего клиент запрашивает у сервера нужный файл.

Примечание: для того чтобы использовать эту функцию, нужно установить значение Response.Buffer в True.

Метод AddHeader позволяет добавить к ASP-странице нестандартный заголовок. Например, если вам нужно, чтобы страница обновлялась каждые 2 секунды, следует добавить следующую строку:

Если же вам нужно, чтобы через 18 секунд загрузилась другая страница, то укажите следующую строку:

<% Response.AddHeader “Refresh”, “18; URL=http://www.anysite.com/anypage2.asp” %>

Этот метод следует использовать тогда, когда заранее известен URL переадресации, иначе нужно применять метод Redirect.

Примечание: вместо этого метода можно использовать meta-тэги (собственно, метод AddHeader попросту автоматизирует этот процесс) вот таким образом:

Метод AppendToLog предназначен для записи в журнал событий Web-сервера (LOG-файл). Например:

Метод Clear очищает буфер ответа на сервере.

Метод BinaryWrite позволяет передавать клиенту нетекстовую информацию (картинки, звуковые файлы, архивы, исполняемые файлы и другие).

Метод End. С помощью этого метода можно завершить передачу информации клиенту. Все операторы сценария, а также элементы HTML, которые следуют за строкой Response.End, выполняться и пересылаться не будут.

Метод Flush. Отправляет все содержимое буфера на клиент. Применяется при обработке объемных страниц.

Наконец, кратко опишем единственную в объекте Response коллекцию.

Коллекция Cookies. Данная коллекция играет большую роль в разработке web-приложений. Она позволяет сохранять информацию, связанную с конкретным пользователем, между сеансами его работы. Вообще, Cookies являются небольшими файлами, которые хранятся в специальной папке на компьютере пользователя. Они содержат строки вида «Ключ=Значение». Например, при необходимости сохранить имя пользователя так, чтобы при следующем посещении данной web-страницы ему не пришлось бы вводить свое имя заново, можно использовать такой скрипт:

Бывает, что Cookies содержат «подзначения» (Microsoft называет их «Cookies с отображениями»). Пример:

Максимальный объем файлов Cookie в большинстве современных браузеров составляет 1 Кб (1024 байт).

Итак, в этой статье мы рассмотрели один из самых важных встроенных объектов ASP — Response. В следующий раз я расскажу вам о не менее интересном и полезном объекте Request.

(Продолжение следует)

Рекомендуем ещё прочитать:






Данную страницу никто не комментировал. Вы можете стать первым.

Ваше имя:
Ваша почта:

RSS
Комментарий:
Введите символы или вычислите пример: *
captcha
Обновить





Хостинг на серверах в Украине, США и Германии. © sector.biz.ua 2006-2015 design by Vadim Popov