참고:

Dreamweaver CC 이상 버전에서 사용자 인터페이스가 간소화되었습니다. 따라서 이 문서에 설명된 옵션 중에 Dreamweaver CC 이상 버전에 없는 옵션이 있을 수 있습니다. 자세한 내용은 이 문서를 참조하십시오.

동적 내용 소스 정보

동적 내용 소스는 웹 페이지에서 사용할 동적 내용을 검색하고 조회할 수 있는 정보 저장소입니다. 동적 내용 소스에는 데이터베이스에 저장된 정보뿐 아니라 HTML 양식으로 전송된 값, 서버 오브젝트에 포함된 값 및 기타 내용 소스가 포함됩니다.

Dreamweaver에서는 간단하게 데이터베이스에 연결하고 동적 내용을 추출할 레코드세트를 만들 수 있습니다. 레코드세트는 데이터베이스 쿼리를 실행한 결과입니다. 레코드세트를 사용하면 사용자가 요청한 특정 데이터를 추출하여 지정된 페이지에 표시할 수 있습니다. 데이터베이스에 포함된 정보와 표시하고자 하는 내용을 기초로 레코드세트를 정의합니다.

업체에 따라 레코드세트 대신 다른 용어를 사용할 수 있습니다. ASP와 ColdFusion에서는 레코드세트를 쿼리로 정의합니다. 사용자 입력이나 서버 변수와 같은 다른 데이터 소스를 사용할 경우 Dreamweaver에 정의된 데이터 소스의 이름은 해당 데이터 소스 이름과 같습니다.

동적 웹 사이트에는 동적 내용을 검색하고 표시하기 위한 데이터 소스가 필요합니다. Dreamweaver에서는 데이터베이스, 요청 변수, URL 변수, 서버 변수, 양식 변수, 저장 프로시저 및 동적 내용의 기타 소스를 사용할 수 있습니다. 데이터 소스에 따라 새 내용을 검색하여 요청에 응답하거나 페이지를 수정하여 사용자의 요구를 충족시킬 수 있습니다.

Dreamweaver에서 정의한 모든 내용 소스는 [바인딩] 패널의 내용 소스 목록에 추가됩니다. 이 내용 소스를 현재 선택한 페이지에 삽입할 수 있습니다.

레코드세트 정보

웹 페이지에서는 데이터베이스에 저장된 데이터에 직접 액세스할 수 없습니다. 대신 웹 페이지는 레코드세트와 상호 작용합니다. 레코드세트는 데이터베이스 쿼리를 사용하여 데이터베이스에서 추출한 정보(레코드)의 부분 집합입니다. 쿼리는 데이터베이스에서 특정 정보를 찾아 추출하도록 디자인된 검색 문입니다.

데이터베이스를 동적 웹 페이지의 내용 소스로 사용하는 경우 우선 검색된 데이터를 저장할 레코드세트를 만들어야 합니다. 레코드세트는 내용을 저장하는 데이터베이스와 페이지를 생성하는 응용 프로그램 서버 사이에서 중개 역할을 합니다. 레코드세트는 데이터를 신속하게 검색할 수 있도록 응용 프로그램 서버의 메모리에 임시로 저장됩니다. 더 이상 필요하지 않은 레코드세트는 서버에서 삭제됩니다.

쿼리는 특정 열 또는 특정 레코드만 포함되거나 이 두 가지가 결합된 형태의 레코드세트를 생성할 수 있습니다. 레코드세트에는 데이터베이스 테이블의 모든 레코드와 열이 포함될 수도 있습니다. 그러나 응용 프로그램에 데이터베이스의 모든 데이터가 필요한 경우는 거의 없으므로 최대한 작은 레코드세트를 만드는 것이 좋습니다. 웹 서버는 레코드세트를 메모리에 임시로 저장하므로 레코드세트가 작을수록 메모리가 절약되고 서버 성능이 향상될 수 있습니다.

데이터베이스 쿼리는 간단한 언어인 SQL(Structured Query Language)로 작성되며 이 언어를 사용하여 데이터베이스에서 데이터를 검색, 추가 및 삭제할 수 있습니다. Dreamweaver에 포함된 SQL 작성기를 사용하면 SQL에 대해 전문 지식이 없어도 간단한 쿼리를 만들 수 있습니다. 하지만 복잡한 SQL 쿼리를 작성하려는 경우 이 언어에 대한 기본적인 지식이 있으면 고급 쿼리를 작성할 수 있고 동적 페이지를 디자인할 때 보다 뛰어난 유연성을 발휘할 수 있습니다.

Dreamweaver에서 사용할 레코드세트를 정의하려면 먼저 데이터베이스에 연결한 후 이 데이터베이스에 데이터가 없으면 데이터를 입력해야 합니다. 사이트의 데이터베이스 연결을 아직 정의하지 않은 경우 사용자가 개발 중인 서버 기술을 데이터베이스 연결 장에서 참조하여 설명에 따라 데이터베이스 연결을 만듭니다.

URL 및 양식 매개 변수 정보

URL 매개 변수에는 사용자가 입력하여 검색된 정보가 저장됩니다. URL 매개 변수를 정의하려면 GET 메서드를 사용하여 데이터를 전송하는 양식이나 하이퍼텍스트 링크를 만듭니다. 요청한 페이지의 URL에 정보가 추가되어 서버에 전달됩니다. URL 변수를 사용하는 경우 쿼리 문자열에는 양식 필드와 관련된 하나 이상의 이름-값 쌍이 포함됩니다. 이러한 이름-값 쌍은 URL에 추가됩니다.

양식 매개 변수에는 웹 페이지에 대한 HTTP 요청에 포함된 검색 정보가 저장됩니다. POST 메서드를 사용하는 양식을 만드는 경우 이 양식에 의해 전송된 데이터가 서버에 전달됩니다. 시작하기 전에 양식 매개 변수를 서버에 전달했는지 확인합니다.

세션 변수 정보

세션 변수를 사용하면 사용자의 방문 시간이나 세션 지속 기간 동안 유지된 정보를 저장하고 표시할 수 있습니다. 서버는 각 사용자에 대해 다른 세션 오브젝트를 만들며 설정된 시간이 지나거나 오브젝트가 명시적으로 종료될 때까지 세션 오브젝트를 유지합니다.

세션 변수는 사용자가 웹 사이트 내의 페이지를 이동하는 동안 사용자 세션에서 유지되므로 사용자 환경 설정을 저장하는 데 적합합니다. 또한 세션 변수는 페이지의 HTML 코드에 값을 삽입하거나, 로컬 변수에 값을 지정하거나, 조건식을 평가하기 위해 값을 제공하는 데에도 사용할 수 있습니다.

페이지에 세션 변수를 정의하려면 소스 코드에 세션 변수를 만들어야 합니다. 웹 응용 프로그램의 소스 코드에서 세션 변수를 만들면 Dreamweaver에서 해당 값을 검색하고 웹 페이지에서 사용할 수 있습니다.

세션 변수의 작동 방식

세션 변수는 일반적으로 사용자가 전송한 양식 또는 URL 매개 변수라는 정보를 저장하여 사용자가 방문하고 있는 동안 해당 정보를 응용 프로그램의 모든 페이지에서 사용할 수 있게 합니다. 예를 들어 사용자가 이메일, 주식 정보, 일기 예보 및 뉴스에 액세스할 수 있는 웹 포털에 로그온하면 웹 응용 프로그램에서는 사이트의 전체 페이지에서 사용자를 식별하는 세션 변수에 로그인 정보를 저장합니다. 이렇게 하면 사용자는 사이트를 탐색하면서 이전에 선택한 종류의 내용만 볼 수 있습니다. 또한 세션 변수를 통해 특정 시간 동안 계정이 비활성 상태일 경우 사용자의 세션을 종료하여 안전한 메커니즘을 제공할 수 있습니다. 이를 통해 사용자가 웹 사이트에서 로그오프하는 것을 잊은 경우에도 서버 메모리와 처리 리소스를 확보할 수 있습니다.

세션 변수에는 사용자 세션이 지속되는 동안에만 정보가 저장됩니다. 사용자가 응용 프로그램 내의 페이지를 열면 세션이 시작되고, 사용자가 특정 시간 동안 응용 프로그램의 다른 페이지를 열지 않거나 일반적으로 사용자가 "로그오프" 링크를 클릭하여 직접 세션을 종료하면 세션이 끝납니다. 세션은 지속되는 동안 개별 사용자에게 고유하고 각 사용자는 별도의 세션을 갖습니다.

웹 응용 프로그램의 모든 페이지에서 액세스할 수 있는 정보를 저장하려면 세션 변수를 사용하십시오. 이러한 정보는 사용자의 이름, 선호하는 글꼴 크기, 사용자가 로그인에 성공했는지 여부를 나타내는 플래그 등 매우 다양할 수 있습니다. 온라인 퀴즈의 현재 정답 수 또는 온라인 카탈로그에서 현재까지 선택한 제품 목록 등의 누적 집계를 추적하는 경우에도 세션 변수가 널리 사용됩니다.

세션 변수는 사용자의 브라우저에서 쿠키가 허용되는 경우에만 작동합니다. 세션이 처음 시작되면 서버에서 사용자를 고유하게 식별하는 세션 ID 번호를 만들고 ID 번호가 포함된 쿠키를 사용자의 브라우저에 보냅니다. 사용자가 서버의 다른 페이지를 요청하면 서버에서 브라우저의 쿠키를 읽어 사용자를 식별하고 서버 메모리에 저장된 사용자 세션 변수를 검색합니다.

세션 변수에서 정보 수집, 저장 및 검색

세션 변수를 만들기 전에 우선 저장할 정보를 수집한 다음 서버로 전송하여 저장해야 합니다. HTML 양식이나 URL 매개 변수가 포함된 하이퍼텍스트 링크를 사용하여 정보를 수집하고 서버로 전송할 수 있습니다. 사용자의 컴퓨터에 저장된 쿠키, 사용자의 브라우저에서 페이지 요청과 함께 보낸 HTTP 헤더 또는 데이터베이스에서 정보를 얻을 수도 있습니다.

세션 변수에 URL 매개 변수를 저장하는 일반적인 예로 링크를 사용하여 생성된 하드 코딩된 URL 매개 변수를 통해 서버로 제품 정보를 보내서 세션 변수에 저장되도록 하는 제품 카탈로그를 들 수 있습니다. 사용자가 "쇼핑 카트에 추가" 링크를 클릭하면 사용자가 쇼핑하는 동안 제품 ID가 세션 변수에 저장됩니다. 사용자가 결제 페이지로 이동하면 세션 변수에 저장된 제품 ID가 검색됩니다.

세션 변수에 양식 매개 변수를 저장하는 페이지의 일반적인 예로는 양식 기반 설문서가 있습니다. 이 양식에서는 선택 정보를 서버로 다시 전송하고, 응용 프로그램 페이지에서는 설문서를 분석하여 세션 변수에 응답을 저장한 후 설문 조사 참여자의 응답을 수집하여 집계하는 응용 프로그램에 세션 변수를 전달합니다. 정보를 나중에 사용할 수 있도록 데이터베이스에 저장할 수도 있습니다.

정보가 서버로 전송되면 서버 모델에 적합한 코드를 URL이나 양식 매개 변수에 지정된 페이지에 추가하여 세션 변수에 정보를 저장합니다. 대상 페이지라고 하는 이 페이지는 HTML 양식의 action 속성 또는 시작 페이지에 있는 하이퍼텍스트 링크의 href 속성에서 지정합니다.

세션 변수에 값을 저장하면 Dreamweaver를 통해 세션 변수의 값을 검색하여 웹 응용 프로그램에 사용할 수 있습니다. Dreamweaver에서 세션 변수를 정의한 후에는 해당 변수의 값을 페이지에 삽입할 수 있습니다.

각 HTML 구문은 다음과 같습니다.

<form action="destination.html" method="get" name="myform"> </form> 
<param name="href"value="destination.html">

사용된 서버 기술 및 정보 수집 메서드에 따라 세션 변수에 정보를 저장하는 데 사용되는 코드가 결정됩니다. 각 서버 기술에서 기본적인 구문은 다음과 같습니다.

ColdFusion

<CFSET session.variable_name = value>

ASP

<% Session("variable_name") = value %>

value 표현식은 일반적으로 Request.Form(“lastname”)과 같은 서버 표현식입니다. 예를 들어 product라는 URL 매개 변수(또는 GET 메서드와 product라는 텍스트 필드를 가진 HTML 양식)를 사용하여 정보를 모을 경우 다음 명령문은 prodID라는 세션 변수에 이 정보를 저장합니다.

ColdFusion

<CFSET session.prodID = url.product>

ASP

<% Session("prodID") = Request.QueryString("product") %>

post 메서드와 txtProduct라는 텍스트 필드가 있는 HTML 양식을 사용하여 정보를 수집할 경우 다음 명령문은 세션 변수에 정보를 저장합니다.

ColdFusion

<CFSET session.prodID = form.txtProduct>

ASP

<% Session("prodID") = Request.Form("txtProduct") %>

세션 변수에 저장된 정보 예제

다수의 노년층을 대상으로 하는 사이트에서 작업하는 경우를 가정해 봅니다. Dreamweaver에서 시작 화면에 사이트의 텍스트 크기를 사용자 정의할 수 있는 두 개의 링크를 추가합니다. 읽기 쉽도록 텍스트를 크게 표시하는 링크를 클릭할 수도 있고 텍스트를 보통 크기로 표시하는 링크를 클릭할 수도 있습니다.

세션 변수에 저장된 정보
세션 변수에 저장된 정보

다음 Adobe ColdFusion®의 예처럼 각 링크에는 사용자가 선호하는 텍스트 크기를 서버로 전송하는 fontsize라는 URL 매개 변수가 있습니다.

<a href="resort.cfm?fontsize=large">Larger Text</a><br> 
<a href="resort.cfm?fontsize=small">Normal Text</a>

사용자가 선택한 텍스트 크기를 세션 변수에 저장한 다음 이 정보를 통해 사용자가 요청하는 각 페이지의 글꼴 크기를 설정합니다.

대상 페이지의 상단에 다음 코드를 입력하여 사용자가 선택한 글꼴 크기를 저장하는 font_pref라는 세션을 생성합니다.

ColdFusion

<CFSET session.font_pref = url.fontsize>

ASP

<% Session("font_pref") = Request.QueryString("fontsize") %>

사용자가 하이퍼텍스트 링크를 클릭하면 페이지에서 사용자가 선택한 텍스트 크기를 URL 매개 변수에 넣어 대상 페이지로 전송합니다. 이 코드는 대상 페이지에서 font_pref 세션 변수에 URL 매개 변수를 저장합니다. 사용자 세션이 지속되는 동안 응용 프로그램의 모든 페이지에서는 이 값을 검색하여 선택한 글꼴 크기를 표시합니다.

ASP 및 ColdFusion 응용 프로그램 변수

ASP 및 ColdFusion에서 응용 프로그램 변수를 사용하여 응용 프로그램 수명 동안 유지되며 여러 사용자에 걸쳐서 지속되는 정보를 저장하고 표시할 수 있습니다. 응용 프로그램 수명은 최초의 사용자가 응용 프로그램에서 페이지를 요청한 시간부터 웹 서버가 중지된 시간까지입니다. 응용 프로그램은 가상 디렉터리와 그 하위 디렉터리에 있는 모든 파일로 정의됩니다.

응용 프로그램 변수는 응용 프로그램 수명 동안 여러 사용자에 걸쳐서 지속되므로 모든 사용자에게 표시되는 정보(예: 현재 시간 및 날짜)를 저장하는 데 적합합니다. 응용 프로그램 변수의 값은 응용 프로그램의 코드에 정의됩니다.

ASP 서버 변수

Request.Cookie, Request.QueryString, Request.Form, Request.ServerVariablesRequest.ClientCertificates 등의 ASP 서버 변수를 동적 내용 소스로 정의할 수 있습니다.

ColdFusion 서버 변수

다음 ColdFusion 서버 변수를 정의할 수 있습니다.

클라이언트 변수

데이터와 특정 클라이언트를 연결합니다. 클라이언트 변수는 사용자가 응용 프로그램에서 페이지 간에 이동할 때뿐 아니라 세션 간에 이동할 때도 응용 프로그램의 상태를 유지합니다. "상태를 유지"한다는 것은 특정 페이지(또는 세션)에서 그 다음 페이지(또는 세션)로 이동해도 정보가 보존된다는 것을 의미합니다. 이를 통해 응용 프로그램은 사용자와 이 사용자의 이전 선택 및 환경 설정을 기억할 수 있습니다.

쿠키 변수

브라우저에 의해 서버로 전달된 쿠키에 액세스합니다.

CGI 변수

ColdFusion을 실행 중인 서버 정보, 페이지를 요청하는 브라우저에 대한 정보 및 처리 환경에 대한 기타 정보를 제공합니다.

서버 변수

서버의 모든 클라이언트와 응용 프로그램에서 액세스할 수 있습니다. 이 변수는 서버가 중지될 때까지 유지됩니다.

로컬 변수

ColdFusion 페이지에서 CFSET 태그 또는 CFPARAM 태그를 사용하여 만듭니다.

이 작업에는 Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License의 라이센스가 부여되었습니다.  Twitter™ 및 Facebook 게시물은 Creative Commons 약관을 적용받지 않습니다.

법적 고지 사항   |   온라인 개인 정보 보호 정책