#include 와 Server.Execute 의 차이점 > 기술자료 | 해피정닷컴

#include 와 Server.Execute 의 차이점 > 기술자료

본문 바로가기

사이트 내 전체검색

#include 와 Server.Execute 의 차이점 > 기술자료

ClassicASP #include 와 Server.Execute 의 차이점

페이지 정보


본문

ASP로 개발 작업을 하다 보면 여러 파일에 공통으로 들어가는 부분이 꼭 있기 마련입니다. 그냥 Copy & Paste 신공을 이용해서 여러 파일에 붙여넣기 해도 되지만 나중에 수정할 일이라도 생기면 그때의 초 난감함은 이루 말할 수가 없습니다.
 
ASP역시 #include와 Server.Execute라는 명령어를 이용해서 공통파일이나 외부파일을 포함하는 방법을 제공하고 있습니다. 그런데 두가지 모두 외부파일을 포함하는 방법이긴 한데 약간의 차이점이 있습니다.
 
==============================
==========  #include 방법  ==========
==============================
 
#include 방법은 IIS에서 ASP파일을 실행 시키기 전에 포함되는 파일을 먼저 처리하여 포함하고 있는 파일에 삽입합니다.
포함되고, 포함해서 이렇게 말하니까.... 조금 이해가 어려울 수도 있는데..다음 예제를 보면 금방 이해 하실 겁니다.
 
===== test.asp =====
<%
Dim tmp 
tmp = 100
%> 
 
이 test.asp 파일을 test_inc.asp 파일에서 #include를 이용해서 포함합니다.
 
===== test_inc.asp =====
<%
tmp = 1000
%>
<!--#include virtual="test.asp"-->
<%
Response.Write tmp
%>
 
 
Response.Write 로 출력하는 tmp의 값은 test.asp에있는 tmp 변수의 값인 100 이 출력됩니다.
결국 #include를 이용해서 포함했을 경우에는 두파일이 우리는 한몸이다를 외치고 IIS역시 너희는 하나다를 인정해 주는 것입니다. 
 
이해를 돕기 위해서 test_inc.asp 파일에 tmp변수를 다시 선언해 보겠습니다.
 
===== test_inc.asp =====
<%
Dim tmp 
tmp = 1000
%>
<!--#include virtual="test.asp"-->
<%
Response.Write tmp
%>
 
다시 선언된 tmp의 값인 1000 이 출력되지 않고 다음과 같은 에러가 발생합니다.
 
에러출력 )
Microsoft VBScript 컴파일 오류 오류 '800a0411' 
다시 정의된 이름 
/test.asp, 줄 2 
Dim tmp
----^
 
변수가 다시 정의 되었다고 에러를 내 버립니다.
#include 방법은 완벽하게 하나로 인식한다는 뜻입니다.
 
 
==============================
========  Server.Execute 방법  ========
==============================
 
Server.Execute 방법은 ASP파일 처리시 같이 처리하게 되며 독립된 파일이 포함된 걸로 인식합니다.
위의 예제에서 포함 방법만 Server.Execute로 바꿔 보겠습니다.
 
===== test.asp =====
<%
Dim tmp 
tmp = 100
%> 

===== test1.asp =====
<% @LANGUAGE="VBscRIPT" CODEPAGE="65001" %>
<% Option Explicit %>
<%
Dim tmp 
tmp = 100
%> 
 
===== test_exe.asp =====
<% @LANGUAGE="VBscRIPT" CODEPAGE="65001" %>
<% Option Explicit %>
<%
Server.Execute("test1.asp") 
Dim tmp 
tmp = 1000
Server.Execute("test.asp") 
Response.Write tmp
%>

test_exe.asp 파일을 실행해보면 변수가 두번 정의 되었다고 에러를 내지도 않고, test.asp파일에 선언된 tmp 의 값인 100 이 출력됩니다. 
결국 Server.Execute 방법은 너는너 나는나 인 셈입니다.
그리고 또 한가지 #include처럼 먼저 처리가 되지 않기 때문에 동적으로 포함시키는 것이 가능합니다.
#include는 If 문의 조건에 따라서 동적 포함을 하는 것이 불가능합니다.

댓글목록

등록된 댓글이 없습니다.


Total 198건 4 페이지
  • RSS
기술자료 목록
열람
ClassicASP   17788  2012-06-11 12:09 ~ 2012-06-11 00:00  
137
ClassicASP   13608  2012-06-11 06:55  
136
ClassicASP   13350  2012-05-30 19:50  
135
ClassicASP   24222  2012-05-21 20:28  
134
ClassicASP   18645  2012-05-18 17:28  
133
ClassicASP   19655  2012-05-18 14:28 ~ 2012-05-25 00:00  
132
ClassicASP   20088  2012-04-27 02:31  
131
ClassicASP   53559  2012-04-24 17:51 ~ 2013-05-12 00:00  
130
ClassicASP   15165  2012-04-19 02:17  
129
ClassicASP   15231  2012-04-18 13:41 ~ 2016-03-30 00:00  
128
ClassicASP   25593  2012-04-17 22:22 ~ 2018-07-10 13:40  
127
ClassicASP   13824  2012-04-17 13:55  
126
ClassicASP   20855  2012-04-02 09:26  
125
ClassicASP   15126  2012-04-01 17:00  
124
ClassicASP   15909  2012-04-01 09:14 ~ 2012-04-01 00:00  
123
ClassicASP   19900  2012-03-27 13:14  
122
ClassicASP   26453  2012-03-26 20:16  
121
ClassicASP   14836  2012-03-24 01:04 ~ 2012-07-30 00:00  
120
ClassicASP   12172  2012-03-23 23:12  
119
ClassicASP   15912  2012-03-23 21:03 ~ 2013-11-06 00:00  

검색

해피정닷컴 정보

회사소개 회사연혁 협력사 오시는길 서비스 이용약관 개인정보 처리방침

회사명: 해피정닷컴   대표: 정창용   전화: 070-7600-3500   팩스: 042-670-8272
주소: (34368) 대전시 대덕구 대화로 160 대전산업용재유통단지 1동 222호
개인정보보호책임자: 정창용   사업자번호: 119-05-36414
통신판매업신고: 제2024-대전대덕-0405호 [사업자등록확인]  
Copyright 2001~2024 해피정닷컴. All Rights Reserved.