IT 프로그래밍/ASP2014. 1. 25. 03:20

이번에는 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의 하이브리드 코드 구조에 대해서 포스팅을 마치겠습니다.^^

 

궁금하신점은 댓글로 남겨주세요~

 

Posted by 정윤문경아빠