이번에는 ASP의 하이브리드 코드의 작동 원리에 대해서 알아보겠습니다.
웹 문서는 물리적인 파일 안에 여러 가지 언어를 포함하고 있습니다.
HTML 문서에는 HTML 코드와 자바스크립트를, ASP 문서에는 ASP 코드와 HTML 코드와 자바스크립트를 포함하고 있습니다.
각 언어는 고유의 해석기를 통해야 하므로, 하나의 웹 문서를 다수의 해석기로 해석하는 독특한 구조입니다.
이런 구조를 하이브리드 코드 구조라고 합니다.
다음의 예제는 오늘 날짜를 출력하는 간단한 ASP 파일입니다.
이 예제를 통해 ASP 코드와 HTML 코드 그리고 자바스크립트 코드가 포함된 하이브리드 코드의 사용 방법을 살펴보겠습니다.
이 예제의 파일명은 Today.asp 라고 하겠습니다.
----------------------------------------------------------------------------------------------------------------
<HTML>
<script Language="Javascript">
var toDay = new Date()
var strDate = toDay.getFullYear() + "년 " + (toDay.getMonth()+1) + "월 " + toDay.getDate() + "일";
alert("오늘은 " + strDate + " 입니다");
</script>
<BODY>
<H3>오늘은
<script language="VBScript" runat="server">
Response.Write date()
</script>
입니다.</H3>
</BODY>
</HTML>
----------------------------------------------------------------------------------------------------------------
이 코드를 실행을 해보면 아래 그림과 같은 결과가 나오게 됩니다.
우선 자바스크립트 코드가 실행이 되어서 알림창이 뜨게 되네요. 안에 내용은 입력한대로 잘 나오구요.
다음은 이렇게 결과가 나오게 됩니다.
혹시 이상하다는것을 눈치 채셨는가요?
그렇습니다.
코드상으로 보면 분명히 "오늘은 2014-01-03 입니다." 라고 나와야하는데
"오늘은 입니다. 2014-01-03" 이렇게 나오고 있습니다. 왜 그럴까요?
그 이유는 웹 서버가 <script language="VBScript" numat="server"> 태그를 만나면 ASP 스크립트를 처리하기는 하지만, 그 결과를 HTML 문자열의 맨 긑에 추가하기 때문입니다.
이러한 이유로 ASP에서는 주로 인라인 스크립트 명령어인 <% ... %>를 사용합니다.
인라인 스크립트 명령어를 사용해서 다음과 같이 수정을 하면 실행결과는 의도하는대로 출력될 것입니다.
----------------------------------------------------------------------------------------------------------------
<HTML>
<script Language="Javascript">
var toDay = new Date()
var strDate = toDay.getFullYear() + "년 " + (toDay.getMonth()+1) + "월 " + toDay.getDate() + "일";
alert("오늘은 " + strDate + " 입니다");
</script>
<BODY>
<H3>오늘은 <%Response.Write date() %> 입니다.</H3>
</BODY>
</HTML>
----------------------------------------------------------------------------------------------------------------
다시 실행을 해보겠습니다.
자~ 제가 의도한대로 출력이 되었습니다.
인라인 스크립트 명령어를 이용하면 HTML 문자열 사이 사이에 ASP 코드를 삽입할 수 있어 프로그래밍이 훨씬 편리해집니다.
이런 방식은 대부분의 웹 프로그래밍 언어에도 그대로 적용되는데, PHP는 인라인 스크립트로 <? ... ?>를 사용하고
JSP는 ASP와 동일한 <% ... %> 를 사용합니다.
이상 ASP의 하이브리드 코드 구조에 대해서 포스팅을 마치겠습니다.^^
궁금하신점은 댓글로 남겨주세요~
'IT 프로그래밍 > ASP' 카테고리의 다른 글
ASP OPTION EXPLICIT 키워드 기초 설명 (0) | 2014.01.25 |
---|---|
ASP 변수에 대한 기초 설명 (0) | 2014.01.25 |
ASP 식별자 기초 설명 (0) | 2014.01.25 |
ASP WIN7 64bit 가상디렉토리 설정 설명 (0) | 2014.01.25 |
ASP 윈도우7 64bit 환경설정 설명 (0) | 2014.01.25 |