1、本科毕业论文(科研训练、毕业设计)题 目:手机船期查询系统姓 名:学 院:软件学院系:专 业:软件工程年 级: 学 号:指导教师(校内): 职称:副教授指导教师(校外): 职称:年 月 日手机船期查询系统1手机船期查询系统摘要 WAP 的制定,将互联网引进了一个无线新时代,同时也把移动电话的功能扩至多元化,两者的强劲联合为互联网用户带来了前所未有的方便。基于这样的考虑,对于船务公司来说,客人最常询问也是最关心的问题之一就是船只的离港到港时间即船期,为了方便客人随时随地查询到公司的船期,同时在一定程度上使员工从数量不菲的船期查询电话中摆脱出来提高工作效率,建立支持 WAP 协议的船期查询网站的需
2、求就应运而生了。主要运用WML 语言,ASP 技术及与 ACCESS 数据库连接开发此网站,这样客人就可以方便的通过手机直接查询船期而无需为电话占线而烦恼了。关键字 WAP(无线应用协议) WML(无线标记语言) Nokia 5100 仿真器 NMITooklit 4.0 手机船期查询系统2Abstract: The WAP protocol leads the Internet into a new era. With the combination between the WAP and Internet, the customers get big convenience from it
3、. Because of this, for a vessel company, the most usual question the customers ask is the vessel schedule, when the vessel leaves from FUZHOU and when the vessel arrives the appointed port. That wastes a lot of time for our customers and agents to ask and answer such questions. So building a WAP web
4、site for customers to get the vessel schedule is necessary. We mainly use the WML language, ASP and the connection of the database to develop the website. Then the customers and agents can save a lot of time and spirit. Keyword: WAP(Wireless Application Protocol) WML(Wireless Markup Language) Nokia
5、5100 Simulator NMITooklit 4.1(Nokia Mobile Internet Tooklit 4.0) 手机船期查询系统3目 录摘 要 1引 言 4第一章:WAP 服务简介1.1 什么是 WAP41.2 WAP 的应用及发展现状 71.3 WAP 安全性 71.4 WAP 的特征和局限性 8第二章:开发环境和工具2.1 WAP 开发工具 92.2 系统环境设置10第三章:开发语言3. 1 WML 语言 133. 2 ASP 技术 14第四章:开发流程及程序设计4.1 程序需求分析及概要设计164.2 系统流程结构164.3 数据库结构174.4 组成文件18第五章:关
6、键技术及难点实现5.1 ASP 与 ACCESS 数据库连接 205.2 ASP 动态生成 WML 页面 23结束语 25致 谢 25参考文献 25手机船期查询系统4引 言当今全球移动电话用户正以高倍速成长,手机已经成为数字时代必备的移动通讯工具。而通过 WAP 协议,可以使手机变得更“聪明”,不再只是单纯的语音传输功能,进而能够进行资料的取得和交换,而这也使得上网不再只是“点对点”的数据传输,而是随时随地都可以取得想要的信息。在软件的开发过程中,我逐步加深了对 WAP 的认识,更加感觉到它的巨大开发应用的潜力。由于时间的仓促,以及我对公司业务还缺乏全面的认识,所以仅开发了船期查询系统,程序中
7、还有一些需要改进的地方,希望各位能不吝指正!谢谢!第一章:WAP 简介1.1 什么是 WAP1.1.1wap 的基本概念WAP 是 Motoroal、Nokia、Ericsson 和美国软件公司 P 最早倡导和开发的无线应用协议Wireless Application Protocol(简称 WAP),它是使移动通讯设备可靠地接入互联网的国际认可标准,是一种定义在窄带宽上传输数据的通讯协议。WAP 的制定,将互联网引进了一个无线新时代。WAP 协议就像在移动电话中加入一个微浏览器,这样仅需占用移动电话有限的资源,就使得 WAP 能够用于客户机和早期定义的智能电话上,通过这个简单的微浏览器,实现
8、手机上的增值业务。作为 WAP 论坛的代表 P 指出:WAP 协议的背后的哲学是尽量少使用手持设备上的资源。用户可以使用内置的微浏览器向互联网请求信息或服务,请求被送到 WAP 网关,并且从互联网服务器上检索信息。若该信息是 WML 格式,那么可以直接送回 WAP 网关,如果是以 HTML 语言描述的,WAP 服务器上的过滤器会将其翻译为相应的 WML 语言,并送回 WAP 网关,WAP 网关再将结果传回客户端。WAP 本身集成了数据手机船期查询系统5压缩过程,以便最大限度利用当前 GSM 网缓慢的数据传输速率。同时 WAP 还采用了错误校正技术,确保网络浏览和数据传输过程不会因无线电通讯线路
9、质量的变化而受到严重的影响。总之,技术上而言,WAP 标准定义了一种应用环境,让设计人员能够开发独立于设备的用户界面,然后使用称为“WML”和“WMLScript” 的 WAP 编程语言把可执行的逻辑嵌入到他们的应用产品中。1.1.2 wap 的结构WAP 的架构与 WWW 非常类似,只是在使用者端延伸到了移动电话,同时在移动电话与 WAP 内容服务器之间还要通过 WAP 网关的协助,将原始的 WAP 内容转换成二进制的数据之后,传递到移动电话上面,如下图所示:WAP 装置Micro-Browser(微浏览器)通过 gateway 向SERVER 请求资料Gateway 返回编译后的文件WAP
10、 网关WMLComplier(WML编译器)向 SERVER请求数据SERVER 返回数据WAP 服务器服务器端程序(ASP)数据库程序WEB SERVER(服务器)WAP HTTP图一:WAP 结构图WAP 的传输过程就如上图所示,将原来 WWW 的使用者端做一个扩充,将之分为两部分,使用者最终使用的装置,也就是浏览器从电脑移到了手机或 PDA 上的微浏览器,这些装置我们统称为 WAP 装置。从 WAP 装置连线到 WAP Gateway 的部分才是整个 WAP 连线构架中的重点,所有的 WAP 协议几乎都是在处理此部分的连线,因此所有由 WAP 装置的无线通讯部分连接到实体互联网的过程也都
11、掌握在这个环节中。接下来,我们从技术面上大致浏览一下 WAP 整个协议中在无线通讯部分的定义,包含了在 WAP 无线通讯层、安全通讯部分,应用程序层等部分大致上的定义。在 WAP 协议的构架中一共定义了 5 个 Layers,由上而下分别是: WAE、WSP、WTP、WTLS、WDP 等手机船期查询系统6五个阶层。其功能分别为: WAE:应用层(Application Layer),提供应用程序写作之用。 WSP:任务层(Session Layer),提供传输中每次特殊的通信应用协议维持之用。 WTP:通讯层(Transaction Layer),提供通讯协议中的传输功能。 WTLS:传输安全
12、层(Security Layer),提供在传输中保护数据安全的功能。 WDP:传输层(Transport Layer),提供各种不同的无线通讯装置得以连接到 WAP网络中的功能。1.1.3 制作 wap 网站条件如果我们要制作 WAP 网站,可以用 Windows NT(IIS)、Windows 2000 或Linux(Spache)作为操作系统,只需要有支持 WAP 的组件,而以网页来看 WAP 程序语言可分为 3 个部分: Wireless Markup Language(WML) WMLScript Wireless Telephony Application(WTA)其实 WML 和
13、HTML 很相似,WMLScript 与 Javascript 也很相似,WTA 与如何使用电话服务有关。手机上网不同于使用个人计算机的操作方式,以 WAP 上网必须使用Menu(菜单)的方式来选择。虽然目前在 WAP 上网有许多的限制,但是它一样可以与GIS 或者 ASP 结合使用。相信未来两三年内,手机的无限传输将会有重大的改革,例如以GPRS 的技术传输或 3G 的通信时代,到时候 WAP 就会如同用 HTML 一样便利。1.1.4wap 与 web 的比较到底 Web 和 WAP 之间有什么差异呢?可以区分吗?其实二者之间主要存在这些不同:(1)在 Web 中浏览中文字体没有问题,但是
14、要在 WAP 手机中浏览中文字体可能有限制。因为 WAP 规定所有的手机仅支持 Unicode,所有支持 WAP 规格的网关也仅支持Unicode。若以中文 GB2312 码将中文字符串传到手机上的结果会是乱码。因此用手机浏览中文字体必须要先经过 Unicode 的转换,才可以浏览。(2)接收的语言格式不同:Web 为 HTML 而 WAP 为 WML,同时客户端使用的浏览方式也不一样,Web 使用个人计算机的浏览器而 WAP 是使用手机。(3)手机屏幕有单色的限制,另外手机屏幕大小,分辨率不如计算机。因此在使用WML 来制作 WAP 网页必须考虑到屏幕大小。手机船期查询系统7(4)WAP 站
15、点的服务器端响应到用户时必须由 text/html 改变为 text/vnd.wap.wml,这方式称为 MIME 类型。1.2 WAP 的应用及发展现状根据有关资料分析,以 WAP 应用为代表的无线互联网应用的服务热点将是企业网的无线应用、与位置相关的服务和移动电子商务。1.企业网的无线应用由于企业的工作人员在任何时间和任何地点都有可能工作,接入企业网的 Microsoft Exchange 或 Lotus Notes 的需求变得非常重要。企业网的无线解决方案使得移动用户可以在任何地点使用手持装置从邮件服务器获得信息。2.与位置相关的服务与位置相关的服务包括三大类:个人服务、与汽车相关的服务
16、及商务服务,其中个人服务包括:个人所处位置的确定,多用户游戏,本地信息,重要的健康监视等等;同步与汽车相关的服务包括:交通信息,紧急呼救,锁车,被盗警告等等;商务服务包括:自动缴费/购物,财产跟踪等等。3. 移动电子商务( MEC)这项业务是最被大家看好的 WAP 服务。要在 WAP 手机成功应用 E-Commerce(即MEC),则需要采用简单的命令方式。据 Forrester 预计 2004 年美国在线 B2C 交易将达到1840 亿美元。MEC 面临的最大挑战就是如何安全有效的保护消费者的个人财务数据。1.3 WAP 安全性关于 WAP 的传输安全保护系统中,有三个主要的部分,分别为 W
17、AP 手机使用端,WAP Gateway 及 WAP Web Serser,这些装置间各有不同的安全防护,以保障个人通讯的隐密性、资料完整性及确实性。如下图所示,在 WAP Web Server 及 WAP Gateway 之间,是以 SSL 作为资料传输的安全防护,在 WAP 手机使用端及 WAP Gateway 之间则使用 WTLS 及 SSL 的安全防护措施,WAP Gateway 在经由无线传输传送资料到 WAP 手机的过程中间,是用 WAP 的WTLS 安全协议传送资料,WAP 手机传送信息到 WAP Web Serser 时,资料必须通过WAP Gateway 将 WTLS 协议的
18、资料转换为 SSL 安全模式格式再传送至 WAP Web Serser之中。手机船期查询系统8WAP 手机 手机无线信号传输 WAP 网关 互联网 WAP 网站服务器WTLS 协议 SSL 协议图二:WAP 传输安全保护系统在无线通讯传输上,因为传输带宽很小的关系,所以在 WAP 的资料传输安全性上头必须考虑到这个限制。在手机现有的硬件构架之下,无法拥有如同电脑般的具有快速的处理器及大的内存空间,所以 WAP 论坛发展了 WTLS 协议,WTLS 协议包含了安全性的机制,并且有着许多其他的优点,如大幅度降低在资料传输上的处理时间,以及比 SSL 协议更好的压缩率。所以 WTLS 协议很适合应用
19、在低宽带的无限网络通讯传输上。至于在 WTLS 及SSL 两个协议之间的资料转换,主要在 WAP Gateway 中进行,转换时间只需要短短时间内便可以完成,所以在整体的 WAP 通讯安全性的架构下,是可以达到快速并且安全正确的资料传输。在 WAP Gateway 的装置中,需要注意一些事项,以确保资料的安全性及稳定性。首先必须要确定上一笔资料的解密相关信息,在下一笔资料进入之前,就必须先行消失。为了彻底保护 WAP Gateway 的安全,必须限制通过网络进行 WAP Gateway 的远端控制。在 WTLS 及 WAP 安全保护的机制下,可以使得 WAP 线上使用客户及厂商的资料受到完整的
20、保护,完整的保护整个交易的安全性及机密性。1.4 WAP 的特征和局限性1.4.1 移动终端显示界面与内存WAP 是为了定义通过移动终端访问互联网中的海量信息,这样移动终端就可运行一种微型浏览器。它非常像 PC 的浏览器。但这种用户界面的局限性在于:移动电话的显示屏较小。因为移动的手持设备内存有限,因此在使用时需要下载 WAP 应用程序,用完后或暂时不用时再把程序清除。1.4.2 提供 WAP 服务的网站有专家说,要让手机识别网站,首先网站上需要有用 WAP 脚本语言编写的网页。这是实现手机上网冲浪的关键。WAP 的一个重要特性是可以在不同的无线电网络体系结构上运手机船期查询系统9行应用产品,
21、如 GSM、CDMA 和 DECT。这是因为 WAP 有效地包容了大量不同的软件协议,允许应用产品能独立于传输格式而运行。1.4.3 通信带宽传输速率一直是困扰网上通信的问题,无论是有线还是无线互连网,同样需要解决如何提供数据上传下载的速率。带宽问题,对于 GSM,目前的短消息服务的数据传输速率局限在 9.6kbit/s。尽管 WAP 在设计时就考虑如何最大限度利用无线电通信线路(通过数据压缩),但是最终都将会不可避免地采用理论上数据传输速率达 115 kbit/s 的 GPRS(通用分组无线服务)等更高带宽的无线系统。当然,最终提供像网络浏览和视频传输等 WAP 服务的移动通信系统预计将是第
22、三代的UMTS,它将使无线电数据传输速率达 384kbit/s2Mbit/s。1.4.4 协作WAP 要实现的话,需要来自各方面的共同协作,如手持设备制造商、经营移动电话业务的公司、ISP 、应用软件开发商以及主干电话网络的经营者。第二章: 开发环境和工具2.1 WAP 开发工具开发 WAP 应用需要使用相应的开发工具,建立相应的开发环境。 WAP 应用中的 WML以及 WMLScript 语言编写的程序可以通过各种文字编辑软件进行编辑。因此测试这些程序的工具,也就是 WAP 手机仿真环境将是开发 WAP 应用的重要部分。所谓的手机仿真开发环境,也就是在普通的 PC 机器上面使用各种模拟器来模
23、拟手机的真实环境,从而方便WAP 网站的开发。目前较为流行的 WAP 开发工具主要包括 PHONE.COM 提供的UP.SDK,Nokia 提供的 Toolkit 和 Ericsson 提供的 WAPIDE 等。Nokia 的 WAP 开发工具,可以从该公司的网址 http:/ 中下载。在该开发工具中提供的 WAP 手机仿真环境中,用户可以通过地址栏来装载本地开发的 WML 文件,或者直接浏览互联网上的 WAP 网站。手机船期查询系统10Erisson 公司推出的一个 WAP 开发包 WAP IDE,它和 Nokia 的开发包类似。Erisson公司的这个工具也是一个集成开发环境,使用比较方便
24、。可以从 Erisson 的 WAP 开发者专栏地址 http:/ 中下载。相对于 Nokia 公司的 WAP 开发工具而言,Erisson 公司的这个开发工具比较简陋,它的开发文档很少。P 公司的 UP.SDK 产品可以从该公司的网址 http:/ 没有集成的 IDE 开发环境,只提供了 WAP 手机仿真环境。2.2 系统环境设置21 1 设置 WAP 的运行环境:操作系统为 windows 2000 professional (sp3),装有 IIs5.0。IIs5.0 用来支持 asp 技术。首先设置 MIME 类型:(1)打开“开始- 设置-控制面板 -管理工具-internet 服务
25、管理器“(2)选择主机后,按鼠标右键开启“快捷菜单”,再选择 “属性”。(3)按下“编辑(D)“ 按钮,进入文件类型设置对话框。如下图。图三:文件类型设置对话框(4)按“新类型” 增加新的文件类型。手机船期查询系统11图四:增加新文件类型对话框(5)按下面的表格输入文件类型的相关数据。表一:扩展名和 MIME 类型对应表相关的扩展名 内容类型(MIME).wml Text/vnd.wap.wml.wmlc Application/vnd.wap.wmlc.wmls Text/vnd.wap.wmlscript.wmlsc Application/vnd.wap.wmlscriptc.wbmp
26、Image/vnd.wap.wbmp文件类型说明:.wml: WML 文件。.wmlc: 编译之后的 WML 文件。.wmls: WMLScript 文件。.wmlsc:编译之后的 WMLScript 文件。.wbmp:WML 所使用的黑白图像文件格式。分别将这些 MIME 类型的相关数据建立起来,完成之后重新启动 IIS,IIS 就可以提供WAP 服务,你可以通过 WAP 手机或者使用 Tooklit 的模拟手机来读取 WML 网页。21 2 建立虚拟目录在 IIS 中预设的 Web 目录的实际路径是 C:intepubwwwroot,我们可以直接将 wml 文件放在此目录下,但为了更好的开
27、发,我们新建了一个名为 vessel schedule 的目录来存放wml 文件:(1)打开“开始- 设置-控制面板 -管理工具-internet 服务管理器“(2)双击主机后,选择默认 Web 站点,按鼠标右键,再选择“新建/虚拟目录” 。(3)为这个虚拟目录取个别名 sui,这里所说的别名是指 web server 对外的正式名称,例手机船期查询系统12如实际目录为 c:vessel schedule,别名为“sui”,则使用者须输入 http:/主机地址或名称/sui,才能正确链接至 c:vessel schedule 中的文件。(4)选取“读取” 与“运行”脚本,单击下一步。完成设置后
28、,将编写完毕的 wml 文件及 asp 程序复制到此指定目录。21 3 Nokia WAP Server 设置安装 Nokia Mobile Internet Toolklit 4.1,它是属于 WAP Gateway 的软件。由于 tooklit 是由 java 开发的,安装之前,需要先安装 java runtime environment,即 java 运行环境。我下载了 Nokia5100 仿真器,安装后可以选择此仿真器来浏览 WML 网页。Tooklit 运行界面如图:(其中右边是 5100 仿真器)图五:Tooklit 运行界面和 Nokia5100 仿真器在导航栏里填入地址,就能在
29、 Nokia 5100 里面浏览。手机船期查询系统13第三章: 开发语言3. 1 WML 语言3.3.1WML 概述WML(Wireless Markup Language)类似于 HTML 语法,是 WAP 的一部分。它是由XML 扩展而来的,用来设置手机屏幕上的文本或图形。WML 的设计任务很少,无线装置有四种特性: 小型的显示屏幕、低分辨率。例如:手机只能显示几行字,每行只有 8-12 个字符。 输入的图案大小有限或者格式有限 计算资源常被低功率 CPU、微小的内存和电源所限制 窄带网络连接WML 特性集合 4 个主要范围: WML 提供文本和图象支持、多样化格式和编排命令。 WML 的
30、 deck 由 Card 组成。WML 类似于一个由 URL 标识的 HTML 页面,是内容传输的单位。 WML 支持 card 和 deck 之间的导航管理,也支持事件处理。WML 还提供锚点链接,类似于 HTML4。 所有的 WML 的 deck 使用状态模型,可实现参数化。变量能在字符串的位置上使用并在运行时被替代。参数化方式有利于提高网络资源的使用效率。3.3.2 一个典型的 WML 文件下面通过一个典型的 WML 文件来了解一下 WML 文件的一般格式。指令行结束手机船期查询系统14外部文件格式定义,引用 http:/www.wapforum.org/DTD/wml13.xmlWML
31、 deck 的文件头(以/wml 结束)WML card 的文件头(以/card 结束)定义了一个动作,用来描述用户按下功能键后,用户界面应该做的事情。Type 属性相同于(ACCPET )键,label 是一个标签名称表示了特殊键要做什么动作,href 属性URI 的目的相同This is Second Card 显示于手机屏幕3. 2 ASP 技术.wml 文件和 .htm 一样,都属于静态页面文件,要想真正建立引人入胜的 WAP 站点,不仅要依靠 WML 本身在布局上的设计,还要配合各种运行在服务器端的程序,比如ASP, PHP, JSP,CGI,ISAPI 等来实现丰富多彩的动态 WA
32、P 网站,为了达到这个目的我在此次编程中使用的是 ASP 语言。ASP(Active Server Page)是一种服务器端脚本编程环境,利用它开发者不需要复杂的编程就可以把超文本、任何脚本和 ActiveX 组件结合在一起,从而生成动态的交互的 Web 页和基于 Web 的功能强大的应用程序。 ASP 文件的扩展名为.手机船期查询系统15asp,一个 ASP 文件通常由 ASP 脚本命令和 HTML 标记、文本组成。下面简单介绍 ASP 的知识:3.2.1ASP 的工作原理:Microsoft 将 IIS(或 PWS)和 ASP 结合在一起,就能够使静态内容变为动态内容。IIS(或 PWS-
33、Personal Web Server)的主要功能是支持静态 HTML 主页。当用户向一个使用 IIS(或 PWS)的服务器提出请求后,服务器将会从自己的硬盘或者内存中提出一个静态主页发送到用户的浏览器上。而利用 ASP,在 IIS(或 PWS)仍然支持静态 HTML 主页的前提下,可以根据用户要求在 Web Server 上建立新的主页,其工作过程如下:1)用户在浏览器的网址栏中键入 ASP 文件名称,并回车触发这个 ASP 的申请;2)浏览器将这个 ASP 的要求发送给 IIS 或 PWS;3)Web Server 接收这个申请要求并由于其.asp 后缀意识到这是个 ASP 要求;4)We
34、b Server 从硬盘或者内存中接收正确的 ASP 文件;5)Web Server 将这个文件发送到一个叫做 ASP.DLL 特定文件中;6)ASP 文件将会从头至尾被执行并根据命令要求生成相应的静态主页;7)HTML 主页将被送回浏览器;8)HTML 主页将会被用户浏览器解释执行并显示在用户浏览器上。一个 ASP 并不一定每一次都重新编译解释,如果再次接受以前的那个请求而且没有任何变化,ASP 会从缓存中提出结果而不是再次运行。对于 Web Server 来说,ASP 与HTML 有着本质的区别,HTML 是不经任何处理送回给浏览器,而 ASP 的每一个命令都首先被用来生成 HTML 文件
35、,因此,ASP 允许生成动态内容。3.2.2ASP 内建对象Active Server Pages 提供内建对象,这些对象使用户更容易收集通过浏览器请求发送的信息、响应浏览器以及存储用户信息(如用户首选项)。这里简要说明一下每一个对象。 Application 对象可以使用 Application 对象使给定应用程序的所有用户共享信息。 Request 对象可以使用 Request 对象访问任何用 HTTP 请求传递的信息,包括从 HTML 表格用 POST 方法或 GET 方法传递的参数、cookie 和用户认证。 Request 对象使您能 够访问发送给服务器的二进制数据,如上载的文件。
36、Response 对象手机船期查询系统16可以使用 Response 对象控制发送给用户的信息。包括直接发送信息给浏览器、 重定向浏览器到另一个 URL 或设置 cookie 的值。 Server 对象Server 对象提供对服务器上的方法和属性进行的访问。最常用的方法是创建 Ac tiveX 组件的实例 (Server.CreateObject)。其他方法用于将 URL 或 HTML 编码 成字符串,将虚拟路径映射到物理路径以及设置脚本的超时期限。 Session 对象可以使用 Session 对象存储特定的用户会话所需的信息。当用户在应用程序的页 之间跳转时,存储在 Session 对象中
37、的变量不会清除;而用户在应用程序中访问 页时,这些变量始终存在。也可以使用 Session 方法显式地结束一个会话和设置 空闲会话的超时期限。 ObjectContext 对象可以使用 ObjectContext 对象提交或撤消由 ASP 脚本初始化的事务。第四章:开发流程及程序设计4.1 程序功能描述此次软件开发的目标,从一般的意义上来说,就是要建立一个手机和网站交互的平台。使用户可以通过手机向支持移动 web 业务的网站查询相关的信息,当用户发送请求时,网站就会从用户端收到这一响应,并且作为服务器端的网站就可以由此响应用户的要求,以实现交互的目的。具体的讲,手机查询船期程序系统,就是为了使
38、得客人在随时随地都可以通过手机得到公司最新的也是客人自己所需要的船期信息。举个具体的例子,如果客人想知道在 04 年 5月 24 日从福州出发的船在什么时间由什么船运载可以到达德国汉堡这个港口,客人只需要输入船离开福州的时间,以及想要到达的港口,那么他就能得到这艘船到达汉堡的欲估时间,并且可以得知是哪艘船来运这批货。4.2 系统流程结构手机船期查询系统17显示出错信息 显示出错信息否进入查询系统输入船离开福州港的时间和要查询到港日期的港口名称是否有此日离开的船是是否有靠这个港口否是返回到达目的港的日期返回运送货物的船只名字图六:系统流程结构图4.3 数据库结构数据库名称为 test表二:数据库
39、结构表列名 数据类型serviceCode 数字EtdTimeFromFoo 数字port 文本ves 文本transferPort 文本transferTime 日期/时间motherVesselVoyage 文本motherVesselName 文本etaPort 日期/时间其中:手机船期查询系统18serviceCode:公司统一给各个航线的编码etdTimeFromFoo:船离开福州的时间port:想要到达的港口ves:离开福州的一程船名transferPort:中转港transferTime:一程船离开高雄或者香港的时间motherVesselVoyage:二程船的航次motherV
40、esselName:二程船名etaPort:到达查询港口的时间4.4 组成文件本程序主要包括以下 4 个文件: firstCard.wml,search.asp,admin.asp,maintain.asp1. firstCard.wml进入系统页面,要求用户输入包含船只离开福州的时间和想要查询的到达港口的英文全称,然后将这些信息提交到 search.asp 页面,下图为 Nokia5100 仿真器运行显示界面。图七:用户输入查询时间界面2. search.asp接受用户输入的这些信息,如果该时间没有船离开福州,则返回提示信息,如果没有要到达的港口,同样返回提示信息,并返回 firstCard
41、.wml 页面。如果查询成功,则返回该船手机船期查询系统19到达所查港口的时间,船名和航次。下图为显示返回查询结果的仿真运行界面。图八:返回查询结果运行界面3. admin.asp为 wap 网站的系统管理员登陆页面,验证登陆系统的人是否有权限对系统数据进行查看和改动,如果登陆成功则进入 maintain.asp 页面,否则返回出错信息4. maintain.asp为系统管理员对系统数据的维护页面,在该页面管理员可以看到所有的船期信息,可以添加新的纪录(insert.asp),并对某一条船期信息进行修改(update.asp) 或者删除(delete.asp)图九:系统数据维护界面手机船期查询
42、系统20第五章: 关键技术难点及实现5.1 ASP 与 ACCESS 数据库连接(1)Asp 连接数据库主要有两种方式,一种是使用 ODBC注册数据源,另外一种是直接与数据库进行连接。在我这部份程序中,我主要采用的是ODBC 注册这一种方式。要与ODBC兼容的数据库进行连接,必须建立一个 Data Source Name (DSN) 用以定位和标识特定的ODBC兼容数据库,通过ODBC我们可以选择希望创建的DSN的类型:用户、系统或文件。系统DSN允许所有的用户登录到特定的服务器上去访问数据库,而用户DSN 使用适当的安全身份证明限制数据库到特定用户的连接。文件DSN 用于从文本文件中获取表格
43、,提供了对多用户的访问,并且通过复制DSN文件,可以轻易地从一个服务器转移到另一个服务器。通过Windows开始菜单-控制面板-管理工具-数据源 (ODBC)- 系统DNS-添加-Microsoft Access Driver-填入数据源名及数据库的路径即可。在本程序中,我使用了test作为数据源的名字。(2)ASP对数据库的操作主要有连接,添加,删除,查询,修改这几种数据库的连接: 添加数据: 删除数据: 数据查询: 数据显示: (3)本次程序系统中search.asp的数据库连接程序代码如下:手机船期查询系统23“)Response.End end if%如果数据库里面还没有有关船只的信息
44、,手机页面会显示Sorry, no vessel,如果有,则继续。5.2 ASP 动态生成 WML 页面如果手机通过 WAP 向 IIS 索求的是.wml 文件,则 IIS 会直接将文件的内容下载给手机。如果手机通过 WAP 向 IIS 索求的是.asp 文件,则 IIS 会先解析文件。在 IIS 解析.asp 文件过程中,遇到 WML 的标记或者文字时,会直接把读取的内容下载给手机,但遇到%的标示之间的文字,则把其中的内容视为程序。此时每个 ASP 文件都要首先声明内容为WML 格式,若无声明,则手机浏览该网页会出现以下错误信息:MIME TYPE “TEXT/HTML” is not su
45、pported。声明代码为Response.ContentType=”text/vnd.wap.wml”,这个代码必须放在文件前面。ASP产生WML文件有以下两种方式:(1)可以把ASP部分用包含起来,通知server这是asp 程序,server只会执行之间的代码,不包含在 之间的代码不会被 ASP执行,例如以下源程序片段:“)Response.End end if%“其中outs为变量名称, 表示显示outs的结果。不包含在之间的被解释成WML 代码。(2)可以通过ASP的Response.write指令将WML文件输出到手机。例如以下源代码片段:“next%在字符串中要在输出双引号”,须
46、连续打两个双引号 ”,超过一行的输出,用&_来连接下一行。在代码实现中,这两种方法都有用到。手机船期查询系统25结束语:经过几个月的毕业设计,我学到了很多知识,对 WAP 协议,ASP 以及 WML 语言都有深刻认识,并且能熟练使用这些工具或语言进行 WAP 网站开发;体会到手机应用的方便快捷性。但是由于时间及设施的限制,不可能做出绝对完美的项目,很多方面还期待完善与改进。数据库数据还期待完善。服务端程序可以做得更好。不过我相信只要能在往后的学习和工作中继续努力,一定可以开发出更好的项目。致谢:老师在我毕业设计过程为我提供了很多宝贵的指导性意见。还有很多同学也为我解决了一些难题。在此一并感谢。参考文献:1 探硅工作室 . 精通 WAP 网页技M. 北京:中国青年出版社,2001.2 李翼 张子仁 征服 WAP 无线网页制作实务M. 北京:中国青年出版社,2001. 3 千展研发中心 WAP 无线世界WML 玩家通M. 北京:清华大学出版社,2002.4 孔小斌 章萍 孔小凯WAP 应用开发指南M. 北京:人民邮电出版社,2001.5 赵晓枫 王志嘉 郑光耀 精通 WAP/WMLM. 北京:科学出版社,2001.6 孙丽君 吴红普 ASP 编程基础及应用实例集锦 M. 北京:人民邮电出版社,2001.