Основы разработки сценариев
(Продолжительность занятия 25 минут)
Сценарий — это код, включенный в состав Web-страницы. Сценарий выполняется либо на клиентском компьютере, когда пользователь работает с элементом управления, либо на Web-сервере перед отправкой страницы клиенту. В обоих случаях Вы добавляете сценарий в Web-страницу в виде текста ASCII. На этом занятии сопоставляются серверные и клиентские сценарии; здесь же Вы узнаете о реализации сценарной части клиентских решений и о VBScript — языке создания сценариев, который используется в этой главе.
Изучив материал этого занятия, Вы сможете:
- сравнить и сопоставить серверные и клиентские сценарии;
- описать различия между Microsoft Visual Basic Scripting Edition (VBScript) и Microsoft JScript;
- объяснить назначение тэга <SCRIPT>.
Серверные и клиентские сценарии
Клиентский сценарий выполняется на компьютере-клиенте. Программы просмотра снабжены встроенным интерпретатором, который может считывать и выполнять сценарии (рис. 9.1).
Рис 9.1 Использование клиентских и серверных сценариев для создания Web-приложений
Основная цель добавления клиентского сценария к Web-странице — создание событийных процедур для элементов управления. Например, написанная Вами событийная процедура будет запускать определенную функцию, когда пользователь нажмет соответствующую кнопку.
Клиентские сценарии в HTML-странице не компилируются и не шифруются. Поэтому, если Вы посмотрите исходный HTML-код Web-страницы, Вы увидите текст встроенного сценария.
Чтобы сценарий клиентской части функционировал, программа просмотра должна поддерживать язык, на котором он написан. В противном случае пользователь не получит полного доступа к сценарным средствам Web-страницы.
Серверные сценарии
Серверный сценарий выполняется в рамках активной страницы на Web-сервере до того, как тот вернет пользователю готовую HTML-страницу. Когда пользователь запрашивает активную серверную страницу, сервер выполняет сценарии и создает HTML-код, который и передается пользователю. В результате пользователь не видит серверного сценария на полученной Web-странице.
Поскольку серверный сценарий выполняется на Web-сервере, ему доступны все ресурсы сервера — например, базы данных и исполняемые файлы.
Для работы серверных сценариев Web-сервер должен поддерживать технологию активных страниц; к программе просмотра же не предъявляется никаких дополнительных требований, поскольку Web-клиент в данном случае получает стандартную HTML-страницу. Таким образом, сценарии серверной части не зависят от клиентов.
Основные задачи клиентских и серверных сценариев
Клиентский сценарий выполняется на компьютере пользователя в процессе взаимодействии с Web-страницей и позволяет решать следующие задачи:
- • верифицировать значения элементов управления формы;
- реализовать событийные процедуры для элементов управления.
Серверный сценарий выполняется на Web-сервере до передачи страницы пользователю и позволяет:
- обеспечить доступ к базе данных и возврат данных пользователю;
- хранить информацию о состоянии пользователя или сеанса.
Реализация клиентских сценариев
Чтобы расширить функциональные возможности Web-страницы средствами клиентских сценариев, исходный текст сценария надо встроить в HTML-страницу в виде ASCll-текста. Встретив ее в тексте страницы, программа просмотра вызывает интерпретатор сценария, который анализирует и выполняет код. Программа просмотра должна поддерживать выполнение сценариев и их интеграцию с элементами управления ActiveX или Java-апплетами, встроенными в HTML-страницу. Если пользовательская программа просмотра не поддерживает язык, на котором написан сценарий, пользователю будут доступны не все возможности Web-страницы.
Языки разработки сценариев
Для разработки Web-приложений можно использовать любой язык создания сценариев, для которого имеется соответствующий интерпретатор. Самые популярные языки создания сценариев — Microsoft VBScript и JavaScript.
VBScript
Подмножество языка Microsoft Visual Basic — Microsoft Visual Basic Scripting Edition (VBScript) — не зависит от регистра символов и совместимо снизу вверх с Visual Basic for Applications. Microsoft Internet Explorer поддерживает VBScript средствами VBScript Interpreter — быстрого кросс-платформенного интерпретатора; лицензию на него бесплатно выдает компания Microsoft. Благодаря широкой популярности Visual Basic во всем мире, изучение VBScript не представляет особого труда.
JavaScript
JavaScript реализован Microsoft под названием JScript. Этот язык подобен С: в его основе лежит Java — язык программирования, разработанный компаниями Sun Microsystems и Netscape. JavaScript поддерживают как Netscape Navigator, так и Internet Explorer.
Примечание Чтобы упростить
разработку сценариев, корпорация Microsoft поставляет бесплатный отладчик Microsoft
Script Debugger (для работы в Microsoft Internet Explorer). Он позволяет тестировать
Web-приложения и поддерживает как JavaScript, так и VBScript.
Выбор языка разработки сценариев
VBScript и JavaScript похожи. Как в одном, так и в другом Вы можете определять переменные, создавать процедуры и обращаться к свойствам и методам объектов.
Разница между ними — небольшие отличия в синтаксисе. Ни один из них не компилируется, и оба работают на всех аппаратных платформах. Это интерпретируемые языки, поэтому скорость исполнения определяется возможностями программы просмотра, а не характеристиками самого языка. При выборе языка написания сценария учтите некоторые тонкости.
- Пользовательская программа просмотра должна поддерживать сценарный язык, которым Вы пользуетесь. В состав Microsoft Internet Explorer включены интерпретаторы VBScript и JavaScript, тогда как Netscape Navigator поддерживает только JavaScript. Пользователи могут приобрести у Netscape дополнительное расширение для работы с VBScript*.
- Используйте тот язык, с которым Вы лучше знакомы. Если Вы знаете Visual Basic, Вы быстро научитесь программировать на VBScript. Если же у Вас есть опыт работы с Java или С, Вам лучше подойдет JavaScript.
Примечание * - Поддержку
ActiveX-компонентов и сценариев на VBScript для Netscape Communicator/Navigator
обеспечивает дополнительный модуль ScriptActive, разработанный компанией NCompass
Laboratories. Дополнительная информация — http:// www.ncompasslabs.com/ScriptActive/.
Тэг <SCRIPT>
Код сценария на Web-странице обозначается HTML-тэгом <SCRIPT>. Параметр LANGUAGE указывает программе просмотра язык сценария и, соответственно интерпретатор, который следует применять для обработки кода сценария. Для сценариев на VBScript параметр LANGUAGE должен иметь значение VBScript, а для сценариев нa JavaScript — JavaScript. Параметр LANGUAGE обязателен, поскольку некоторые программы просмотра (например, Internet Explorer) поддерживают несколько языков написания сценариев.
Примечание Кроме того,
параметр LANGUAGЕ позволяет использовать на одной странице сценарии на разных
языках.
Пример Этот сценарий,
написанный на VBScript, запускается, когда пользователь нажимает соответствующую
кнопку на Web-странице:
<SCRIPT LANGUAGE="VBScript">
<!-
Sub BtnHello_OnClick()
MsgBox "Hello, world!"
End Sub
->
</SCRIPT>
Примечание Программы
просмотра, не поддерживающие сценарии, отображают фрагмент сценария как обычный
текст. Чтобы этого не случилось, код сценария обрамляют тэгами комментария (<!—
и —>).
Когда программа просмотра встречает тэг <SCRIPT> (как в предыдущем примере), она вызывает интерпретатор VBScript для выполнения кода сценария. В нашем примере сценарий связан с событием Click кнопки btnHello; результат работы сценария выводится в окне сообщений.
Пример Здесь определяется
функция общего назначения, которую могут вызывать все сценарии Web-страницы. Функция
получает информацию об объеме заказа (txtQty); если он превосходит 100
единиц, действует скидка:
<SCRIPT LANGUAGE="VBScript">
<! _
Function Discount(txtQty)
If txtQty > 100 then Discount =.10
End Function
->
</SCRIPT>
При написании сценария помещайте весь код в одном тэге <SCR1PT>. Хотя на HTML-странице можно разместить сколько угодно таких тэгов, код в одном тэге легче сопровождать. Тэг <SCRIPT> можно расположить как в разделе BODY, так и в разделе HEAD HTML-страницы.
Резюме
Сценарий — это код, средствами которого можно манипулировать Web-страницами. Клиентские сценарии выполняются на компьютере-клиенте, а серверные сценарии — на Web-сервере до передачи страницы пользователю. Чтобы клиентский сценарий действовал, программа просмотра должна поддерживать язык, на котором он написан. Работа серверных сценариев не зависит от программы просмотра.
Чтобы воспользоваться клиентским сценарием, разместите его исходный код в HTML-документе. Когда программа просмотра встретит в НТМL-коде сценарий, она вызовет интерпретатор для его анализа и выполнения.
Microsoft Visual Basic Scripting Edition (VBScript) и JavaScript — два наиболее популярных языка создания сценариев. VBScript — это подмножество языка Microsoft Visual Basic; средства поддержки этого языка включены в состав Microsoft Internet Explorer.