Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


ASP - язык серверных сценариев



VBScript

Как мы уже убедились статические HTML страницы существенно проигрывают в сравнении с DHTML, поэтому мимо разработка языка сценариев не могла пройти и компания Microsoft. Так в противовес JavaScript разработанному компанией Netscape появился VBScript, разработанный. компанией Microsoft Эти языки используются на стороне клиента, то есть генерируют объекты на основании HTML-страницы на стороне клиента в окне его браузера.

Данный подход имеет некоторые недостатки:

• сложность доступа к данным, находящимся на сервере

• высокие требования к аппаратным возможностям клиента

• высокая нагрузка на сеть, так как сервер вынужден передавать много лишней
информации, не имея информации о конкретных запросахпользователя

Эти проблемы возникают в связи с тем, что использование только скриптов заставляет решать все проблемы пользовательскую машину. Противоположный подход - решение все проблем на сервере так же имеет много недостатков, основной из которых связан с перегрузкой сервера при большом количестве запросов. Типичным примером такого подходя является CGI.

По сути CGI — способ взаимодействия Web-программ с браузером пользователя. Поэтому под CGI-программами понимают программы, написанные на любом языке программирования, способного выполняться на Web-сервере, включая C, C++, Visual Basic или даже командные языки операционных сред (например, C Shell). Но большинство CGI-программ пишется на языке Perl.

Perl (Practical Extraction and Report Language) является одним из наиболее гибких языковых средств, служащих для программирования интерфейсов CGI. Изначально Perl предназначался для обработки больших объемов данных и генерации отчетов по обработке этих данных (как явствует из его названия). За последние несколько лет Perl превратился в полнофункциональный язык программирования. Изначально созданный исключительно для работы под управлением операционных систем семейства UNIX, Perl теперь совместим с такими ОС, как Amiga, MS-DOS, OS/2 Warp, VMS, Windows NT, Window 95 и Macintosh.

Таким образом, CGI осуществляет запуск Web-приложения на стороне сервера, данные выводимые этим приложением на стандартный вывод и являются HTML-страницей, посылаемой клиенту. Всякий раз, когда клиент инициирует выполнение CGI-приложения, Web-сервер выполняет отдельную его копию (instance). Проблема заключается в том, что для каждого запроса клиента запускается копия Web-приложения на сервере, что резко сокращает производительность сервера при больших и средних нагрузках.

Понятно, что решить вышеперечисленные проблемы позволит только технология, в которой бы сочетались интерактивные возможности скриптов и мощные возможности серверных приложений. При этом серверная часть не должна быть самостоятельным приложением, что бы не создавать свой instance при каждом обращений.

В последнее время все большую популярность получают два средства создания интерактивных Web-страниц — ASP и PHP, работающие именно таким образом. Основным их достоинством является возможность формирования страниц на основании интерактива «клиент-сервер». Сами же программы, написанные на ASP (Active Server Pages — активные серверные страницы) и PHP (Personal Home Page), настолько просты, что программирование с их помощью доступно даже неискушенным.

PHP часто еще называют препроцессором гипертекста (Hypertext Preprocessor). По сути РНР серверный (выполняющийся на стороне сервера) мультиплатформный язык описания сценариев, встраиваемый непосредственно в HTML-код. В настоящее время PHP интенсивно используют более полумиллиона доменов Всемирной компьютерной сети, он распространяется на правах freeware и его можно свободно скачать с сайта разработчика http: // www. php. net /. Основу синтаксиса PHP составляют язык программирования C, Java и Perl. Целью создания языка является разработка динамически генерируемых страниц в кратчайшие сроки.

Несмотря на то что PHP — прекрасная альтернатива ASP, мы остановимся на последнем. Сравнивая эти два средства, решающие по сути схожие задачи, следует отметить переносимость первого (PHP) в отличие от второго (ASP) и специальную «заточку» ASP под создание гибких и удобных интерфейсов к базам данных. Это включает использование ActiveX Data Objects (ADO). Колоссальная поддержка структурированного языка запросов к базам данных SQL является мощнейшим средством, используя которое разработчик может не переучиваясь, работать напрямую с базами данных привычным образом. ASP поддерживает работу со всеми базами данных, соответствующими стандарту ODBC.

Говоря простыми словами, Active Server Pages — это обычные страницы, которые содержат скрипты, выполняющиеся на сервере наряду с обычным HTML-кодом. Принцип работы прост: после того как «серверный» код обработан сервером, результирующая страница, содержащая только клиентский код (HTML, JavaScript, VBScript), посылается клиенту. Код, выполнявшийся на стороне сервера, увидеть в окне браузера невозможно — вы видите лишь результат его работы.

ASP работает как под управлением Windows (NT, 2000, 2003) сервера (необходимо установить Windows Server и Web-сервер с поддержкой ASP — Microsoft's Internet Information Server [IIS]), так и под управлением других операционных систем. В последнее время компания Chili! Soft разработала версии ASP для следующих операционных систем:

Linux

Windows

Solaris

AIX

HP-UX

ASP становится совместимым со все большим числом операционных систем. < %@ LANGUAGE=" VBSCRIPT" %>

< HTML>

< HEAD>

< TITLE> ASP test< /TITLE>

< /HEAD>

< BODY>

< %= " Good day! It is now" & time %>

< /BODY>

< /HTML>

Написание CGI (Common Gateway Interface)-программ требовало особой осторожности и весьма высокой квалификации от программистов и администраторов, возникали сложности при отладке большинства приложений написанных на C, C++ или Perl. Когда компания Microsoft выпустила 3-ю версию своего Web-сервера (Internet Information Server), в начале 1997 года был создан принципиально новый метод написания серверных приложений.

Общие сведения о ASP

Вы пишете программу и складываете в файл на сервере. Браузер клиента запрашивает файл. Файл сначала интерпретируется сервером, на выходе производится HTML-код. Этот HTML посылается клиенту. Файлы с программами имеют расширение.asp. Файлы asp - это обычные текстовые файлы, содержащие исходные тексты программ. Файлы делаются с помощью любого текстового редактора. Каталог, в котором размещены файлы asp должен иметь права на выполнение, так как сервер исполняет эти файлы, когда браузер их запрашивает. Собственно программы пишутся на любом скриптовом языке, который установлен в системе. По умолчанию поддерживаются VBScript и JavaScript. Можно доустановить другие (например, Perl). Если ничего специально не указывать используется VBScript. В дальнейшем будем ссылаться только на него. Программные фрагменты заключаются в скобки < % %>. Можно ставить открывающую скобку в начале файла, закрывающую - в конце, все что между ними - программа на Visual Basic'е.

В VBScript есть все нормальные конструкции структурного программирования (if, while, case, etc). Есть переменные (описывать не обязательно, тип явно не задается). Поддерживаются объекты. Работа с ними обычная - Object.Property, Object.Method. Есть ряд встроенных объектов (Request, Response, Session, Server, Connection, Recordset). Можно доустанавливать другие компоненты (скачивать, покупать, программировать), например для работы с электронной почтой.

Понятия " экран", куда можно выводить данные нет. Все, что надо показать пользователю, выбрасывается в выходной поток на языке HTML. Для упрощения вывода существует объект

Response. Вывод осуществляется с помощью метода Write.

Response.Write(" < h2> Hello, world! < /h2> " ).

Так производится запись во внутренний буфер объекта Response. Когда скрипт заканчивает работу, весь буфер выдается клиенту. Надо заметить, что клиент получает " чистый" HTML, таким образом программы на ASP не зависят от клиентского ПО, что очень важно. Если внутри выводимой строки нужно использовать кавычку, кавычка удваивается. Метод Response. Redirect перенаправляет браузер на другую страницу. Чтобы им пользоваться, нельзя до него на странице использовать Response.Write.

 

 

4.2. Ввод и вывод на ASP

Программа на ASP не может явно спросить пользователя о чем-то. Она получает данные из других страниц, либо через URL. Передаваемые параметры помещаются во входной поток и доступны через объект Request. Чтобы передать переменную var в программу test.asp, надо написать:

test.asp? var=abc

Чтобы из программы получить значение этой переменной, надо написать:

var = Request(" var" )

Несколько переменных разделяется знаком &:

test.asp? var1=abc& var2=def

Кроме того, чтобы задавать параметры в URL, можно воспользоваться формами HTML. В вызывающей странице пишем так:

< form method=" get" action=" test.asp" >

< input type=text name=" var1" value=" default" >

< input type=submit value=" Submit Form" >

< /form>

При этом пользователь увидит форму из одного поля ввода (var1), в нем будет значение по умолчанию " default". Кнопка " Submit Form" завершает заполнение формы и передает все переменные на test.asp (action). Если method=" get", переменные передаются через URL (test.asp? var1=default& var2=var2value). Если method=" post", передаются вместе с запросом так, что внешне передача переменных не заметна. В вызываемой программе безразлично, какой метод изпользовался (почти). Если у вас нет специальных аргументов за метод GET, используйте метод POST.

4.3. Взаимосвязь между отдельными страницами в ASP

Обычно сервер WWW не хранит состояние приложения, т.е. все запросы взаимонезависимы, и нет стандартного способа понять, что несколько запросов пришли от одного и того же пользователя. Но это очень нужно для разработки полноценных приложений и является одной из главных проблем разработки Web-приложений.

Один из методов решения этой проблемы - cookies. Пользователю при первом обращении выдается специальный идентификатор, после этого браузер пользователя предъявляет этот идентификатор при каждом обращении, и сервер может распознать, что это тот же самый пользователь. Пользователь может отключить cookies, в этом случае этот метод не работает.

ASP, используя cookies, предоставляет программисту более простое средство - объект Session (сессия). Сессия стартует, когда новый пользователь обращается к любому asp-файлу приложения. Сессия заканчивается при отсутствии активности пользователя в течение 20 минут, либо по явной команде. Специальный объект Session хранит состояние сессии. Туда можно записывать переменные, которые доступны из любой страницы в этой сессии. Записать данные в

этот объект можно просто:

Session(" var" ) = var

Считать потом еще проще:

var = Session(" var" )

Сессия, таким образом, - это еще один метод передачи данных между страницами. Одна страница пишет данные в сессию, другая - берет потом оттуда.

Наряду с объектом Session существует объект Application. Если сессия создается для каждого нового пользователя, до Application существует в единственном экземпляре, и может

использоваться всеми страницами приложения.

Application(" var" ) = var

var = Application(" var" )

 

4.4. Использование внешних компонент

Если на сервере установлены дополнительные компоненты, их можно использовать из ASP. Стандартные объекты (например из библиотек ADO (Connection и Recordset) и Scripting (Dictionary, FileSystemObject)) доступны всегда. Установка новой компоненты обычно состоит в копировании dll-файла в каталог на сервере и ее регистрации с помощью программы regsvr32.exe

Создать экземпляр объекта можно так:

Set var = Server.CreateObject(" Class.Object" )

Class.Object указываются в документации на компоненту. В переменной var запоминается ссылка на созданный экземпляр объекта. Когда объект не нужен, ссылку нужно обнулить с помощью команды:

Set var = Nothing

Пожалуйста всегда обнуляйте все ссылки на объекты, когда они больше не нужны. Теоретически это должно происходить автоматически при завершении процедуры/страницы, однако в стандартной сборке мусора есть определенные " проблемы".

В остальном использование компоненты зависит от самой этой компоненты.


Поделиться:



Последнее изменение этой страницы: 2019-04-09; Просмотров: 225; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.033 с.)
Главная | Случайная страница | Обратная связь