#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 2,641건 73 페이지
  • RSS
기술자료 목록
1201
ClassicASP   18704  2012-06-13 13:37  
1200
PHP   18166  2012-06-13 03:34  
1199
MySQL   12787  2012-06-13 02:18  
1198
SQL   12749  2012-06-13 01:59  
1197
WindowsServer   16449  2012-06-11 14:35 ~ 2016-02-10 00:00  
1196
WindowsServer   17368  2012-06-11 14:27  
열람
ClassicASP   17801  2012-06-11 12:09 ~ 2012-06-11 00:00  
1194
etc언어   13409  2012-06-11 11:19  
1193
ClassicASP   13614  2012-06-11 06:55  
1192
HTML   52907  2012-06-07 17:46 ~ 2023-11-17 10:41  
1191
JavaScript   27034  2012-06-05 00:48  
1190
HTML   24859  2012-06-04 18:26 ~ 2020-01-19 13:34  
1189
메이크샵   12169  2012-06-02 11:51  
1188
메이크샵   10240  2012-06-02 11:45  
1187
그누보드   18991  2012-06-01 20:26  
1186
HTML   30440  2012-06-01 11:53 ~ 2012-06-02 00:00  
1185
ClassicASP   13363  2012-05-30 19:50  
1184
SQL   19535  2012-05-30 14:36 ~ 2013-09-22 00:00  
1183
SQL   11996  2012-05-30 13:55  
1182
HTML   18005  2012-05-29 21:09  

검색

해피정닷컴 정보

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

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