Dreamweaver의 현재 버전 이후로 사용자 인터페이스가 간소화되었습니다. 따라서 이 문서에 설명된 옵션 중에 Dreamweaver의 현재 버전에 없는 옵션이 있을 수 있습니다. 자세한 내용은 이 문서를 참조하십시오.
동적 내용 소스 정보
다이내믹 콘텐츠 소스는 웹 페이지에서 사용할 다이내믹 콘텐츠를 검색하고 표시할 수 있는 정보 저장소입니다.다이내믹 콘텐츠의 소스에는 데이터베이스에 저장된 정보뿐만 아니라 HTML 양식에서 제출된 값, 서버 개체에 포함된 값, 기타 콘텐츠 소스도 포함됩니다.
Dreamweaver를 사용하면 손쉽게 데이터베이스에 연결하고 다이내믹 콘텐츠를 추출할 레코드세트를 만들 수 있습니다.레코드세트는 데이터베이스 쿼리를 실행한 결과입니다. 요청한 특정 정보를 추출하고 해당 정보를 지정된 페이지 내에 표시할 수 있도록 합니다.데이터베이스에 포함된 정보와 표시하려는 콘텐츠를 기반으로 레코드세트를 정의합니다.
기술 공급업체마다 레코드세트에 대해 다른 용어를 사용할 수 있습니다.ASP와 ColdFusion에서 레코드세트는 쿼리로 정의됩니다.사용자 입력이나 서버 변수와 같은 다른 데이터 소스를 사용하는 경우 Dreamweaver에서 정의된 데이터 소스의 이름은 데이터 소스 이름 자체와 동일합니다.
다이내믹 웹 사이트는 다이내믹 콘텐츠를 검색하고 표시할 데이터 소스가 필요합니다.Dreamweaver를 사용하면 데이터베이스, 요청 변수, URL 변수, 서버 변수, 양식 변수, 저장 프로시저 및 기타 다이내믹 콘텐츠 소스를 사용할 수 있습니다.데이터 소스에 따라 요청을 충족하는 새 콘텐츠를 검색하거나 사용자의 요구 사항에 맞게 페이지를 수정할 수 있습니다.
Dreamweaver에서 정의한 모든 콘텐츠 소스는 바인딩 패널의 콘텐츠 소스 목록에 추가됩니다.그런 다음 콘텐츠 소스를 현재 선택된 페이지에 삽입하세요.
레코드세트 정보
웹 페이지는 데이터베이스에 저장된 데이터에 직접 액세스할 수 없습니다.대신 레코드세트와 상호 작용합니다.레코드세트는 데이터베이스 쿼리를 사용하여 데이터베이스에서 추출한 정보(레코드)의 하위 집합입니다.쿼리는 데이터베이스에서 특정 정보를 찾아 추출하도록 설계된 검색 문입니다.
다이내믹 웹 페이지의 콘텐츠 소스로 데이터베이스를 사용할 때는 먼저 검색된 데이터를 저장할 레코드세트를 만들어야 합니다.레코드세트는 콘텐츠를 저장하는 데이터베이스와 페이지를 생성하는 애플리케이션 서버 간의 중개자 역할을 합니다.레코드세트는 더 빠른 데이터 검색을 위해 애플리케이션 서버의 메모리에 임시로 저장됩니다.서버는 레코드세트가 더 이상 필요하지 않으면 삭제합니다.
쿼리는 특정 열만, 특정 레코드만 또는 둘 모두의 조합을 포함하는 레코드세트를 생성할 수 있습니다.레코드세트에는 데이터베이스 테이블의 모든 레코드와 열이 포함될 수도 있습니다.그러나 애플리케이션에서 데이터베이스의 모든 데이터를 사용해야 하는 경우는 거의 없으므로 레코드세트를 최대한 작게 만들도록 노력해야 합니다.웹 서버가 레코드세트를 메모리에 임시로 보관하므로 더 작은 레코드세트를 사용하면 메모리 사용량이 줄어들고 서버 성능이 향상될 수 있습니다.
데이터베이스 쿼리는 데이터베이스에서 데이터를 검색하고, 추가하고, 삭제할 수 있는 간단한 언어인 구조화된 쿼리 언어(SQL, "시퀄"로 발음)로 작성됩니다. Dreamweaver에 포함된 SQL 작성기를 사용하면 SQL을 이해하지 않아도 간단한 쿼리를 만들 수 있습니다. 하지만 복잡한 SQL 쿼리를 만들려면 이 언어에 대한 기본 지식이 있어야 더 고급 쿼리를 만들 수 있고, 동적 페이지 디자인에서 더 큰 유연성을 얻을 수 있습니다.
Dreamweaver에서 사용할 레코드셋을 정의하기 전에 데이터베이스에 대한 연결을 만들고, 데이터가 아직 없다면 데이터베이스에 데이터를 입력해야 합니다. 아직 사이트에 대한 데이터베이스 연결을 정의하지 않았다면, 개발 중인 서버 기술에 대한 데이터베이스 연결 관련 장을 참조하고 데이터베이스 연결 생성 지침을 따르십시오.
URL 및 양식 매개 변수 정보
URL 매개 변수는 사용자가 입력한 정보를 저장합니다.URL 매개 변수를 정의하려면 GET 방법을 사용하여 데이터를 제출하는 양식이나 하이퍼텍스트 링크를 만들어야 합니다. 정보는 요청된 페이지의 URL에 추가되어 서버로 전달됩니다. URL 변수를 사용할 때 쿼리 문자열에는 양식 필드와 연결된 하나 이상의 이름-값 쌍이 포함됩니다. 이러한 이름-값 쌍은 URL에 추가됩니다.
양식 매개 변수는 웹 페이지의 HTTP 요청에 포함된 검색된 정보를 저장합니다. POST 방법을 사용하는 양식을 만들면 양식에서 제출한 데이터가 서버로 전달됩니다. 시작하기 전에 양식 매개 변수를 서버로 전달해야 합니다.
세션 변수 정보
세션 변수를 사용하면 사용자의 방문(또는 세션) 기간 동안 유지되는 정보를 저장하고 표시할 수 있습니다. 서버는 각 사용자마다 서로 다른 세션 개체를 만들고 설정된 기간 동안 또는 개체가 명시적으로 종료될 때까지 이를 유지합니다.
세션 변수는 사용자의 세션 동안 지속되고 사용자가 웹 사이트 내에서 페이지를 이동할 때도 유지되므로 사용자 기본 설정을 저장하는 데 이상적입니다. 세션 변수는 페이지의 HTML 코드에 값을 삽입하거나, 로컬 변수에 값을 할당하거나, 조건식을 평가하는 값을 제공하는 데도 사용할 수 있습니다.
페이지에 대한 세션 변수를 정의하기 전에 소스 코드에서 세션 변수를 만들어야 합니다. 웹 애플리케이션의 소스 코드에서 세션 변수를 만든 후 Dreamweaver를 사용하여 해당 값을 검색하고 웹 페이지에서 사용할 수 있습니다.
세션 변수의 작동 방식
세션 변수는 정보(일반적으로 사용자가 제출하는 양식 또는 URL 매개 변수)를 저장하고 사용자의 방문 기간 동안 웹 애플리케이션의 모든 페이지에서 사용할 수 있도록 합니다. 예를 들어, 사용자가 이메일, Stock 시세, 일기 예보, 일일 뉴스에 액세스를 제공하는 웹 포털에 로그온하면 웹 애플리케이션은 로그인 정보를 세션 변수에 저장하여 사이트의 페이지 전체에서 사용자를 식별합니다.이를 통해 사용자가 사이트를 탐색할 때 선택한 종류의 콘텐츠만 볼 수 있습니다. 세션 변수는 계정이 일정 기간 동안 비활성 상태로 유지되면 사용자의 세션을 종료하는 안전 메커니즘을 제공할 수도 있습니다. 또한 사용자가 웹 사이트에서 로그오프하는 것을 잊은 경우 서버 메모리와 처리 리소스를 확보할 수 있습니다.
세션 변수에는 사용자 세션이 지속되는 동안에만 정보가 저장됩니다. 세션은 사용자가 애플리케이션 내의 페이지를 열 때 시작되고, 사용자가 일정 기간 동안 애플리케이션의 다른 페이지를 열지 않거나 사용자가 명시적으로 세션을 종료할 때(일반적으로 "로그오프" 링크를 클릭하여) 끝납니다. 세션이 존재하는 동안에는 개별 사용자에게 특정되며, 모든 사용자는 별도의 세션을 갖습니다.
웹 애플리케이션의 모든 페이지에서 액세스할 수 있는 정보를 저장하려면 세션 변수를 사용하세요.정보는 사용자 이름, 선호하는 글꼴 크기, 사용자가 성공적으로 로그인했는지를 나타내는 플래그처럼 다양할 수 있습니다.세션 변수의 또 다른 일반적인 용도는 온라인 퀴즈에서 지금까지 정답을 맞힌 문제 수나 온라인 카탈로그에서 사용자가 지금까지 선택한 제품과 같은 누적 집계를 유지하는 것입니다.
세션 변수는 사용자 브라우저가 쿠키를 허용하도록 구성된 경우에만 작동할 수 있습니다.서버는 세션이 처음 시작될 때 사용자를 고유하게 식별하는 세션 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 %>
값 표현식은 일반적으로 Request.Form("lastname")와 같은 서버 표현식입니다.예를 들어, product라는 URL 매개 변수(또는 GET 방법과 product라는 텍스트 필드가 포함된 HTML 양식)를 사용하여 정보를 수집하는 경우 다음 명령문이 정보를 prodID라는 세션 변수에 저장합니다:
ColdFusion
<CFSET session.prodID = url.product>
ASP
<% Session("prodID") = Request.QueryString("product") %>
게시 방법과 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">큰 글자</a><br>
<a href="resort.cfm?fontsize=small">일반 텍스트</a>
사용자의 텍스트 기본 설정을 세션 변수에 저장하고 사용자가 요청하는 각 페이지에서 글꼴 크기를 설정하는 데 사용합니다.
대상 페이지 상단 근처에 다음 코드를 입력하여 사용자의 글꼴 크기 기본 설정을 저장하는 font_pref라는 세션을 만듭니다.
ColdFusion
<CFSET session.font_pref = url.fontsize>
ASP
<% Session("font_pref") = Request.QueryString("fontsize") %>
사용자가 하이퍼텍스트 링크를 클릭하면 페이지가 URL 매개 변수를 통해 사용자의 텍스트 기본 설정을 대상 페이지로 보냅니다. 대상 페이지의 코드가 URL 매개 변수를 font_pref 세션 변수에 저장합니다. 사용자 세션 기간 동안 애플리케이션의 모든 페이지가 이 값을 검색하여 선택한 글꼴 크기를 표시합니다.
ASP 및 ColdFusion 애플리케이션 변수
ASP와 ColdFusion에서는 애플리케이션 변수를 사용하여 애플리케이션이 실행되는 동안 유지되고 사용자 간에 공유되는 정보를 저장하고 표시할 수 있습니다.애플리케이션의 생애는 첫 번째 사용자가 애플리케이션에서 페이지를 요청하는 시점부터 웹 서버가 중지되는 시점까지 지속됩니다.(애플리케이션은 가상 디렉터리와 하위 디렉터리에 있는 모든 파일로 정의됩니다.)
애플리케이션 변수는 애플리케이션의 생애 동안 지속되고 사용자 간에 유지되므로 현재 시간 및 날짜와 같이 모든 사용자에게 존재해야 하는 정보를 저장하는 데 이상적입니다.애플리케이션 변수의 값은 애플리케이션의 코드에서 정의됩니다.
ASP 서버 변수
다이내믹 콘텐츠의 소스로 다음 ASP 서버 변수를 정의할 수 있습니다: Request.Cookie, Request.QueryString, Request.Form, Request.ServerVariables, Request.ClientCertificates.
ColdFusion 서버 변수
다음 ColdFusion 서버 변수를 정의할 수 있습니다.
클라이언트 변수
데이터와 특정 클라이언트를 연결합니다. 클라이언트 변수는 사용자가 애플리케이션에서 페이지 간을 이동할 때와 세션 간을 이동할 때 애플리케이션의 상태를 유지합니다."상태 유지"는 한 페이지(또는 세션)에서 다음 페이지로 정보를 보존하여 애플리케이션이 사용자와 사용자의 이전 선택사항 및 환경설정을 기억하도록 하는 것을 의미합니다.
쿠키 변수
브라우저에 의해 서버로 전달된 쿠키에 액세스합니다.
CGI 변수
ColdFusion을 실행하는 서버, 페이지를 요청하는 브라우저 및 처리 환경에 대한 기타 정보를 제공합니다.
서버 변수
서버의 모든 클라이언트와 애플리케이션에서 액세스할 수 있습니다. 서버가 멈출 때까지 지속됩니다.
로컬 변수
ColdFusion 페이지 내에서 CFSET 태그 또는 CFPARAM 태그로 생성됩니다.