公交路线查询系统 —— 基于PDA仿真器的实现-毕业论文_第1页
公交路线查询系统 —— 基于PDA仿真器的实现-毕业论文_第2页
公交路线查询系统 —— 基于PDA仿真器的实现-毕业论文_第3页
公交路线查询系统 —— 基于PDA仿真器的实现-毕业论文_第4页
公交路线查询系统 —— 基于PDA仿真器的实现-毕业论文_第5页
免费预览已结束,剩余26页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

本科毕业论文本科毕业论文 (科研训练、毕业设计) 题题 目:公交路线查询系统目:公交路线查询系统 基于基于 PDA 仿真器的实现仿真器的实现 姓 名: 学 院:软件学院 系: 专 业:软件工程 年 级: 学 号: 指导教师(校内): 职称: 指导教师(校外): 职称: 年 月 日 公交路线查询系统基于 PDA 仿真器的实现 第 1 页 共 29 页 目录目录 【摘要摘要】 .2 第一章第一章引言引言.4 第二章第二章WAP 动态网站的工作原理动态网站的工作原理5 2.12.1 WAPWAP 无线应用协议简介无线应用协议简介.5 2.22.2 WMLWML 无线标记语言无线标记语言.7 2.32.3 W WEBEB服务器(服务器(T TOMCATOMCAT)及其基本设置)及其基本设置7 2.42.4 J JAVAAVA S SERVLETERVLET9 第三章第三章公交路线查询系统总体框架公交路线查询系统总体框架.11 3.13.1 公交路线查询系统的功能描述公交路线查询系统的功能描述11 3.23.2 公交路线查询系统总体框架公交路线查询系统总体框架11 第四章第四章基于基于 PDA 仿真器查询的总体设计仿真器查询的总体设计 12 4.14.1 PDAPDA 仿真器仿真器.12 4.24.2 功能描述功能描述13 4.34.3 设计原则设计原则13 4.44.4 模块划分模块划分13 4.54.5 总体流程图总体流程图14 第五章第五章详细设计及其实现详细设计及其实现.17 5.15.1 数据库的连接数据库的连接17 5.25.2 静态输出静态输出 WMLWML 页面页面18 5.2.1 主页的显示界面主页的显示界面.18 5.2.2 数据的输入界面数据的输入界面.19 5.35.3 J JAVAAVA S SERVLETERVLET动态输出动态输出 WMLWML 页面页面.21 5.3.1 路线查询路线查询.21 5.3.2 站点查询站点查询.24 5.3.3 起点终点查询起点终点查询.25 5.45.4 中文显示问题中文显示问题26 第六章第六章结论结论.28 【致谢语致谢语】 .29 【参考文献参考文献】 .29 公交路线查询系统基于 PDA 仿真器的实现 第 2 页 共 29 页 公交路线查询系统公交路线查询系统 基于基于 PDA 仿真器的实现仿真器的实现 【摘要摘要】 本文介绍了 WAP 动态网站的工作原理和基本配置。它包含了 WAP(无线应 用协议)和 WML(无线标记语言)的基本介绍;并介绍用 TomcatJava Servlet 架设动态网站的基本配置。 另外,还详细介绍了基于 PDA 仿真器用 WAP 访问公交路线查询系统的网站 设计。用户可以通过 PDA 内置的 WAP 浏览器访问此系统。该系统主要提供了厦 门市公交路线查询服务。此服务包括路线查询(查询某路线车经过的所有站点) 、 站点查询(查询经过某个站点的所有路线)和起点终点查询(根据给定的起点 站点和终点站点,给出乘车方案。能够直接到达的就给出乘车路线。不能直接 到达的,就给出转一次车情况下的乘车方案。在转一次车的情况下还不能到达 的话,给出提示信息) 。 【关键字关键字】 WAP(无线应用协议) WML(无线标记语言) PDA(个人数字助理) Servlet PalmOS(一种掌上电脑操作系统) 公交路线查询系统基于 PDA 仿真器的实现 第 3 页 共 29 页 The Bus Route Inquiry System Realization on the basis of PDA emulation device 【Abstract】 This text has introduced the basic principle of WAP dynamic websites and disposes basically. It includes the basic introductions of WAP (Wireless Application Protocol) and WML (Wireless Markup Language); And recommend the basic dispositions of dynamic websites with Tomcat +Java Servlet. In addition, detailed introduction website design, which we can visit the bus route inquiry system the public transit route and inquire about systematic with WAP on the basis of PDA emulation device. Users can visit this system through PDA built-in WAP browser. This system has offered the bus route inquiry service of a city of Xiamen mainly. This service includes the route inquiry (inquire about all stations that some route car passes), the station inquiry and the starting point terminal point inquiry (according to give starting point station and terminal point station definitely, provide the scheme by bus. The ones that can be reached directly provide the riding route. Cant arrive directly, provide and transfer to the scheme of going by bus under the situations of train one. The words that cant be reached yet in case of transfering , provide the enlightening information). 【Keywords】 WAP(Wireless Application Protocol) WML(Wireless Markup Language) PDA(Personal Digital Assistant) Servlet PalmOS(a kind of palmtop computer Operating System) 公交路线查询系统基于 PDA 仿真器的实现 第 4 页 共 29 页 第一章第一章引言引言 Internet 给人们提供了大量的信息和快捷的服务。它改变了人们理解和使用 计算机功能的方式,导致了通信和业务处理方式的革命。WAP(Wireless Application Protocol, 无线应用协议)则是将 Internet 与无线移动设备相连接的 新技术,标志着无线商务新时代的开端,是进行通信和无线事务的方法,是对 我们生活和工作的重大改变。 1997 年中期,世界几个主要的移动设备制造商 Motorola、Nokia Ericsson 和美国一家软件公司 Phone. com 作为最初的发起者成立了 WAP 论坛,开始进 行 WAP 协议的开发。1997 年 7 月,WAP 论坛出版了第一个 WAP 标准架构。 次年 5 月,WAPl.0 版正式推出。WAP1.1 版也在 1999 年 5 月正式发行。2001 年 8 月 WAP2.0 正式发布。 WAP 填补了 Internet 与无线世界的空白,提供了向各种用户提供各种增值 服务的潜力,而不管他们使用什么网络和什么设备。Internet 和移动设备,这两 个近十年来发展最快的技术的整合,使 Internet 上的信息可以转变成能够在移 动电话和 PDA(移动个人数字助理)等移动设备的小屏幕中显示的形式。基于 WAP 提供了一套开放、统一的技术平台,用户使用移动设备可以很容易地访问 的获取 Internet 网以及各种服务。 将 Internet 上的大量有用的数据及移动设备的携带方便和即时通信性结合 起来,这是 WAP 真正的优点。而公交路线查询系统基于 PDA 仿真器的实 现正是充分考虑到 WAP 的这个优点,使得用户可以随时随地的查询公交坐车 路线。 公交路线查询系统作为一种便民服务,提供了中英文的查询。用户可以通 过电脑、WAP 手机和 PDA 进行访问。使得用户可以随时随地的查询坐车路线。 用户不仅可以用站点进行查询,还可以用地点进行查询。该系统还可以提供在 转一次车的情况下,提供具体的乘车方案。该系统不仅方便了当地用户更方便 了外地用户。另外系统管理员还可以通过电脑进行数据的更新、修改、删除。 公交路线查询系统基于 PDA 仿真器的实现 第 5 页 共 29 页 作为旅游城市的厦门适合采用该系统,而且还可以推广到全国各大城市。 我们还可以在这个系统的基础上提供更多的便民服务,如天气查询,火车飞机 班次价格查询、购物等等。所以这个公交路线查询系统具有很大的现实意义。 第二章第二章WAP 动态网站的工作原理动态网站的工作原理 2.12.1 WAPWAP 无线应用协议简介无线应用协议简介 2.1.1 什么是什么是 WAP WA P(Wireless Application Protocol,无线应用协议)是 WA P 论坛经过 不断努力得到的成果,它提供了一个业界技术规范,以便开发出适用于各种无 线通信网络的应用程序和业务。WAP 是一系列技术规则的集合,这些技术规则 控制计算机应用程序在 WAP 设备传送和接收数据。WAP 设备可以是移动电话、 传呼机、PDA(个人数字助理) ,甚至可以是具有 WAP 功能的家用冰箱。 2.1.2 WAP 的网络结构的网络结构 首先 Internet 万维网(WWW)的体系结构向我们展示了一种非常灵活且功 能强大的 WWW 网络结构(如图 2-1) 。 图 2-1 WWW 网络结构 WAP 网络结构(如图 2-2)与 WWW 网络结构类似,由 WAP 浏览器、 WAP 网关和 Web 服务器 3 部分组成。 公交路线查询系统基于 PDA 仿真器的实现 第 6 页 共 29 页 图 2-2 WAP 网络结构 WAP 浏览器是具有 WAP 浏览功能的终端,包括 WAP 手机、PDA 等。 WAP 网关起着协议的“翻译”作用,是联系 WAP 浏览器与 Internet 网的 桥梁。 Web 服务器储存着大量的信息,以方便 WAP 用户来访问、查询、浏览等。 2.1.3 WAP 的体系结构的体系结构 WA P 体系结构为移动通信设备提供了一个层次化的、可扩展的应用开发 环境。这是通过整个协议栈的分层设计实现的(如图 2-3) 。 图 2-3 WA P 体系结构 WA P 体系结构分为 5 层: 1.应用层:WAE(Wireless Application Environment,无线应用环境) WAE 是一种集成了 WWW 和移动通讯设备技术的通用的技术环境。 它包括一个微型浏览器,能够浏览的内容有 WML、WMLScript 等。 2.会话层:WSP(Wireless Session Protocol,无线会话协议) WSP 在 WAP 中为会话业务提供一个一致的接口。 公交路线查询系统基于 PDA 仿真器的实现 第 7 页 共 29 页 3.事务处理层:WTP(Wireless Transaction Protocol,无线事务协议) WTP 是运行在数据报业务上,提供了可应用于移动终端上的面向事务 的协议。 4.安全层:WTLS(Wireless Transport Layer Security,无线传输层安全) WTLS 是一种基于工业标准的传输安全协议。它是专门为 WAP 传输 设计的,特别适合于窄带的通信信道。 5.传输层:WDP(Wireless Datagram Protocol,无线数据报协议) 在 WAP 结构中,WDP 可以看成是传输层协议。 2.22.2 WMLWML 无线标记语言无线标记语言 WML(Wireless Markup Language, 无线标记语言)是一种类似于 HTML 语言的符号语言,是专门为那些输入或输出受到限制的移动设备而设计的。 WML 是基于 XML 的标记语言,用来定义窄带设备中用到的内容和用户接口。 WML 使用一种称为 card/deck 的方式,这里 card 是用户接口的一个单元, 而 deck 是一系列相关的 card。像 HTML 语言一样,一个 card 包含一些可见的 内容和用户的选择项、数据输入项或浏览其他 card 的链接。在某个 card 中,某 些指令可以从内容服务器中激活新的或动态的 deck。 WML 必须具备如下能力: 支持文本和图像 支持用户输入 导航机制 支持多语言 状态和环境管理能力 2.32.3 WebWeb 服务器(服务器(TomcatTomcat)及其基本设置)及其基本设置 2.3.1 Web 服务器(服务器(Tomcat) Web 服务器有很多种,包括 Microsoft 的 IIS、Apache 的 Tomcat、Sun 的 公交路线查询系统基于 PDA 仿真器的实现 第 8 页 共 29 页 Java Web Server 和 JSWDK 等。我用 TomcatJava Servlet 开发公交查询系统。 Tomcat 是 Servlet 和 JSP 规范的官方标准实现方案,可以用作小型独立服务器。 Tomcat 本身是免费的。 2.3.2 Tomcat 的基本设置的基本设置 假定 install_dir 是 tomcat 的主安装目录。 虚拟目录设置 首先在 install_dir/conf/server.xml 文件中添加: 其中 F:/WAPSite/PDASite 为你的工作目录。此时我们可以用: http:/localhost:8080/PDASite 访问我们的工作目录里的内容。 支持的 MIME 类型设置 在 Web 服务器上发布自己创建的 WAP 应用服务之前,首先要配置 Web 服务器,使它支持下面的 MIME 的类型(表 2-3) 。 内容类型内容类型MIME 类型类型扩展名扩展名 WML 源文件text/vnd.wap.wmlwml 无线位图image/vnd.wap.wbmpwbmp 编译后 WML 代码application/vnd.wap.wmlcwmlc WMLScript 源文件text/vnd.wap.wmlscriptwmls 编译后的 WMLScript 代码applcation/vnd.wap.wmlsriptcwmlsc 表 2-3 MIME 类型 在 install_dir/conf/web.xml 添加: wbmp image/vnd.wap.wbmp wml text/vnd.wap.wml 公交路线查询系统基于 PDA 仿真器的实现 第 9 页 共 29 页 wmlc application/vnd.wap.wmlc wmls text/vnd.wap.wmlscript wmlscriptc application/vnd.wap.wmlscriptc 2.42.4 JavaJava ServletServlet 2.4.1 什么是什么是 Java Servlet Servlet 是 Common Gateway Interface(通用网关接口,CGI)编程在 Java 技术上的体现。它们是运行在 Web 服务器上的程序。与传统的 CGI 和很多其 他类似 CGI 的技术相比,Java Servlet 更加有效、更容易使用、功能更强大、移 植性更强、更安全,而且也更便宜。 2.4.2 Java Servlet 的生命周期的生命周期 Java Servlet 类必须扩展 HttpServlet 类,它的生命周期: 创建 Servlet 时将会调用 init 方法,所以该方法适合存放一次性设置的代码。 之后每个用户请求将生成一个线程,用来调用以前创建的时的实例的 service 方 法。然后 service 方法就会调用 doGet、doPost 或其他 doXxx 方法。最后,当服 务器决定卸载 Servlet 时,首先将调用 Servlet 的 destroy 方法。 2.4.3 Java Servlet 的设置的设置 公交路线查询系统基于 PDA 仿真器的实现 第 10 页 共 29 页 首先在工作目录(见2.3.2)F:/WAPSite/PDASite 下在创建目录/WEB- INF/classes。在目录 F:/WAPSite/PDASite/WEB-INF/classe 下存放编译后的 Servlet 文件。 然后在目录 F:/WAPSite/PDASite/WEB-INF 下创建一个 web.xml 文件。假 定 LineQuery.class 在 lineQuery 包中,且某一 wml 文件要用链接 LineQuery(即 href”LineQuery”)转向 LineQuery.class。则此时 web.xml 文件内容为: LineQuery servlet 名称 lineQuery.LineQuery servlet 类 LineQuery servlet 名称要名称一致 /LineQuery 虚拟的 url 说明: 1、小体字为说明部分,不是 web.xml 的内容。 2、标签必须在标签之前。 3、两个(即 servlet 名称)必须一致 4、标签为 wml 文件中所链接的(href)的内容。 5、标签为该 servlet 类的引用。 公交路线查询系统基于 PDA 仿真器的实现 第 11 页 共 29 页 第三章第三章公交路线查询系统总体框架公交路线查询系统总体框架 3.13.1 公交路线查询系统的功能描述公交路线查询系统的功能描述 公交车路线查询系统分为前台应用和基于 web 的后台数据管理和维护两大 部分。前台应用分为 3 个部分,即:基于移动电话的应用、基于个人 PDA 的应 用,基于个人 PC 上的 web 浏览器应用。前台应用提供的功能大致分为:按车 次查询、按站点/地点查询、按起点终点查询。后台管理与维护包括对站点、地 点与线路的数据操作。 3.23.2 公交路线查询系统总体框架公交路线查询系统总体框架 公交路线查询系统总体框架(如图 3-1): 公交路线查询系统基于 PDA 仿真器的实现 第 12 页 共 29 页 SQL Server 2000 PC 查询 Web 服务器 JSP Java Servlet PDA 查询 手机查询 PC 管理 图 3-1 系统总体框架 我们对整个公交路线查询系统分成了五个部分,分别由我们小组的五个成 员各自负责。而我主要负责基于 PDA 查询部分。 第四章第四章基于基于 PDA 仿真器查询的总体设计仿真器查询的总体设计 4.14.1 PDAPDA 仿真器仿真器 目前使用于 PDA 上的 OS 主要有 Palm 的 PalmOS 和 Microsoft 的 PocketPC。我使用的是基于 PalmOS3.5 的 Palm PDA 仿真器(如图 4-1 左) 。另 外我还使用了由 Mobile Media Mode 开发的 M3Gate(如图 4-1 右) 。这个 M3Gate 是一个 WAP 浏览器,它模拟 PDA 进行浏览 WAP 网站。 公交路线查询系统基于 PDA 仿真器的实现 第 13 页 共 29 页 图 4-1 PDA 仿真器 PalmOS3.5 仿真器 使用 Palm 仿真器时,它必须是中文系统或着支持中文显示。另外 还要安装 WAP 浏览器。我装的是 Wapman 浏览器,它需要设置网关才 能访问 WAP 网站。我在这使用了 Nokia 的 WAP 网关。 M3Gate 使用 MeGate 时,要设置它的编码为 GB2312,使它能够支持中文 显示。另外它不用设置 WAP 网关就可以直接访问 WAP 网站。 4.24.2 功能描述功能描述 基于 PDA 仿真器实现公交车查询的主要功能如下: 实现中英文查询。 能够查询某路线车经过的所有站点。 能够查询经过某个站点的所有路线。 能够根据给定的起点站点和终点站点,给出乘车方案。能够直接到达 的就给出乘车路线。不能直接到达的,就给出转一次车情况下的乘车 方案。在转一次车的情况下还不能到达的话,给出提示信息。 支持地点查询。根据地点找出附近的站点,然后根据附近的站点来查 公交路线查询系统基于 PDA 仿真器的实现 第 14 页 共 29 页 询。 支持模糊查询。能够查询类似的站点名或地点名。 4.34.3 设计原则设计原则 无线设备受到显示器和键板尺寸的限制,因此在要设计的时候应该考虑一 些限制。所以在进行设计前我们要遵循如下几个原则: WML 卡片组和图形应保持在 1.5KB 以内。 文本应简明扼要,应尽量预先编码选项,减少用户输入数据的工作。 URL 应简单和易于记忆。 减少菜单级,防止用户搞乱和系统减慢。 用和之类的标准布局标志,逻辑构造信息。 不要使用太多的图形,许多目标设备不支持图形。 4.44.4 模块划分模块划分 根据4.2 功能描述,我们把系统分成中英文两大模块。对每个模块在进行 细分三个模块:路线查询、站点查询、起点终点查询。 模块划分的具体情况见 图 4-2。 图 4-2 模块划分 4.54.5 总体流程图总体流程图 根据4.4 的模块划分我们进一步的给出系统的流程图(如图 4-3) 。 公交路线查询系统基于 PDA 仿真器的实现 第 15 页 共 29 页 LineQuery index.wml index_CN.wmlindex_EN.wml SiteQueryFirstSiteQuery SiteToLocation ShowBusNO FirstSiteToLocation InputSecondSite SecondSiteQuery SecondSiteToLocation SitesQuery 图 4-3 系统流程图 流程图说明: 以.wml 和.java 文件作为基础。其中黑体的为 Java Servlet 文件。 英文的处理流程和中文的一样,暂时没有给出,只是 Servlet 名称再加 上 EN 作后缀。 index.wml 站点主页,可供选择中文和英文主页。 index_CN.wml 中文主页,提供查询数据的输入 index_EN.wml 英文首页,提供查询数据的输入 LineQuery.java 路线查询,根据输入的路线号码查询。 LineQueryEN.java 路线查询(英文) ,根据输入的路线号码查询。 SiteQuery.java 模糊站点查询,根据输入的站点名,输出所有类似的 站点名或地点名 公交路线查询系统基于 PDA 仿真器的实现 第 16 页 共 29 页 SiteQueryEN.java 模糊站点查询(英文) ,根据输入的站点名,输出所 有类似的站点名或地点名 SiteToLocation.java 站点查询,查询地点名附近的站点名 SiteToLocationEN.java 站点查询,查询地点名附近的站点名(英文) ShowBusNO.java 站点查询,根据站点名给出所有经过该站点的所有 路线。 ShowBusNOEN.java 站点查询(英文) ,根据站点名给出所有经过该 站点的所有路线。 FirstSiteQuery.java 起点站点名模糊查询,根据输入的站点名,输出所 有类似的站点名或地点名 FirstSiteQueryEN.java 起点站点名模糊查询(英文) ,根据输入的站点 名,输出所有类似的站点名或地点名 FirstSiteToLocation.java 查询地点名(起点)附近的站点名 FirstSiteToLocationEN.java 查询地点名(起点)附近的站点名(英文) InputSecondSite.java 输入终点站点名 InputSecondSiteEN.java 输入终点站点名(英文) SecondSiteQuery.java 终点站点名模糊查询,根据输入的站点名,输 出所有类似的站点名或地点名 SecondSiteQueryEN.java 终点站点名模糊查询(英文) ,根据输入的站 点名,输出所有类似的站点名或地点名 SecondSiteToLocation.java 查询地点名(终点)附近的站点名 SecondSiteToLocationEN.java 查询地点名(终点)附近的站点名(英文) SitesQuery.java 起点终点查询结果 SitesQueryEN.java 起点终点查询结果(英文) 公交路线查询系统基于 PDA 仿真器的实现 第 17 页 共 29 页 第五章第五章详细设计及其实现详细设计及其实现 5.15.1 数据库的连接数据库的连接 我们采用了 SQL Server 2000 作为公交路线查询系统的后台数据库,并使用 JDBC API 对数据库进行操作。打开对数据库的连接是一个耗费时间的过程,所 以我们采用了连接池的类:预先分配数据库连接并在客户连接时反复应用它们。 这部分的工作主要由唐榕剑同学来完成。对于本系统我只需应用 Service.java 类 和 Service_en.java 类。其中 Service.java 类和 Service_en.java 类的功能是类似的, Service.java 类用于中文查询,Service_en.java 类用于英文查询。 公交路线查询系统基于 PDA 仿真器的实现 第 18 页 共 29 页 用到的方法如下:(以 Service.java 类为例) public ResultSet Bus_Station(String bus_num) 提供查询车次所经过的所有站点 public ResultSet Station(String station) 提供模糊站点查询 public ResultSet Location(String location) 提供地点模糊查询 public ResultSet getBus(String station) 提供经过某一站点所有车次的查询 public ResultSet Single_Bus(String from,String to) 提供不转车查询 public ResultSet Double_Bus(String from,String to) 提供转车查询 public ResultSet getStationName(int station_id) 根据 station_id(站点 ID)来获取 station_name(站点名) public ResultSet getLocationName(int location_id) 根据 location_id(地点 ID)来获取 location_name(地点名) public ResultSet getStation(int station_x,int station_y) 根据站点坐标值(station_x,station_y)得到 station_name(站点名) public int distance(String bus_num,String from,String to) 提供相隔站点数查询 public void closeConnection() 使用完连接后,将连接返回给连接池 5.25.2 静态输出静态输出 WMLWML 页面页面 5.2.1 主页的显示界面主页的显示界面 由于 PDA 的显示屏相对于其它移动设备要来得大,处理能力也比较强;所 以我们在主页上增加了部分图片,增加了页面的美观。具体的 WAP 程序 公交路线查询系统基于 PDA 仿真器的实现 第 19 页 共 29 页 (index.wml)如下: 称为“XML 引导” 。 定义 WML 卡片组,包含所有信息与卡 片 card 是 WAP 程序的核心。它包含了格式化信息,显示的内容和处理指令,是一个结合体。 指定新段、对齐方式和换行属性。 图形文件的引用。 English 链接到英文首页。 中文 链接到中文首页。 用小号字绘制文本格式。 CopyRight:Software School of Xiamen University 2004 版权所有: 厦门大学软件学院 2004 说明: 1、小号字为说明部分,不是 WAP 程序的内容。 2、图形文件采用 WBMP(Wireless BitMap,无线位图) ,WBMP 是 WAP 公交路线查询系统基于 PDA 仿真器的实现 第 20 页 共 29 页 图形格式,是绝大多数移动设备支持的。 在仿真器上的显示(如图 5-1): 图 5-1 主页的显示界面 5.2.2 数据的输入界面数据的输入界面 在进行路线查询、站点查询和起点终点查询时,必须由用户进行数据的输 入。这样服务器根据输入的数据查询结果,给出相应的信息。以下我们给出中 文的路线查询的 WAP 程序: 请输入路线号码:(如:82) 输入对特定变量“BusNO”的指定文本 “确定”按钮,提交输入的变量“BusNO”值 公交路线查询系统基于 PDA 仿真器的实现 第 21 页 共 29 页 转向特定的链接,由 Servlet 程序处理 “返回”按钮 转向特定卡片”Index_CN”(卡片 ID)的链接 说明: 1、小号字为说明部分,不是 WAP 程序的内容。 2、只给出卡片“Line”的部分程序,即 index_CN.wml#Line 部分。 3、对于中英文的路线查询、站点查询和起点终点查询的输入,和此 WAP 程序类似,在此没有具体给出。 此 WAP 程序在仿真器上的显示情况(如图 5-2): 图 5-2 路线查询输入界面 公交路线查询系统基于 PDA 仿真器的实现 第 22 页 共 29 页 5.35.3 JavaJava ServletServlet 动态输出动态输出 WMLWML 页面页面 5.3.1 路线查询路线查询 路线查询:根据输入的“BusNO“路线号码查询。如果存在该路线号码,则 输出该路线号码经过的所有站点。否则给出提示信息,说明此路线号码不存在。 以下我们给出 LineQuery.java 的源代码进行说明: package lineQuery; import java.io.*; import java.sql.*; import javax.servlet.*; import javax.servlet.http.*; import manageDeck.*; /管理 WAP 程序的”Deck” import transFormat.*; /编码转换,引用 TransFormat.java.它实现 UnicodeGBK,和 GBK- Unicode import database.util.*; /连接池,主要引用 Service.java public class LineQuery extends HttpServlet /扩展 HttpServlet 类 /*Java Servlet 服务方法。实现路线号码查询。 public void service( HttpServletRequest request, HttpServletResponse response ) throws ServletException, IOException PrintWriter output = response.getWriter(); Deck deck = new Deck(); TransFormat trans = new TransFormat(); Service service = new Service(); String busNO=( String )request.getParameter( “BusNO“ ); /获取“BusNO“参数 response.setContentType( “text/vnd.wap.wml“ ); deck.startDeck( output ); /开始 WML 文档开头标记 output.println(“ ); deck.homePageCN( output ); /“中文首页“标记 公交路线查询系统基于 PDA 仿真器的实现 第 23 页 共 29 页 output.println( “ ); output.println( trans.unicodeToGB( “你查询的路线号码是:“ ) + busNO + “); ResultSet resultSet=service.Bus_Station(busNO); /查询“BusNO“经过的所有站点 try if( resultSet != null ) /用表格列出经过的所有站点 output.println( trans.unicodeToGB( “详细的站点如下:“ ) ); output.println( “ ); output.println( “+trans.unicodeToGB(“站点号码“) +“+trans.unicodeToGB(“站点名称“)+“); while( resultSet.next() ) output.println( “ + trans.unicodeToGB( resultSet.getString(1) ) + “ + trans.unicodeToGB( resultSet.getString(2) )+ “ ); output.println( “ ); else /提示信息 output.println( trans.unicodeToGB(“没有该路线号码!“) ); output.println( trans.unicodeToGB(“请确认后,重新输入!“) ); catch( SQLException sqlException ) finally service.closeConnection(); /关闭“service“服务 output.println( “ ); deck.prevCN( output ); /“返回“标记 output.println( “ ); deck.endDeck( output ); /WML 文档结束标记 公交路线查询系统基于 PDA 仿真器的实现 第 24 页 共 29 页 以下我们查询 82 路路线为例,则它的显示结果如下(如图 5-3): 图 5-3 82 路路线查询结果 对于英文的路线查询的实现同中文的类似。 5.3.2 站点查询站点查询 中文站点查询主要经过三个流程处理:SiteQuery.java、SiteToLocation.java 和 ShowBusNO.java。 SiteQuery.java 模糊站点查询。根据输入的站点名(“Site“),输出所有类似的站点名或 地点名(不是公交车站点) 。如果不存在给出提示信息。然后再根据用户的 选择决定进入哪个流程。如果用户选择了某一个站点名,则进入 ShowBunNO.java 显示所有经过该站点的所有路线。如果用户选择了某一个 地点名,则进入 SiteToLocation.java 显示地点名附近的站点名。实现的方 法类似于路线查询,连接池调用的方法不同,处理的方式也不太相同。 SiteToLocation.java 查询地点名附近的站点名。根据坐标值搜索附近的站点。在一定的范 公交路线查询系统基于 PDA 仿真器的实现 第 25 页 共 29 页 围内,若找到则输出附近的站点;否则给出提示信息。 搜索的主要算法如下: String locationID=“,“,“,“,“,“,“,“,“; /存储站点名 ID String locationName=“,“,“,“,“,“,“,“,“; /存储站点名 int mark = 0; while( mark GBK, 和 GBK Unicode。 import java.io.*; public class TransFormat /GBK Unicode 编码转换。 public String unicodeToGB( String in ) String out = null; if( in = null | (in.trim().equals(“) ) return in; 公交路线查询系统基于 PDA 仿真器的实现 第 28 页 共 29 页 try byte b = in.getBytes( “GBK“ ); out = new String( b, “ISO8859_1“ ); catch( Unsup

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论