WAP中的ASP技术之五
发布时间:2006-04-10 12:45:13 来源:天极网 网友评论 0 条 第四节:另一种预订你电影票的方法
在上一节中,我讲解了最基本的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=/"step2.asp/" method=/"get/" >
< 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和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=/"step2.asp/" method=/"get/" >
< postfield name=/"movie/" value=/"$(movie)/" / >
< /go >
< /anchor >
< /small >
< /p >
表单的提交也可以通过软开关函数(do 和 anchor)来完成。在这里,我是通过简单的内嵌链接来完成的,因为我觉得这样能够使用户感觉直观和友好。Postfields大至和HTML中的hidden差不多,但是wml的变量不像html中的那样需要在javascript中传送,它可以直接写在wml中,这一点上一节已经讲解了.在这里的传递的方法是get,post方法在WAP的规范也是被支持的,仿真器也能识别它,但是很不幸,在Nokia 7110中,这个post不被支持,所以你没得选择.
- 推荐阅讯
- 网页技巧:如何在网页上实现音乐播放?
- 略施小计 让EmEditor拥有两大实用功能
- 网页的版式设计—文字的格式化
- WEB2.0 喧闹过后迎来发展
- WML教程:文本框控件(Input)
- 符合Web标准的超链接
- 网页制作:从切图到生成网页
- 网站设计的思考之如何配置网页色彩
- 从GMail认识的W3C网页标准和Ajax
- 一个非常漂亮的脚本日历
- 阅读排行
- 1.淘宝网店“设计装修”技巧全攻略
- 2.javascript函数库
- 3.我的地盘听我的 六大主流博客网站对比评测
- 4.WAP建站入门教程
- 5.网页木马深度剖析以及手工清除
- 6.WAP建站语言WML语法全接触
- 7.好事喜事送上祝福 电子请柬随网拈来
- 8.如何保存网页中的Flash文件?
- 9.WAP建站WML语言语法基础
- 10.介绍几款WAP网页制作工具(提供下载)
- 专题教程
- Windows Server-Windows Server文档-Windows Server新闻-Windows Ser PostgreSQL-PostgreSQL文档-PostgreSQL新闻-PostgreSQL专家
- WebLogic-WebLogic文档-WebLogic新闻-WebLogic专家 FreeBSD-FreeBSD文档-FreeBSD新闻-FreeBSD专家
- Linux-内核 GUI KDE Gnome DNS FTP 安全 安装-Linux专区 Windows-AD IIS ServerCore 虚拟化 安全 HPC-Windows专区
- 大话G游 专题:手机病毒揭密
- ARP攻击防范与解决方案 路由故障处理手册
