WAP의 ASP 기술 (3)
저자:Eve Cole
업데이트 시간:2009-05-30 19:54:45
이전 섹션에서는 WAP와 WML의 가장 기본적인 개념을 설명했습니다. 이번 섹션에서는 ASP와 WAP가 어떻게 결합되는지 살펴보겠습니다.
섹션 4: 영화 티켓을 예약하는 또 다른 방법
현재 오슬로에서는 영화관에서 티켓 판매를 위한 전화 기반 시스템을 제공하고 있습니다. 이 시스템은 매우 복잡하며 사용자에게 티켓 구매를 안내하는 몇 가지 지침을 제공해야 합니다.
그리고 사용자는 신문에서 특정 영화의 코드를 찾아야 합니다. 이것은 매우 귀찮은 일입니다.
여기서는 휴대폰 사용자가 티켓을 예약할 수 있는 간단한 WAP 애플리케이션을 보여드리겠습니다. 이 서비스는 확실한 감동을 선사합니다. 사용자는 이러한 성가신 코드를 기억할 필요가 없고 메뉴에서 직접 영화와 극장을 선택할 수 있으며 사용자는 인증할 필요가 없습니다. 이 예에서 사용자는 영화 시작 40분 전에 비용을 지불하라는 요청을 받았지만 실제로는
이용자는 휴대폰을 통해서도 확인이 가능합니다.
이 애플리케이션은 한 영화가 동시에 여러 영화관에서 상영될 수 있고, 영화관이 서로 다른 시간에 서로 다른 영화를 상영할 수 있다고 상상합니다.
여기서는 오류 처리에 대해 별로 생각하지 않습니다. 왜냐하면 오류 처리는 이 장의 초점이 아니기 때문입니다. 원하는 경우 직접 추가할 수 있습니다.
단순화를 위해 데이터베이스로 Access 97을 사용했습니다. 물론 실제 시스템에서는 이를 사용하지 않습니다. SQL Server와 같은 다른 데이터베이스에서는 많은 코드를 변경할 필요가 없습니다.
데이터베이스 다이어그램
데이터베이스 다이어그램
.Movie 및 Theater 테이블은 분명히 필요합니다. Show 테이블은 현재 판매 가능한 빈 좌석 수를 추적하는 데 사용됩니다.
이 프로그램을 디버깅하는 방법
이 WAP 서비스에 액세스하려면 WAP 에뮬레이터가 필요합니다. 이 프로그램은 주로 Nokia Toolkit 1.2에서 디버깅됩니다. 자세한 내용은 이전 장을 참조하세요.
영화 선택
목록에서 영화를 선택하세요:
코드는 다음과 같습니다.
<!--#include file="conn.asp" --><%
'올바른 MIME 유형을 보냅니다
Response.ContentType = "텍스트/vnd.wap.wml"
먼저 wml을 선언해야 합니다. 에뮬레이터가 올바른 위치에 XML을 선언하지 않으면 WML을 허용하지 않습니다. Nokia 7110에서는 이를 무시할 수 있지만 다른 휴대폰에서도 작동한다는 보장은 없으므로 이렇게 해야 합니다. . MIME 유형도 설정해야 합니다.
<?xml 버전="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
다음 카드로 진행하기 전에 새로운 형식인 WBMP의 이미지를 보여주는 깜박이는 화면이 나타납니다. 이 이벤트는 타이머 속성에 의해 결정됩니다. 여기서는 ontimer 이벤트가 트리거된 후 다른 카드로 이동합니다(wmbp의 포토샵 플러그인은 인터넷에서 무료로 다운로드할 수 있습니다).
<card id="splash" ontimer="#card1" title="환영합니다">
<타이머 값="50"/>
<p 정렬="중앙">
<br />
<img src="pix/logo.wbmp" alt="WAP 영화"/>
</p>
</카드>
<card id="card1" title="영화 선택">
<%
sqlQuery = "SELECT [영화_ID], [제목] FROM 영화"
rsMovies = conn.Execute(SQLquery) 설정
:
%>
<p>
<이름 선택='영화'>
<%
rsMovies.eof가 아닌 동안 수행
response.write("<option value='" & rsMovies("Movie_ID") & "'>" & rsMovies("title") & "</option>" & vbcrlf)
rsMovies.MoveNext
루프 %>
</select>
이 부분이 이 글의 핵심이다. 데이터베이스에서 필요한 데이터를 읽고 표시합니다. ASP 프로그래머로서 이에 대해 특별한 것은 없지만 이제 이 간단한 프로그램이 새로운 서버에서 사용된다는 점은 다릅니다. 이는 또한 WML 기반 상용 웹사이트의 네트워크 프로그래밍에 있어 ASP가 Java 서블릿보다 낫다는 생각을 갖게 합니다.
<소형>
<anchor title="다음!">다음
<go href="step2.asp" 메소드="get">
<postfield name="movie" value="$(movie)" />
</go>
</앵커>
</small>
</p>
소프트 스위치 기능(실행 및 앵커)을 통해 양식 제출을 수행할 수도 있습니다. 여기에서는 직관적이고 사용자 친화적인 느낌을 주기 때문에 간단한 인라인 링크를 사용했습니다. Postfield는 HTML의 Hidden과 거의 같은 크기이지만, wml 변수는 html처럼 javascript로 전송할 필요가 없습니다. 이전 섹션에서 설명한 대로 wml에서 직접 작성할 수 있습니다. WAP 사양에서도 get, post 메소드를 지원하고 에뮬레이터에서도 이를 인식할 수 있지만 아쉽게도 Nokia 7110에서는 이 포스트가 지원되지 않으므로 선택의 여지가 없습니다.