当前位置:编程学习 > wap >>

WAP中的ASP技术之五

答案:第四节:另一种预订你电影票的方法

  在上一节中,我讲解了最基本的WAP和WML的概念,这一节我们就来看看ASP和WAP是如何结合的.

  现在在奥斯陆,电影院提供了一种基于电话系统的来销售门票,这个系统是很复杂的,还必须给用户一些说明才能指导用户买票,而且用户还必须在报纸上找到某种电影的代码,这个很烦,我们来介绍另一种方法。

  这里这将给你展示一个简单的让手机用户订票的WAP应用:一个肯定让人叫好的服务。用户不必记住那些烦人的代码,他们能够直接从菜单中选取电影和电影院,并且用户也不需要认证。在这个例子中用户被要求在电影开始前40分钟交费,但是在真正的生活中,用户同样可以通过手机来结帐.

  此应用程序想像的条件是一个电影能够在同一时间在多个电影院上映,一个电影院不同的时间上演不同的电影。

  这里我没有过多的考虑错误处理的问题,因为这不是本章节的重点,你喜欢你可以自己加上.

  为了简单,我使用了Access 97来做为数据库,当然真正的系统不会用它了,其它的数据库如SQL Server,也不必改动多少代码.

数据库图表



数据库图表

.Movie 和Theater表是显然需要的。Show表用于追踪现在还有多少空位可以出售。

怎样调试这个程序

  为了访问这个WAP服务,你需要一个WAP仿真器,这个程序主要是在Nokia Toolkit 1.2上调试,详细情况请查看上一章节。

选择电影

在list表中选择一个电影:

这里是代码:

< !--#include file="conn.asp" -- >< % 'send the right MIME type

Response.ContentType = "text/vnd.wap.wml"

  第一件事就是声明wml,仿真器如何不在正确的地方声明XML,它是不会接受WML的尽管Nokia 7110可以忽略这一点,但是不能保证其它的手机也行,所以你不得不做这事。同样你也得设置好MIME类型。

< ?xml version="1.0"? >

< !DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml" >

< wml >

  在进入下一个card以前会有一个闪烁的屏幕来显示一个图片WBMP一种新的格式。这个事件是由timer属性决定的,这里我们设置的时间为5秒.ontimer事件引发后将带你去另一个card.(wmbp的photoshop插件可以从网上免费下载).

< card id="splash" ontimer="#card1" title="Welcome to" > < timer value="50"/ >

< p align="center" >

< br / >

< img src="pix/logo.wbmp" alt="WAP movies"/ >

< /p >

< /card >

< card id="card1" title="choose a film" >

< %

sqlQuery = "SELECT [Movie_ID], [title] FROM Movie"

set rsMovies = conn.Execute(SQLquery)

:

% >

< p >

< select name='movie' >

< %

Do while not rsMovies.eof

response.write("< option value='" & rsMovies("Movie_ID") & "' >" & rsMovies("title") & "< /option >" & vbcrlf)

rsMovies.MoveNext

loop % >

< /select >

这一部分是本文的焦点。从数据库中读出需要的数据显示出来,作为一个asp程序员,这个没有什么特别的,但是就是这个简单的程序现在被用于一种全新的服务器就显得不一样了。这也使得我更加认为在基于WML的商业站的网络编程asp更胜于Java servlet.

< small > < anchor title="next!" >Next

< go href=>
< postfield name="movie" value="$(movie)" / >

< /go >

< /anchor >

< /small >

< /p >


  表单的提交也可以通过软开关函数(do 和 anchor)来完成。在这里,我是通过简单的内嵌链接来完成的,因为我觉得这样能够使用户感觉直观和友好。Postfields大至和HTML中的hidden差不多,但是wml的变量不像html中的那样需要在javascript中传送,它可以直接写在wml中,这一点上一节已经讲解了.在这里的传递的方法是get,post方法在WAP的规范也是被支持的,仿真器也能识别它,但是很不幸,在Nokia 7110中,这个post不被支持,所以你没得选择.

上一个:WAP技术与网站建立
下一个:WAP中的ASP技术之六

更多图片编程知识:
更多wap疑问解答:
新人求助QPainter
为什么程序都退出了还可以收到推送?如果大多设备都可以推送那运营商怎么办?
qt 4.7 sqlserver2000 存储过程调用
关于ANDROID4.0.1编译问题!
Android FrameBuffer读屏幕30秒后mmap失败
联通粗定位用java程序如何来请求和接受数据
为什么QT运行Android平台的程序时,mouseMoveEvent事件响应的间隔时间很长??????????
android与PC蓝牙通讯
指定大小的label 内容可变,如果内容超出label的宽度,将未能显示的部分显示在另一个label上
Android调试
android如何通过wifi连接无线打印机
运行程序,release目录下产生一个乱码文件夹
分享个某机构最新安卓资料,自己验证了
service启动不起来,掉不了service connection
求助:QT5.0 没有QPrinter吗
asp
php
Delphi
Matlab
JSP
Foxpro
JS
C/C++
C#/ASP.NET
VC++
JAVA
VB
汇编语言
html/css
CGI
XML/UML
wap
网站相关
网页素材
python
微信小程序
thinkphp
如果你遇到编程学习难题:
访问www.zzzyk.com 试试
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,