ASP(Active Server Pages) 파일은 확장명이 .asp인 텍스트 파일이며 다음을 포함합니다.
.asp 파일을 만드는 가장 빠른 방법은 기존 html 파일의 확장명인 .htm 또는 .html을 .asp로 바꾸는 것입니다. 파일에 ASP 기능이 포함되어 있지 않으면, 서버가 ASP 스크립트를 처리하지 않고 효율적으로 파일을 클라이언트에게 보냅니다. 웹 개발자인 경우에는 나중에 ASP 기능을 추가할 계획이 없더라도 파일에 .asp 확장명을 지정할 수 있기 때문에 유연성이 훨씬 향상됩니다.
.asp 파일을 웹에 게시하려면 웹 사이트의 가상 디렉터리에 새 파일을 저장하면 됩니다. 이 때 해당 디렉터리는 스크립트 또는 실행 권한을 갖고 있어야 합니다. 그리고 나서, 파일의 URL을 입력하여 브라우저로 파일을 요청합니다. ASP 페이지가 제공되므로, 실제 경로에 입력하여 .asp 파일을 요청할 수는 없습니다. 파일이 브라우저에 로드되면 서버에서 HTML 페이지를 반환합니다. 이것이 이상하게 보일 수 있으나 서버가 파일을 보내기 전에 모든 ASP 서버쪽 스크립트를 분석 및 실행한다는 것을 기억하십시오. 사용자는 항상 표준 HTML을 받습니다.
텍스트 편집기를 사용하면 .asp 파일을 만들 수 있습니다. Microsoft® Visual InterDev(TM)와 같은 ASP 지원이 향상된 편집기를 사용하여 보다 능률적으로 작업할 수 있습니다. 자세한 내용은 Microsoft Visual InterDev 웹 사이트를 참조하십시오.
서버쪽 스크립트는 웹 서버에 순차적으로 명령을 부르는 데 사용되는 일련의 지침입니다. 웹 사이트를 개발한 적이 있다면 웹 브라우저에서 실행되는 클라이언트쪽 스크립트에 익숙할 것입니다. .asp 파일에서 스크립트는 구분 기호에 의해 텍스트 및 HTML과 구분됩니다. 구분 기호는 한 단위의 시작과 끝을 표시하는 하나 이상의 문자입니다. HTML의 경우, < 기호와 > 기호 등의 구분 기호로 HTML 태그를 둘러 쌉니다.
ASP는 구분 기호 <% 및 %>을 사용하여 스크립트 명령을 둘러 쌉니다. 구분 기호 안에 사용 중인 스크립트 언어에 맞는 어떤 명령이라도 포함시킬 수 있습니다. 다음은 스크립트 명령이 포함된 간단한 HTML 페이지 예제입니다.
<HTML> <BODY> 이 페이지는 <%= Now() %>에 마지막으로 새로 고쳤습니다. </BODY> </HTML>
VBScript 함수인 Now()는 현재 날짜와 시간을 반환합니다. 웹 서버는 이 페이지를 처리할 때 <%= Now() %>를 현재 날짜 및 시간으로 교체하고 아래의 결과로 브라우저에 페이지를 반환합니다.
이 페이지는 01/29/99 2:20:00 PM에 마지막으로 새로 고쳤습니다.
구분 기호로 둘러 싸인 명령을 기본 스크립트 명령이라고 불리며 기본 스크립팅 언어를 사용하여 처리됩니다. 스크립트 구분 기호 안에서 사용하는 모든 명령은 기본 스크립트 언어에서 사용할 수 있는 것이어야 합니다. 기본 스크립트 언어는 VBScript입니다. 그러나 다른 기본 언어를 설정할 수도 있습니다. 스크립트 언어 작업을 참조하십시오.
이미 클라이언트쪽 스크립트에 익숙한 경우 스크립트 명령과 식을 둘러싸는 HTML <SCRIPT> 태그에 익숙할 것입니다. 또한 서버쪽 스크립에도 <SCRIPT> 태그를 사용하여 .asp 파일에서 여러 언어로 프로시저를 정의할 수도 있습니다. 자세한 내용은 스크립트 언어 작업을 참조하십시오.
ASP 구분 기호 안에는 기본 스크립트 언어에서 사용할 수 있는 모든 명령문, 식, 프로시저 또는 연산자를 포함시킬 수 있습니다. VBScript 및 다른 스크립트 언어에서 문은 한 종류의 작업, 선언, 정의 등을 표현하는 구문상으로 완전한 한 단위입니다. 아래의 조건식 If...Then...Else 문은 일반적인 VBScript 문입니다.
<% Dim dtmHour dtmHour = Hour(Now()) If dtmHour < 12 Then strGreeting = "좋은 아침입니다!" Else strGreeting = "안녕하세요?" End If %> <%= strGreeting %>
이 스크립트는 시간별로 값 "좋은 아침입니다!" 또는 값 "안녕하세요!"를 문자열 변수 strGreeting에 지정합니다. <%= strGreeting %> 문은 변수의 현재 값을 브라우저에 보냅니다.
따라서 사용자가 웹 서버의 표준 시간대에 따라 정오 12시 이전에 이 스크립트를 보는 경우 다음과 같이 표시됩니다.
좋은 아침입니다!
정오 12시 이후에 이 스크립트를 보면 다음과 같이 표시됩니다.
안녕하세요!
문의 섹션 사이에 HTML 텍스트를 포함할 수도 있습니다. 예를 들어, If...Then...Else 문 안에 HTML이 혼합된 다음 스크립트는 앞 예제의 스크립트와 동일한 결과를 가져옵니다.
<% Dim dtmHour dtmHour = Hour(Now()) If dtmHour < 12 Then %> 좋은 아침입니다! <% Else %> 안녕하세요! <% End If %>
조건이 참인 경우, 즉 시간이 자정부터 정오 전까지라면 웹 서버는 브라우저에 ("좋은 아침입니다!") 조건을 따르는 HTML을 보냅니다. 그렇지 않을 경우에는 Else ("안녕하세요!")를 따르는 HTML을 브라우저에 보냅니다. 이렇게 HTML과 스크립트 명령을 혼합하여 사용하면 여러 줄의 HTML 텍스트 주위에 If...Then...Else 문을 넣을 수 있습니다. 앞의 예제는 웹 페이지 여러 곳에서 인사 메시지를 화면에 나타낼 때 편리합니다. 변수의 값을 한 번 설정하여 반복적으로 화면 표시할 수 있습니다.
스크립트 명령을 사용하여 HTML 텍스트를 나타내지 않고, 스크립트 명령 내부에서 브라우저로 HTML 텍스트를 보낼 수 있습니다. 브라우저에 텍스트를 보내려면 ASP 기본 제공 개체인 Response를 사용합니다. 다음은 앞의 스크립트와 동일한 결과를 가져옵니다.
<% Dim dtmHour dtmHour = Hour(Now()) If dtmHour < 12 Then Response.Write "좋은 아침입니다!" Else Response.Write "안녕하세요!" End If %>
Response.Write는 뒤에 오는 텍스트를 브라우저에 보냅니다. 브라우저에 보내지는 텍스트를 동적으로 구성하려면 문에서 Response.Write를 사용합니다. 예를 들어, 여러 변수 값을 포함하는 문자열을 작성할 수 있습니다. 구성 요소 및 개체 사용과 브라우저로 컨텐트 보내기에서 Response 개체 및 일반 개체에 대해 자세히 알게 될 것입니다. 지금은 HTML 페이지에 스크립트 명령을 삽입하는 몇 가지 방법만 살펴 보도록 하겠습니다.
ASP 구분 기호 내에 기본 스크립트 언어로 작성된 프로시저를 삽입할 수 있습니다. 자세한 내용은 스크립트 언어 작업을 참조하십시오.
JScript 명령으로 작업하는 경우에는 HTML 태그와 텍스트로 분산되어 있어도 ASP 명령에 문의 한 블럭을 지정하는 중괄호를 삽입할 수 있습니다. 예를 들면 다음과 같습니다.
<%
if (screenresolution == "low")
{
%>
이것은 페이지의 텍스트 버전입니다.
<%
}
Else
{
%>
이것은 페이지의 멀티미디어 버전입니다.
<%
}
%>
--또는--
<%
if (screenresolution == "low")
{
Response.Write("이것은 페이지의 텍스트 버전입니다. ")
}
Else
{
Response.Write("이것은 페이지의 멀티미디어 버전입니다. ")
}
%>
ASP는 사용하는 스크립트 언어에 포함되지 않은 출력 지시어와 처리 지시어를 제공합니다.
ASP 출력 지시어 <%= expression %>은 식의 값을 표시합니다. 이 출력 지시어는 Response.Write를 사용해서 결과를 표시하는 것과 동일한 효과를 가집니다. 예를 들어, 결과 식 <%= city %>는 변수의 현재 값인 단어 Baltimore를 브라우저에 표시합니다.
ASP 처리 지시어 <%@ keyword %>는 .asp 파일 처리를 위해 필요한 ASP 정보를 제공합니다. 예를 들어, 다음 지시어는 VBScript를 페이지의 기본 스크립트 언어로 설정합니다.
<%@ LANGUAGE=VBScript %>
처리 지시어는 반드시 .asp 파일 첫째 줄에 있어야 합니다. 하나 이상의 지시어를 페이지에 추가하려면 그 지시어가 동일한 구분 기호 내에 있어야 합니다. 처리 지시어를 #include 문이 포함된 파일에 넣지 마십시오. 자세한 내용은 파일 포함을 참조하십시오. @ 기호와 키워드 사이에는 반드시 공백이 있어야 합니다. 처리 지시어에는 다음 키워드가 있습니다.
중요 단일 지시어에 하나 이상의 키워드를 포함시킬 수 있습니다. 키워드/값 쌍은 공백으로 구분되어야 합니다. 등호(=) 앞뒤로는 공백을 넣지 마십시오.
다음은 스크립트 언어와 코드 페이지 모두를 설정하는 예제입니다.
<%@ LANGUAGE="JScript" CODEPAGE="932" %>
기본 스크립트 언어가 VBScript나 JScript인 경우, ASP는 명령에서 공백을 없앱니다. 다른 모든 스크립트 언어의 경우, ASP는 공백을 보존하여 위치 또는 들여쓰기에 영향을 받는 언어들이 올바로 해석되도록 합니다. 공백에는 스페이스, 탭, 리턴, 줄 바꿈 등이 있습니다.
VBScript와 JScript의 경우, 열기 구분 기호와 닫기 구분 기호 사이에 공백을 사용하여 명령을 읽기 쉽게 할 수 있습니다. 다음 문은 유효한 예제입니다.
<% Color = "녹색" %> <%Color="녹색"%> <% Color = "녹색" %>
ASP는 한 문의 닫기 구분 기호와 그 다음에 뒤따라오는 문의 열기 구분 기호 사이에 있는 모든 공백을 없앱니다. 그러나 읽기 쉽게 하기 위해서는 공백을 사용하는 것이 좋습니다. 변수의 값을 문장 속에서 표시할 때와 같이 두 문 사이에 공백을 유지할 필요가 있을 때 HTML 단어 잘림 방지 공백 문자( )를 사용합니다. 예를 들면 다음과 같습니다.
<%<% '문자열 값을 가진 두 변수를 정의합니다. strFirstName = "Jeff" strLastName = "Smith" %> <P>이 웹 페이지는 "<%= strFirstName %> <%= strLastName %>"에 맞게 구성되었습니다. < </P>