Visual Basic, C++ 등의 프로그래밍 언어와 Java는 컴퓨터 리소스에 대한 저수준 액세스를 제공하며 복잡한 대용량 프로그램을 작성하는 데 사용됩니다. 그러나 스크립트 언어는 웹 서버나 브라우저에서 웹 사이트 기능을 실행하는 제한된 기능의 프로그램(스크립트)을 작성하는 데 사용됩니다. 복잡한 프로그래밍 언어와 달리 스크립트는 인터프리터 언어이며, 명령 인터프리터라는 프로그램에 의해 지시 문이 순차적으로 실행됩니다. 스크립트 언어는 순차적으로 실행되므로 실행의 효율성이 떨어지기는 하지만 배우기 쉬울 뿐 아니라 강력한 기능을 제공합니다. 스크립트는 HTML 페이지에 포함되어 컨텐트의 형식을 지정하고 COM 구성 요소를 캡슐화하는 고급 비즈니스 논리를 구현하는 데 사용됩니다.
Active Server Pages를 사용하면 웹 개발자가 서버에서 다양한 스크립트 언어로 스크립트를 작성할 수 있습니다. 실제로 여러 스크립트 언어를 하나의 .asp 파일 안에서 사용할 수 있습니다. 또한 스크립트는 서버쪽에서 읽혀지고 처리되므로 .asp 파일을 요청하는 클라이언트 브라우저에서 스크립팅를 지원하지 않아도 됩니다.
웹 서버에 적절한 스크립팅 엔진이 설치되어 있으면 모든 스크립트 언어를 사용할 수 있습니다. 스크립팅 엔진은 특정 언어로 쓰여진 명령을 처리하는 프로그램입니다. Active Server Pages에는 VBScript(Microsoft Visual Basic Scripting Edition)와 Microsoft JScript 두 가지 스크립트 언어가 포함되어 있습니다. REXX, Perl, Python 등의 다른 스크립트 언어 엔진을 설치하여 사용할 수도 있습니다.
Visual Basic에 익숙한 프로그래머는 Visual Basic의 부분 집합인 VBScript를 즉시 사용할 수 있을 것입니다. 또한 Java, C 또는 C++ 프로그래머도 JScript가 Java나 C와 직접적인 관계가 없어도 JScript 구문에 쉽게 익숙해질 것입니다.
REXX, Perl, Python 등의 다른 스크립트 언어에 익숙하다면 이미 알고 있는 언어를 사용할 수 있도록 적절한 스크립팅 엔진을 구해 설치할 수 있습니다. Active Server Pages는 ActiveX 스크립트 호스트입니다. 언어를 사용하려면 ActiveX 스크립트 표준을 따르고 웹 서버에 COM(Component Object Model) 개체로 상주하는 스크립팅 엔진을 설치해야 합니다.
ASP 기본 스크립트 언어는 <%와 %> 구분 기호 안의 명령을 처리하는 데 사용하는 언어입니다. 기본적으로 기본 스크립트 언어는 VBScript입니다. 해당 스크립팅 엔진이 있으면 어떠한 스크립트 언어도 기본 스크립트 언어로 사용할 수 있습니다. 기본 스크립트 언어는 ASP 응용 프로그램에서 페이지별로 설정하거나 모든 페이지에 대해 설정할 수 있습니다.
응용 프로그램의 모든 페이지에 대한 기본 스크립트 언어를 설정하려면 인터넷 정보 서비스 스냅인에서 응용 프로그램 옵션 탭에 있는 기본 ASP 언어 속성을 설정합니다. 자세한 내용은 ASP 응용 프로그램 구성을 참조하십시오.
특정 페이지에 대한 기본 스크립트 언어를 설정하려면 .asp 파일의 앞 부분에 <%@ LANGUAGE %> 지시어를 추가합니다. 이 지시어의 구문은 다음과 같습니다.
<%@ LANGUAGE=ScriptingLanguage %>
여기서 ScriptingLanguage는 특정 페이지에 설정할 기본 스크립트 언어입니다. 특정 페이지에 대한 설정은 응용 프로그램의 모든 페이지에 대한 전체 설정보다 우선합니다.
ASP 지시어 사용에 대한 자세한 내용은 ASP 페이지 만들기를 참조하십시오.
참고 Object.Method 구문을 지원하지 않는 언어를 기본 스크립트 언어로 사용하려면 먼저 LanguageEngines 레지스트리 키를 만들어야 합니다. 자세한 내용은 레지스트리 정보를 참조하십시오.
ASP가 있는 서버에서 VBScript를 사용하는 경우 두 가지의 VBScript 기능을 사용할 수 없습니다. Active Server Pages로 작성된 스크립트는 서버에서 실행되므로 사용자 인터페이스 요소를 나타내는 VBScript 문 InputBox와 MsgBox는 지원되지 않습니다. 또한 서버쪽 스크립트에서는 VBScript 함수인 CreateObject와 GetObject를 사용하지 말고, 대신 ASP가 개체 인스턴스를 추적할 수 있도록 Server.CreateObject를 사용합니다. CreateObject나 GetObject로 만든 개체는 ASP 기본 제공 개체에 액세스하거나 트랜잭션에 참여할 수 없습니다. 단, IIS 관리 개체를 사용하거나 Java 모니커를 사용하는 경우는 예외입니다. 자세한 내용은 IIS 관리 개체 사용 및 Java 클래스로부터 개체 만들기를 참조하십시오.
모든 VBScript 및 JScript 운영자, 함수, 명령문, 개체, 속성 및 메서드의 목록과 설명은 VBScript 언어 참조 및 Jscript언어 참조를 참조하십시오. 이 참조는 Windows 스크립트 기술 웹 사이트에 있습니다.
모든 ASP 스크립트는 클라이언트쪽 스크립트와는 달리, 서버쪽에서 처리되므로 스크립트를 지원하지 않는 브라우저에 스크립트가 나타나지 않도록 HTML 주석 태그를 포함할 필요가 없습니다. 모든 ASP 명령은 컨텐트가 브라우저로 보내지기 전에 처리됩니다. HTML 주석을 사용하여 HTML 페이지에 설명을 추가할 수 있습니다. 주석은 브라우저로 반환되어 사용자가 HTML 소스를 표시할 때 나타납니다.
VBScript에서는 아포스트로피 형식의 주석이 지원됩니다. 아포스트로피 형식의 주석은 HTML 주석과는 달리 스크립트가 처리될 때 제거되므로 브라우저로 전달되지 않습니다.
<% '이 줄과 다음 두 줄은 주석문입니다. 'PrintTable 함수는 배열의 '모든 요소를 출력합니다. PrintTable MyArray() %>
출력 식 안에는 주석을 포함할 수 없습니다. 예를 들어, 다음의 첫째 줄은 실행되지만 둘째 줄은 <%= 태그로 시작되므로 실행되지 않습니다.
<% i = i +1 '이 명령문은 i가 증가합니다. (이 스크립트는 실행됩니다. ) %> <%= name '이 명령문은 변수 이름을 출력합니다. (이 스크립트는 실행되지 않습니다. ) %>
JScript에서는 // 주석 문자가 지원됩니다. 이 문자들은 각 주석 줄마다 사용되어야 합니다.
<% var x x = new Date() // 이 행은 현재 날짜를 브라우저로 보내며, // 문자열로 번역됩니다. Response.Write(x.toString()) %>
VBScript는 대소문자를 구분하지 않습니다. 예를 들어, Request나 request를 사용하여 ASP Request 개체를 참조할 수 있습니다. 대소문자를 구분하지 않는 경우 변수 이름을 대소문자로 구분할 수 없습니다. 예를 들어, "Color"와 "color"라는 이름의 변수는 동일한 것으로 간주됩니다.
JScript는 대소문자를 구분합니다. 스크립트에서 JScript 키워드를 사용할 때는 해당 키워드의 참조 페이지에 나타난 그대로 키워드를 입력해야 합니다. 예를 들어, Date 대신 date를 사용하면 오류가 발생합니다. 이 ASP 기본 제공 개체 설명서에서 설명한 예제는 JScript 명령에서 실행됩니다.