ASP - Работа с языками сценариев
Языки программирования, например Visual Basic, C++ и Java, обеспечивают доступ на нижнем уровне к ресурсам компьютера. Они используются для создания больших и сложных программных комплексов. Языки написания сценариев, в свою очередь, используются для создания программ ограниченных возможностей, называемых сценариями, которые выполняют функции веб-узла на веб-сервере или в обозревателе. В отличие от сложных языков программирования, языки написания сценариев интерпретируются: инструкции последовательно выполняются промежуточной программой, называемой интерпретатором команд. Хотя интерпретация уменьшает эффективность выполнения, языки написания сценариев просты для изучения и обеспечивают большие возможности. Сценарии могут быть встроены в HTML-страницы для форматирования содержимого или могут реализовывать компоненты COM, заключающие в себе бизнес-логику.
Active Server Pages предоставляют веб-разработчикам возможность написания сценариев, выполняемых на сервере, на различных языках сценариев. Фактически, внутри одного файла .asp могут быть использованы несколько языков написания сценариев. Кроме того, поскольку сценарии выполняются на сервере, обозреватель, запрашивающий файл .asp, может не иметь средства поддержки сценариев.
Можно использовать любой язык написания сценариев, соответствующий обработчик сценариев для которого установлен на веб-сервере. Обработчик сценариев — это программа, которая обрабатывает команды, записанные на определенном языке. В комплект поставки ASP входит два обработчика сценариев: Microsoft Visual Basic Scripting Edition (VBScript) и Microsoft JScript (JScript). Можно установить и использовать обработчики для других языков написания сценариев, например REXX, PERL и Python.
Те, кто знаком с программированием на Visual Basic, могут сразу же начать использовать VBScript, который является подмножеством Visual Basic. Программисты, знающие Java, C или C++, обнаружат, что синтаксис JScript знаком им, хотя JScript непосредственно не связан с Java или C.
Те, кто знаком с другими языками написания сценариев, например REXX, Perl или Python, могут получить и установить соответствующий обработчик сценариев, чтобы использовать уже известный язык. Active Server Pages представляет собой сервер сценариев COM; чтобы использовать язык, необходимо установить обработчик сценариев, который следует стандартам написания сценариев COM и находится на веб-сервере в качестве объекта COM (Component Object Model — компонентная модель объектов).
Задание основного языка сценариев
Основной язык сценариев ASP представляет собой языке, используемый для обработки команд между ограничителями <% и %>. По умолчанию основным языком сценариев является VBScript. В качестве основного языка сценариев можно использовать любой язык написания сценариев, для которого имеется обработчик сценариев. Основной язык сценариев может быть установлен для отдельных страниц или для всех страниц ASP-приложения.
Задание языка для приложения
Чтобы установить основной язык сценариев для всех страниц приложения, установите свойство Язык ASP по умолчанию на вкладке Параметры приложений в оснастке IIS. Дополнительные сведения см. в разделе Настройка приложений ASP.
Задание языка для страницы
Чтобы установить основной язык сценариев для одной страницы, добавьте директиву <%@ LANGUAGE %>
в начало файла .asp. Синтаксис директивы:
<%@ LANGUAGE=ЯзыкСценария %>
где ЯзыкСценария
— основной язык сценария, который должен быть установлен для определенной страницы. Настройка для определенной страницы перекрывает общие настройки для всех страниц приложения.
Следуйте рекомендациям по использованию директив ASP; дополнительные сведения см. в разделе Создание страницы ASP.
Примечание. Чтобы использовать в качестве основного язык, который не поддерживает синтаксис Объект.Метод, необходимо сначала создать раздел реестра LanguageEngines. Дополнительные сведения см. в разделе Общие сведения о системном реестре.
Использование VBScript и JScript на сервере
При использовании VBScript на сервере с ASP, две возможности VBScript запрещены. Поскольку сценарии, написанные для Active Server Pages исполняются на сервере, не поддерживаются операторы VBScript, в которых присутствуют элементы интерфейса пользователя InputBox и MsgBox. Кроме того, в сценариях на стороне сервера нельзя использовать функции VBScript CreateObject и GetObject. Вместо этого используйте Server.CreateObject, чтобы ASP мог отследить экземпляр объекта. Объекты, созданные с помощью CreateObject или GetObject, не могут обращаться к встроенным объектам ASP и не могут участвовать в тракзакциях. Исключениями из этого правила является использование объектов IIS Admin и использование Java monikers. Дополнительные сведения см. в разделах Использование объектов IIS Admin и Создание объекта на основе класса Java.
Списки и описания всех операторов, функций, команд, объектов, свойств и методов VBScript и JScript приведены в справочниках по соответствующим языкам. Эти ссылки могут быть найдены на веб-узле Microsoft Windows Script Technologies, расположенном по адресу http://msdn.microsoft.com/scripting/.
Вставка комментариев
Поскольку обработка всех сценариев в ASP производится на сервере, нет необходимости включать теги комментариев HTML, скрывающие сценарии от обозревателей, не поддерживающих сценарии, как это часто делается в сценариях на стороне клиента. Все команды ASP обрабатываются до пересылки содержимого в обозреватель. Можно использовать комментарии HTML для добавления примечаний к HTML-странице; комментарии передаются в обозреватель и видны пользователю при просмотре исходного текста в формате HTML.
Комментарии VBScript
В VBScript поддерживаются комментарии, начинающиеся с апострофа. В отличие от комментариев HTML, они удаляются при обработке сценария и не передаются в обозреватель.
<% 'Эта строка и две следующих являются комментариями. 'Функция PrintTable печатает все 'элементы в массиве. PrintTable MyArray() %>
Нельзя включать комментарий в выходное выражение. Например, первая из приведенных ниже строк будет работать, а вторая — нет, поскольку она начинается с <%=
.
<% i = i +1 'Эта команда увеличивает i на 1. (Этот сценарий будет работать.) %> <%= name 'Эта команда печатает имя переменной. (Этот сценарий не будет выполнен.) %>
Комментарии JScript
В JScript поддерживаются символы комментариев //
. Эти символы следует использовать на каждой строке комментария.
<% var x x = new Date() // Эта строка передает в обозреватель текущую дату, // преобразованную в строку. Response.Write(x.toString()) %>
Учет регистра
VBScript не учитывает регистр вводимых данных. Например, можно использовать Request или request для указания объекта ASP Request. Единственным последствием этого является невозможность различения переменных по использованному регистру. Например, нельзя создать две отдельных переменных с именами Color и color.
JScript учитывает регистр. Когда в сценарии используются ключевые слова JScript, они должны быть введены именно так, как указано в справочной странице по этому ключевому слову. Например, использование date вместо Date вызовет ошибку. Регистр, показанный в документации по встроенным объектам ASP, будет действовать и в командах JScript.