본문 바로가기

Web Development/ASP

[ASP] 프로그램 구조에 대해서

ASP에 대한 첫 번째 단계로 ASP 코드를 입력하기 위해서 필요한 여러 가지 기초에 대해서 알아보자.
이번에서는 일반 프로그래밍 언어와 마찬가지로 프로그래밍을 할 때 필요한 언어 기초부분을 집중적으로 다루어보겠다.
다른 프로그래밍에 대한 경험이 없다면 주의 깊게 살펴보기 바란다.

1.1 프로그램 구조

ASP를 이용하여 서버 페이지를 만드는 방법은
크게 HTML을 기준으로 ASP 코드가 삽입되는 구조와 순수 ASP 코드를 삽입하는 구조의 두 가지로 나눈다.

두 가지의 코드 입력의 결과는 동일하지만 코드 입력의 편이성은 전자를 대용량의 서버 페이지의 제작 시 수행능력의 향상을 위해서는 후자의 방법을 많이 사용한다.

1) HTML 페이지 삽입 구조

대부분의 코드 입력에서 사용되며, HTML을 기준으로 하기 때문에 사용자에게 보여지게되는 페이지의 확인이 용이하다.
전체적인 구조는 다음의 형식을 따른다.


<%
  선언부
  사용자 Request 처리
  ...
%>

<html>
<body>

<%
  변수 선언부
  함수 선언부
  데이터베이스 처리
%>

...

<P><%=변수%></P

...

</html>


HTML 페이지 삽입 구조형식을 따르고 있는 다음 코드를 살펴보자.

● insert_html.asp


<%@ Language=VBScript %>

<%
  ' 변수저장
  Today = now
%>

<HTML>
<HEAD>
  <TITLE>HTML 페이지 삽입 구조</TITLE>
</HEAD>
<BODY>

  오늘은 <P><%=Today%></P> 입니다.

</BODY>
</HTML>



[그림 1-1] insert_html.asp 결과

HTML 태그의 입력을 기준으로 ASP 파일이 삽입된 코드 구조이다.
첫 부분에서 Today 변수를 선언하여 현재 시간을 입력받은 후 본문에서 변수를 출력하는 방법으로 페이지가 구성되어 있다. 이 구조는 첫 부분의 변수를 선언하는 부분과 본문에 있는
<%=Today%>를 생략하면 HTML 태그와 동일하다는 것에 주의해야 하겠다.


[참고하세요]

ASP 코드의 입력에 사용되는 에디터로 마이크로소프트의 Visual InterDev가 있다고 소개하였다.
실제 Visual InterDev의 기능은 많이 있지만 텍스트 에디터로 사용하였을 때는
다음과 같이 ASP 코드와 HTML 태그의 구분이 용이해 개발자에게 여러 가지 장점을 주는 환경을 볼 수 있다.


[그림 1-2] Visual InterDev를 이용한 코드 입력


2) 순수 ASP 코드 입력 구조

앞의 HTML을 기준으로 입력하는 것이 아니라 순수 ASP 코드만을 사용해서 사용자에게 페이지를 제공하는 방법이다.
대부분의 사이트에서 데이터의 처리나 데이터베이스에 관련된 부분을 작업할 때 주로 사용한다.
전체적인 구조는 다음의 형식을 따른다.


<%
  선언부
  사용자 Request 처리
  ...

  변수 선언부

  함수 선언부

  데이터베이스 처리

  response.write HTML 코드
%>


순수 ASP 코드 입력 구조형식을 따르고 있는 다음 코드를 살펴보자.
[이 스크립트는 복사하여 옮기면 에러가 생길 수 있습니다.그럴 경우 실제로 타이핑해야 실행이 됩니다.]

● insert_asp.asp


<%@ Language=VBScript %>

<%

  ' 변수저장
  Today = now
  Response.Write "<HTML>"
  Response.Write "<HEAD>"
  Response.Write "<TITLE>ASP 페이지 삽입 구조</TITLE>"
  Response.Write "</HEAD>"
  Response.Write "<BODY>"
  Response.Write "오늘은 <P>" & Today & "</P> 입니다."
  Response.Write "</BODY>"
  Response.Write "</HTML>"

%>



[그림 1-3] insert_asp.asp 결과

순수 ASP 코드만 사용하여 페이지를 출력하는 구조이다.
앞의 HTML 태그를 기준으로 한 파일고 출력결과는 동일하다.
이처럼 순수 ASP 코드만을 이용하여도 사용자에게 동적인 페이지를 만들 수 있다는 것을 유의하자.

3) 어떤 구조를 사용할 것인가?

ASP를 처음 다루는 분들이라면 첫 번째 코드를 기본 코드 입력의 기준으로 생각하면 된다.
인터프리터의 장점을 살릴 수 있고, 페이지의 출력될 결과를 미리 짐작할 수 있는 구조이기 때문이다.
ASP 코드만 사용하는 것은 HTML 태그가 필요 없는 부분에 자주 사용될 것이다.

예를 들어 사용자가 입력한 데이터를 저장만 하는 부분과 같은 곳에서 많이 활용될 것이다.

그러나 HTML 태그를 기준으로 하는 구조에도 약간의 문제점은 있다.
사용자의 접속이 많은 페이지의 경우에 HTML 태그와 ASP 코드가 복잡하게 쓰여있으면
ASP 해석기와 HTML과의 전환작업이 많아져 성능 저하의 원인이 될 수 있다.
그렇기 때문에 사용하는 홈페이지의 환경에 따라서 조금의 차이를 두어야 할 경우도 있을 것이다.