Технология ASP в WAP (3)
Автор:Eve Cole
Время обновления:2009-05-30 19:54:45
В предыдущем разделе я объяснил самые основные концепции WAP и WML. В этом разделе мы рассмотрим, как комбинируются ASP и WAP.
Раздел 4. Еще один способ забронировать билеты в кино
Сейчас в Осло кинотеатры предоставляют систему продажи билетов по телефону. Эта система очень сложна, и пользователям необходимо давать некоторые инструкции, которые помогут им купить билеты.
А еще пользователь должен найти в газете код определенного фильма. Это очень раздражает. Давайте представим еще один метод.
Здесь я покажу вам простое WAP-приложение, которое позволяет пользователям мобильных телефонов бронировать билеты: услуга, которая обязательно впечатлит. Пользователям не нужно запоминать эти надоедливые коды, они могут выбирать фильмы и кинотеатры прямо из меню, и пользователям не требуется проходить аутентификацию. В этом примере пользователя просят заплатить за 40 минут до начала фильма, но в реальной жизни
Пользователи также могут осуществлять оплату через мобильный телефон.
Это приложение предполагает, что фильм можно показывать в нескольких кинотеатрах одновременно и что кинотеатр может показывать разные фильмы в разное время.
Я не особо задумываюсь об обработке ошибок, поскольку это не является целью данной главы, вы можете добавить ее самостоятельно, если хотите.
Для простоты я использовал Access 97 в качестве базы данных. Конечно, реальная система не будет использовать ее. Другие базы данных, такие как SQL Server, не требуют большого изменения кода.
Схема базы данных
Схема базы данных
Таблицы .Movie и Theater, очевидно, обязательны. Таблица «Показать» используется для отслеживания количества свободных мест, доступных в настоящее время для продажи.
Как отладить эту программу
Для доступа к этой услуге WAP вам понадобится эмулятор WAP. Эта программа в основном отлажена на Nokia Toolkit 1.2. Подробности см. в предыдущей главе.
Выбрать фильм
Выберите фильм из списка:
Вот код:
<!--#include file="conn.asp" --><%
'отправляем правильный MIME-тип
Response.ContentType = "text/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. Это событие определяется атрибутом timer. Здесь мы устанавливаем время 5 секунд. После срабатывания события ontimer вы перейдете на другую карту (плагин для фотошопа wmbp можно бесплатно скачать из Интернета).
<card id="splash" ontimer="#card1" title="Добро пожаловать">
<значение таймера="50"/>
<p выравнивание="центр">
<br />
<img src="pix/logo.wbmp" alt="WAP-фильмы"/>
</p>
</карта>
<card id="card1" title="выберите фильм">
<%
sqlQuery = "ВЫБРАТЬ [Movie_ID], [название] ИЗ фильма"
установите rsMovies = conn.Execute(SQLquery)
:
%>
<р>
<select name='фильм'>
<%
Делайте пока не rsMovies.eof
response.write("<option value='" & rsMovies("Movie_ID") & "'>" & rsMovies("title") & "</option>" & vbcrlf)
rsMovies.MoveNext
цикл %>
</выбрать>
Этой части посвящена данная статья. Считайте необходимые данные из базы данных и отобразите их. Для ASP-программиста в этом нет ничего особенного, но теперь все по-другому, когда эта простая программа используется на совершенно новом сервере. Это также заставляет меня думать, что ASP лучше, чем сервлет Java, в сетевом программировании коммерческих веб-сайтов на основе WML.
<маленький>
<anchor title="следующий!">Далее
<go href="step2.asp" метод="get">
<postfield name="movie" value="$(movie)" />
</go>
</якорь>
</маленький>
</p>
Отправку форм также можно выполнить с помощью функций мягкого переключения (сделать и привязать). Здесь я сделал это с помощью простых встроенных ссылок, потому что считаю, что это делает его интуитивно понятным и удобным для пользователя. Почтовые поля имеют примерно такой же размер, как и скрытые в HTML, но переменные wml не нужно передавать в javascript, как в html. Их можно записать непосредственно в wml, как описано в предыдущем разделе. Методы get и post также поддерживаются в спецификации WAP, и эмулятор тоже может их распознать, но, к сожалению, в Nokia 7110 этот пост не поддерживается, поэтому выбора у вас нет.