基于JSP的公交线路查询系统的设计与实现毕业设计论文.doc_第1页
基于JSP的公交线路查询系统的设计与实现毕业设计论文.doc_第2页
基于JSP的公交线路查询系统的设计与实现毕业设计论文.doc_第3页
基于JSP的公交线路查询系统的设计与实现毕业设计论文.doc_第4页
基于JSP的公交线路查询系统的设计与实现毕业设计论文.doc_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

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

文档简介

分类号:分类号:tp315tp315 u u d d c c:d10621-408-(2012)xxxx-0d10621-408-(2012)xxxx-0 密密 级:公级:公 开开 编编 号:号:zzzzzzzzzzzzzzzzzz 成成 都都 信信 息息 工工 程程 学学 院院 学学 位位 论论 文文 基于基于 jspjsp 的公交线路查询系统的设计与实现的公交线路查询系统的设计与实现 论文作者姓名:论文作者姓名: 申请学位专业:申请学位专业:计算机科学与技术计算机科学与技术 申请学位类别:申请学位类别:工学学士工学学士 指指导导教教师师姓姓名名(职职称称) : 论文提交日期:论文提交日期: 毕业设计(论文)原创性声明和使用授权说明毕业设计(论文)原创性声明和使用授权说明 原创性声明原创性声明 本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师 的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以 标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究 成果,也不包含我为获得 及其它教育机构的学位或学历而 使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均 已在文中作了明确的说明并表示了谢意。 作 者 签 名: 日 期: 指导教师签名: 日 期: 使用授权说明使用授权说明 本人完全了解 大学关于收集、保存、使用毕业设计(论文) 的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本; 学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与 阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论 文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。 作者签名: 日 期: 学位学位论论文原文原创创性声明性声明 本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研 究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文 不包含任何其他个人或集体已经发表或撰写的成果作品。对本文的研 究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完 全意识到本声明的法律后果由本人承担。 作者签名: 日期: 年 月 日 学位学位论论文版文版权权使用授使用授权书权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定, 同意学校保留并向国家有关部门或机构送交论文的复印件和电子版, 允许论文被查阅和借阅。本人授权 大学可以将本学位 论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩 印或扫描等复制手段保存和汇编本学位论文。 涉密论文按学校规定处理。 作者签名:日期: 年 月 日 导师签名: 日期: 年 月 日 基于基于 jsp 的公交线路查询系统的设计与实现的公交线路查询系统的设计与实现 摘摘 要要 公交查询系统是城市道路交通的重要组成部分,是城市发展的必然产物。 城市公交查询系统的发展处于一个较落后的水平,人们可以获得信息的方式较 少,为了解决这种问题,需要大力发展我国公交线路查询系统。 本文首先对公交查询系统的需求进行分析,包括功能需求和非功能需求; 接着介绍了系统总体设计思路、方案选择和数据库设计;随后详细阐述了系统 主要功能模块的实现过程;最后给出系统的测试方案。本公交查询系统主要具 有公交查询、用户留言、用户管理和车次管理。公交查询包括车次、站点、换 乘等方案的查询;用户留言主要是了解用户的留言信息,以方便管理员根据用 户提供的留言信息或是提出的建议对系统进行完善;用户管理主要是删除用户 信息和修改用户注册的基本信息;后台车次管理能主要是添加车次和站点、更 新车次和站点、删除车次和站点。本系统基于 b/s 模式开发,采用 jsp 技术, sql server 2000 构建后台数据库。 关键词:关键词:jsp;sql server 2000;公交线路查询;b/s based on jsp bus lines inquires the system design and implementation abstract bus inquires the system is the urban road traffic, is an important part of the inevitable outcome of the urban development. the development of city bus query system in a relatively backward level, people can get information, the way to solve this problem is less, the need to develop our bus lines inquires the system. in this paper, first bus query system needs were discussed, including functional requirements and the function demand; then it introduces the whole system design idea, plan selection and database design; then illustrates the system the realization process of the main function modules; finally give system test scheme. this bus inquires the system mainly has the bus inquiry, user message, the user management and back-office train journeys management functions. bus inquires run number, site, including transfer of query; such scheme user message is mainly collect user information, to facilitate the message provided by user message information or advice on system modified and perfected; user management function mainly delete a user information and modify user registration of the basic information; backstage main function is to add train management site function, updated train and train and site function, delete trains and stations function. this system based on b/s model development, using the jsp technology, sql server 2000 construct backend database. key words: jsp; sql server 2000; bus lines inquiry; b/s 目目 录录 论文总页数:29 页 1 引言1 1.1 选题背景1 1.2 国内外研究现状1 1.3 本课题研究的意义1 1.4 本课题的研究方法2 1.5 开发环境及技术简介2 1.5.1 jsp 基础知识2 1.5.2 jdbc3 1.5.3 java servlet.4 1.5.4 开发环境4 1.5.5 主要工作4 2 系统需求分析4 2.1 系统调研.4 2.2 系统目标.4 2.3 系统的功能需求5 2.3.1 系统需求描述5 2.3.2 系统数据流图5 2.3.3 系统的功能5 2.4 系统非功能需求7 2.4.1 精度7 2.4.2 安全性要求7 2.4.3 时间特性要求7 2.4.4 灵活性7 3 系统设计7 3.1 系统总体设计7 3.2 系统方案选择8 3.3 系统数据库设计11 3.3.1 数据库设计.11 3.3.2 系统 e-r 图.11 3.3.3 数据库表结构12 4 系统实现14 4.1 用户登录模块14 4.2 个人信息管理模块16 4.3 公交系统查询模块16 4.3.1 车次信息查询16 4.3.2 站点信息查询17 4.3.3 公交换乘方案查询19 4.4 站点信息管理模块20 4.4.1 删除站点20 4.4.2 添加站点21 4.5 车次信息管理模块21 4.5.1 删除车次21 4.5.2 添加车次22 4.6 留言板模块23 4.6.1 发表留言23 4.6.2 查看留言23 4.6.3 删除留言23 5 系统测试与分析24 5.1 测试概述24 5.1.1 测试目的24 5.1.2 测试原则25 5.1.3 测试方法25 5.2 测试用例25 5.3 测试分析26 结 束 语26 参考文献27 致 谢28 声 明29 第 1 页 共 29 页 1 1 引言引言 1.11.1 选题背景选题背景 近十几年来,我国汽车工业蓬勃发展,特别是家用轿车的增长。发展中 国家用轿车市场,其规模与速度必须与城市基础建设同步,如果一味追求发 展速度将造成很多大城市严重的交通堵塞问题,而且还将给社会带来一系列 不良后果,如加大社会经济成本,增加能源消耗,恶化城市空气,增加交通 事故等等。因此,在发展我国的汽车工业的同时要注意到城市公共交通存在 的意义和作用,加大国家在公共交通方面的投入,全面规划、统筹安排、合 理配置、科学管理,使城市道路流畅、方便、安全、有效、可靠。 然而,随着公共交通的快速发展,会逐渐地出现越来越多的公共汽车和 不同的公交路线,这样会使人们对各条公交路线的信息掌握的不是很清楚。 而城市公交查询系统主要任务就在于对各条路线的信息查询,和对整个公交 线路信息进行相关的管理。使用公交查询系统人们就可以找出一条最适合于 自己的线路,减少不必要的坐车时间。所以城市公交查询系统的前景非常乐 观。 1.21.2 国内外研究现状国内外研究现状 目前,国内外公交查询系统都发展到了一个比较成熟的阶段,无论是从 理论上还是从技术上都比较成熟。国外公交查询系统更是早已经实现了智能 化、信息化、社会化。据相关资料了解,国外的公交查询系统现在已经将 gis、gps、rs 技术集合到公交查询系统中。gis 技术:即 geography infomation system,地理信息系统。简单说就是将地图与数据库相结合。gps 技术:即 globe position system,全球定位系统,通过每 3 颗卫星确定一个 点的经纬度坐标,使用 wgs_1984 坐标系 。rs 技术:remote sensing,遥 感。通过卫星或飞机接收地面反射波普,判断地面情况的技术。现在国内的 公交查询系统也结合了很多技术,比如:基于 asp.net+xml 的公交查询 系统,基于 j2me 的公交查询系统,基于 webgis 公交查询系统。国内公交 查询系统也正在向将 gis、gps、rs 技术相结合的方向发展。 虽然现在国内公交查询系统技术上已经发展到了一定阶段,但是管理上 还缺乏一定的规范,还有待进一步的规范和完善。 1.31.3 本课题研究的意义本课题研究的意义 本项目研究的基于 jsp 的公交查询系统,包括公交查询系统的大部分功 能,并提供了用户留言的功能,以方便根据用户提供的留言信息或是提出的 建议对系统进行修改和完善,并提供了管理员用户后台维护公交信息的功能, 做到能够实时添加和删除公交车次站点,为用户查询提供更准确的信息。 第 2 页 共 29 页 1.41.4 本课题的研究方法本课题的研究方法 公交车查询管理系统是针对广大用户设计的一个典型数据库开发应用程 序,由前台管理模块,后台管理模块,数据管理模块组成。该系统是基于 jsp 技术的开发环境下编写而成,后台选用数据库系统是 sql.sever2000。 本系统采用 b/s 结构 客户端: 1) 管理员通过登录页面来管理公交 线路的更改,如添加、删除等; 2) 非管理人员访问页面,通过输入起点终点来查询车次和经过的线路; 3) 用户点击查询后浏览器向服务器发送查询条件。 服务器端: 1) 运行登录程序来验证访问者的身份是否为管理员,若为管理员则生 成管理页面; 2) 接受用户发送来的查询条件送入数据库查询,将数据库返回的内容 送往客户端; 公交查询系统是一个根据现在社会发展形式所形成的,为乘客和公交公 司提供方便的一个平台。该系统属于 b/s 模式,前台页面操作调用后台的数 据库,完成对数据的添加,删除,修改,查询的操作。该系统初步分为两个 大模块:前台管理模块、后台管理模块。每个模块之间都不是相互独立的, 他们对数据库的访问都是有一定的权限的,各个模块访问的是同一个数据库, 只是所访问的表不同而已。每个模块的功能都是按照在实际调研中搜集的资 料进行编排制作的依据上述功能的分析,前台管理模块:该模块有许多子模 块功能,需要完成对用户的注册、查询功能,是用户接触的第一个界面,有 着很重要的作用。用户留言模块:该模块需要对客户反馈的信息进行处理, 实现与用户进行沟通和交互的功能。后台管理模块:该模块有许多子模块功 能,对用户、站点、线路等一系列的内容进行添加、删除、修改。 1.51.5 开发环境及技术简介开发环境及技术简介 .1 jsp 基础知识基础知识 jsp 技术使用 java 编程语言编写类 xml 的 tags 和 scriptlets,来封装产 生动态网页的处理逻辑。网页还能通过 tags 和 scriptlets 访问存在于服务端 的资源的应用逻辑。jsp 将网页逻辑与网页设计和显示分离,支持可重用的 基于组件的设计,使基于 web 的应用程序的开发变得迅速和容易。 web 服务器在遇到访问 jsp 网页的请求时,首先执行其中的程序段,然 后将执行结果连同 jsp 文件中的 html 代码一起返回给客户。插入的 java 第 3 页 共 29 页 程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功 能。 jsp 与 java servlet 一样,是在服务器端执行的,通常返回给客户端的 就是一个 html 文本,因此客户端只要有浏览器就能浏览。jsp 技术让动 态网面更易编写,功能更强,可移植性更好。概括起来,jsp 的设计目标主 要有以下几点: 1) 一次编写,到处运行 2) 加强组件能力 3) 作为 java 企业平台的门户 4) 更容易建立动态页面 jsp2.0 是对 jsp1.2 版本的升级,其中增加了一些新特性。jsp2.0 的设 计目标是使动态网页的设计、开发和维护更加容易,网页编写者不必懂得 java 编程语言,也可以编写 jsp 网页。jsp2.0 增加了一种称为 simpletag 的 扩展机制来简化标签 api(tag api) 。jsp2.0 引入的最主要的新特性包括2: 1) 引入简单表达式语言(el,expression language) ,它用于 jsp 页面 中的数据访问。这种表达式语言简化了 jsp 中数据访问的代码,不需要使用 java script 或者 java 表达式。 2) 引入创建自定义标签的新语法,该语法使用.tag 和.tagx 文件,这类 文件可由开发人员或者网页作者编写。 3) 对 xml 语法做了实质性的改进,增加了新的标准文件扩展名 (.tagx 用于标签文件,.jspx 用于 jsp 文件) 。 .2 jdbc jdbc(java data base connectivity,java 数据库连接)是一种用于执行 sql 语句的 java api,可以为多种关系数据库提供统一访问,它由一组用 java 语言编写的类和接口组成。jdbc 为工具/数据库开发人员提供了一个标 准的 api,据此可以构建更高级的工具和接口,使数据库开发人员能够用纯 java api 编写数据库应用程序,同时,jdbc 也是个商标名。 有了 jdbc,向各种关系数据发送 sql 语句就是一件很容易的事。换 言之,有了 jdbc api,就不必为访问 sybase 数据库专门写一个程序,为访 问 oracle 数据库又专门写一个程序,或为访问 informix 数据库又编写另一 个程序等等,程序员只需用 jdbc api 写一个程序就够了,它可向相应数据 库发送 sql 调用。同时,将 java 语言和 jdbc 结合起来使程序员不必为不 同的平台编写不同的应用程序,只须写一遍程序就可以让它在任何平台上运 第 4 页 共 29 页 行,这也是 java 语言“编写一次,处处运行”的优势。 .3 java servlet java servlet 使用的是一种请求/响应机制,也就是说通过特定的 java 程 序设计技术,由该 servlet 动态产生的响应向某一特定的请求做出响应。 servlet 所能应用的请求/响应场合很多,但常用的还是在 web 应用程序中用 于产生超文本传输协议响应(http) 。据此,servlet 可能取代其他类型的 http 请求/响应机制,譬如通用网关接口(cgi)脚本。 .4 开发环境开发环境 本系统的开发采用 jsp、servlet、javascript、jdbc 等技术。本系统使 用 myeclipse8.6 作为开发环境, tomcat 6.0 作为 web 服务器。数据库采用 sql server 2000。 .5 主要工作主要工作 本文主要综合介绍整个系统。 第一部分为引言,主要对系统开发的意义和系统的开发环境、开发技术 进行介绍; 第二部分为系统需求分析,主要描述系统的研究情况,还有系统功能需 求和系统其他功能需求,简单的介绍了系统的主要功能模块,包括用户登录、 公交查询、留言管理和管理员维护等模块; 第三部分为系统设计,主要解释了系统结构设计、方案的选择和系统数 据库的设计; 第四部分为系统功能模块的实现,描述了各个功能模块的实现,并给出 关键模块的实现代码以及运行的效果截图; 第五部分对系统做了整体测试,给出系统功能测试用例表。 2 系统需求分析系统需求分析 2.12.1 系统调研系统调研 在公交信息化发展中已经有了公交查询系统,但是有很多系统没有后台 的维护管理功能,公交信息不能实时的更新,本系统提供了管理员进行添加、 删除车次站点等功能,并提供了用户留言的功能,更加具有实时性和人性化, 使公交公司能够对用户提供的留言信息和提出的建议对系统进行修改和完善。 2.22.2 系统目标系统目标 本项目设定的目标如下: 1) 方便用户更好地掌握公交信息; 2) 适应未来公共交通及社会交通模式快速变化的要求,适应公交运输 第 5 页 共 29 页 体制改革的要求、适应公交服务向更高层次发展的要求。 3) 为未来智能公交系统查询系统以及开发基于更广大用户的开放式的 网络查询系统打下基础。 2.32.3 系统的功能需求系统的功能需求 .1 系统需求描述系统需求描述 系统需求: 公交查询系统需要满足来自两方面的需求,分别是查询公交系统的普通 用户,后台维护管理人员。 查询公交系统的普通用户的需求是查询城市公交线路、站点和换乘方案 等信息。后台管理人员对后台数据库进行操作,可以添加公交线路站点和更 改已经有的公交线路和站点。 在公交查询系统开发时应该满足以下具体的系统需求: 1) 满足用户查询公交信息的需求。 2) 满足后台管理人员更改公交线路站点等信息的要求。 3) 让使用该系统的用户能够简单操作,快速查询。 .2 系统数据流图系统数据流图 系统数据流图如图 2-1 所示。 管理员 登录 车次管 理 用户 登录 用户注册 账号 线路管 理 留言 删除用 户 车辆信息库线路信息 留言本 站点管理 站点信息 公交车查询 用户 图 2-1 系统数据流图 如图所示,普通用户注册登录后,可进行公交信息查询、留言;管理员 登录系统后,可进行车次管理、站点管理、线路管理、删除留言等操作。 .3 系统的功能系统的功能 系统功能模块图如图 2-2 所示。 第 6 页 共 29 页 公交查询系统 用 户 留言管理线路站点管理 查 询 查 看 留 言 删 除 留 言 删 除 路 线 删 除 站 点 查 看 信 息 留 言 添 加 站 点 添 加 路 线 管 理 员 查 看 留 言 留言管理留言管理 图 2-2 系统功能模块图 基于系统需求分析,以下为该系统的相信基本功能: 1) 用户登录 进入系统后用户选择自己的身份,通过输入自己的用户名和密码进入哥 子的页面,从而进行各自所需操作。 2)公交系统查询 普通用户登录后可以根据自己需求进行公交查询。此系统分为车次查询、 站点查询和查询公交换乘查询。车次查询即为根据车号查询车次经过的站点, 并显示该车次起点、终点、票价等基本信息;站点查询为经过该站点的车次 信息;公交换乘方案查询即分别输入起始站点和目的站点并查询公交乘车方 案。 3) 留言板 普通用户登录后,可以进入留言版,用户可以提出自己的一些看法意见 和建议,以供公交管理人员根据用户建议更加完善本系统。 4) 用户个人信息管理 用户登录后即可进入到用户的个人界面,在个人界面中,用户可以查看 个人详细信息,包括用户名账号,注册邮箱等信息,最后注销登录返回到系 统登录界面。 5) 站点和车次信息管理 管理员登录系统后进入相应管理员界面,在管理员界面中,可对公交站 点信息和车次信息进行实时修改,实时更新公交变动信息。 第 7 页 共 29 页 2.42.4 系统非功能需求系统非功能需求 .1 精度精度 本系统所需的数据类型主要包括用户名、密码等。相关精度要求如下: 用户名:英文和数字组合,以英文开头。例如:“ch123” 密码:5 到 12 位密码。例如“ch123” .2 安全性要求安全性要求 本系统的用户分为管理员和普通用户两类,用户登录时需要根据功能选 择框选择自己的需要,每个用户都有自己的用户名和密码。 .3 时间特性要求时间特性要求 响应时间:一般操作的响应时间应在 12 秒内。 .4 灵活性灵活性 对设备的要求较低,且具有良好的可移植性,用户可以方便、快捷地使 用该系统。 3 系统设计系统设计 3.13.1 系统总体设计系统总体设计 本系统设计使用了面向对象技术和模块化技术: 面向对象技术是一种软件开发和程序设计技术,其所开发的程序是面向 对象程序,直接描述客观世界的对象及其相互关系。对象是封装了数据和操 作的程序块。所谓封装是为这个程序块建立显示的界面,其它对象只能向这 个界面发消息,不能访问内部的私有数据和操作。因此,内部的数据和实现 操作的算法若有改动,对其它程序对象没有任何影响。封装使程序局部化、 易修改、好维护,但许多对象有相同的功能时免不了重复,所以面向对象技 术有继承的机制。此外,由于对象自己操作自己的数据,对同一消息不同的 对象均以自己的方式响应,使得一种消息可有多种响应方式,这就是多态性。 封装、继承、多态是面向对象程序的主要特征。正是这些特征使程序安全、 可靠、可重用、易维护。因而面向对象技术也成为当今计算机的新兴技术。 模块化技术是指解决一个复杂问题时自顶向下逐层把系统划分成若干模 块的过程,有多种属性,分别反映其内部特性模块化每个模块完成一个特定 的子功能,所有的模块按某种方法组装起来,成为一个整体,完成整个系统 所要求的功能。模块具有以下几种基本属性:接口、功能、逻辑、状态,功 能、状态与接口反映模块的外部特性,逻辑反映它的内部特性。在系统的结 构中,模块是可组合、分解和更换的单元。 本系统通过模块化技术,将系统分为管理员和用户两个大的模块,用户 方面可以分为查询和留言等小模块,而管理员方面又分为公交线路、站点和 第 8 页 共 29 页 留言处理等小模块的操作,通过面向对象技术,各个模块之间互不影响,各 自实现自己的功能。 系统总体流程如图 3-1 所示。 用户登录 普通用户或者管 理员 n y 用户名和密 码是否正确 普通 用户 进入普通用户主界面 查询留言等操作 管理 员 进入管理员主界面 进行添加删除查询等操作 退出系统 结束 y 用户名和密 码是否正确 n 图 3-1 系统流程图 图 3-1 详细描述了公交系统的整体操作流程。首先用户进行登录,选择 身份是普通用户或者管理员,如果用户名和密码正确则进入到相应的用户个 人界面,否则返回登录界面重新进行登录。在用户个人界面,用户可以进行 各自需要的操作。若用户为普通用户,则可以进行查询公交信息,留言,注 销和更改个人信息等操作;用户为管理员,可以对公交线路进行管理。最后, 用户操作完毕,可以退出本系统,整个系统操作流程到此结束。 3.23.2 系统方案选择系统方案选择 目前比较流行的系统软件开发技术有 asp、.net 或 jsp(java server pages)与 web 数据库相结合两种,分别由微软和 sun 公司开发的一种动态 网页语言。都是非常完备的开发技术。目前网络上和各大文献也对两者进行 开始 第 9 页 共 29 页 了比较,其中各有优缺点。 jsp 和 asp 在结构上类似,都是以“”作为标计符,不同的是在标计 符之间的代码 asp 为 javascript 或 vbscript 脚本,而 jsp 为 java 代码。 jsp 将网页的表现形式和服务器端的代码逻辑分开。作为服务器进程的 jsp 页面,首先被转换成 servlet(一种服务器端运行的 java 程序) 。servlet 支持 http 协议的请求和响应。当 jsp 被转换成纯 java 代码。多个用户同时请 求一个 jsp 页面时,应用实例化线程来响应请求。这些线程由 web 服务器 进程来管理,和 asp 的线程管理器功能类似。同 cgi 为每个请求创建一个 进程的模式比较,这种方式效率高的多。 在 asp 或 jsp 环境下,html 代码主要负责描述信息的显示样式,而 程序代码则用来描述处理逻辑。普通的 html 页面只依赖于 web 服务器, 而 asp 和 jsp 页面需要附加的语言引擎分析和执行程序代码。程序代码的 执行结果被重新嵌入到 html 代码中,然后一起发送给浏览器。asp 和 jsp 都是面向 web 服务器的技术,客户端浏览器不需要任何附加的软件支 持。 asp 的编写语言是基于 vb 的脚本语言,jsp 使用的是 java,这是两 者最明显的区别。 asp 与 jsp 还有一个更为本质的区别:两种语言引擎用完全不通的方 式处理页面中嵌入的程序代码。在 asp 下,基于 vb 的脚本代码被 asp 引 擎解释执行;在 jsp 下,代码被编译成 servlet 并由 java 虚拟机执行,这 种编译操作仅在对 jsp 页面第一次请求是发生。 动态语言 jsp 和 asp 在性能上的比较如表 3-1 所示。 表 3-1 jsp 与 asp 性能对比表 性能 jspasp 运行速度快较快 运行损耗较小较大 难易程度容易掌握简单 运行平台绝大部分平台windws 平台 扩展性好较好 安全性好较差 函数支持多较少 数据库支持多多 厂商支持多较少 对 xml 的支持支持不支持 对组件的支持支持支持 对分布式处理的支持支持支持 应用程度较广较广 第 10 页 共 29 页 由上表我们可以很直观的发现 jsp 具有运行速度快,运行耗损小,安全 性,扩展性好,等都更比 asp.net 更具优越性。两者中, jsp 应该是未 来发展的趋势。 而数据库选用 sql server 2000: 1) 高性能设计,可充分利用 windowsnt 的优势。 2) 系统管理先进,支持 windows 图形化管理工具,支持本地和远程的 系统管理和配置。 3) 强壮的事务处理功能,采用各种方法保证数据的完整性。 4) 支持对称多处理器结构、存储过程、odbc,并具有自主的 sql 语 言。 sqlserver 以其内置的数据复制功能、强大的管理工具、与 internet 的紧密集成和开放的系统结构为广大的用户、开发人员和系统集成商提供了 一个出众的数据库平台。 当前,主流的抽象 web 应用体系结构主要有两种:即 c/s 客户机/服 务器结构以及 b/s 浏览器/服务器结构。 c/s(client/server)结构,即大家熟知的客户机和服务器结构。即客户 机/服务器网,client/server。在客户机/服务器网络中,服务器是网络的核心, 而客户机是网络的基础,客户机依靠服务器获得所需要的网络资源,而服务 器为客户机提供网络必须的资源。 c/s 模式的优点: 由于客户端实现与服务器的直接相连,没有中间环 节,因此响应速度快;操作界面漂亮、形式多样,可以充分满足客户自身的 个性化要求;c/s 结构的管理信息系统具有较强的事务处理能力,能实现复 杂的业务流程。 c/s 模式的缺点:需要专门的客户端安装程序,分布功能弱,针对点多 面广且不具备网络条件的用户群体,不能够实现快速部署安装和配置; 兼 容性差,对于不同的开发工具,具有较大的局限性。若采用不同工具,需要 重新改写程序;开发成本较高,需要具有一定专业水准的技术人员才能完成。 b/s(browser/server)结构即浏览器和服务器结构。用户可以通过 www 浏览器去访问 internet 上的文本、数据、图像、动画、视频点播和声 音信息,这些信息都是由许许多多的 web 服务器产生的,而每一个 web 服 务器又可以通过各种方式与数据库服务器连接,大量的数据实际存放在数据 库服务器中。 b/s 结构的优点:具有分布性特点,可以随时随地进行查询、浏览等业 务处理;业务扩展简单方便,通过增加网页即可增加服务器功能;维护简单 方便,只需要改变网页,即可实现所有用户的同步更新;开发简单,共享性 第 11 页 共 29 页 强。 b/s 模式的缺点:个性化特点明显降低,无法实现具有个性化的功能 要求;页面动态刷新,响应速度明显降低;功能弱化,难以实现传统模式下 的特殊功能要求。 比较 c/s 和 b/s 优缺点发现,b/s 模式具有分布性特点,可以随时随地 进行查询处理。这对于公交系统查询是很好的平台,而且操作简单。 结合本系统实际情况,我选择采用 b/s 模式。 因此,本系统开发选用 jsp+sql server 方案,基于 b/s 模式开发。 3.33.3 系统数据库设计系统数据库设计 .1 数据库设计数据库设计 数据库是信息系统的核心和基础,把信息系统中大量的数据按一定的模 型组织起来,提供存储、维护、检索数据的功能,使系统可以方便、及时、 准确地从数据库中获得所需的信息。数据库是信息系统的各个部分能否紧密 地结合在一起以及如何结合的关键所在。因此,数据库设计是信息系统开发 和建设的重要组成部分。 本系统数据库表有 administrator 表、businfo 表、busst 表、message 表、 stinfo 表、userinfo 表等共 6 张表。其中 administrator 表为管理员表,保存 有管理员名和密码信息;businfo 表为车次信息表,保存有起点站和终点站 信息;busst 表为每个车次中间站点与车次线路的关联表;message 表为用 户留言信息表;stinfo 表为站点表,存有本系统所有的站点;userinfo 表为 用户表,保存有用户的注册信息。 .2 系统系统 e-r 图图 1) 用户实体及属性如图 3-2 所示。 用户 用户名 密码年龄地址邮箱 提示问题提示答案 证件号码 图 3-2 用户实体及属性 2) 管理员实体及属性如图 3-3 所示。 第 12 页 共 29 页 管理员 管理员账号密码 图 3-3 管理员实体及属性 3) 留言板实体及属性如图 3-4 所示。 留言板 用户名 留言时间留言标题留言内容 邮箱地址留言 id 图 3-4 留言板实体及属性 4) 车次和站点之间关系如图 3-5 所示。 车次信息 终点站票价 起点站 车子档次 车号 票价档次 站点信息 站点号站点名称 经过 车号 站点次序 站点号 图 3-5 车次与站点之间关系 .3 数据库表结构数据库表结构 1) 用户表 userinfo 如表 3-2 所示。 第 13 页 共 29 页 表 3-2 用户表信息 列名中文名称数据类型长度允许空 username 用户名 varchar 50 not null userpassword 用户密码 varchar 50 not null userage用户年龄int4 null address 地址 varchar50null email 邮箱 varchar50null question 问题 varchar50null answer 答案 varchar50null idnum 证件号 varchar50null 2) 管理员表 administrator 如表 3-3 所示。 表 3-3 管理员信息 列名中文名称数据类型长度允许空 adminiid 管理员名 varchar50not null adminipassword 密码 varchar50not null 3) 车次信息表 businfo 如表 3-4 所示。 表 3-4 车次信息表 列名中文名称数据类型长度允许空 busnum 车号 int4not null beginstid 起始站号 int4null beginst 起点站 varchar50not null endstid 终点站号 int4null endst 终点站 varchar50not null ticketnote 票价 varchar50null buslevel 车子档次 varchar50null note 票档次 varchar50null 4) 站点信息表 stinfo 如表 3-5 所示。 表 3-5 站点信息表 列名中文名称数据类型长度允许空 stid 站点号 int4not null atname 站点名称 varchar50not null 5) 中间站点关联表 busst 如表 3-6 所示 表 3-6 站点信息表 列名中文名称数据类型长度允许空 id 编号 int4not null busnum 车号 int4not null stid 站点号 int4not null storder 站点序号 int4null 6) 留言信息表 message 如表 3-7 所示。 第 14 页 共 29 页 表 3-7 留言信息表 列名中文名称数据类型长度允许空 username 用户名 varchar50not null messagedate 留言日期 datetime8not null topic 留言主题 varchar50not null email 邮箱 varchar50null messagetext 留言内容 varchar250not null id 留言序号 int4not null 4 系统实现系统实现 4.14.1 用户登录模块用户登录模块 1) 模块功能描述 该系统的用户分为普通用户或管理员,他们各自有自己的登录名和密码, 用户进入后,进入到自己的登录界面,输入相应的用户名和密码,如果登录 成功后,即可进入到相应的个人界面,否则将给予出错信息,并返回登录界 面。 2) 用户登录流程如图 4-1 所示。 开始 用户登录 普通用户或者管 理员 普通 用户 管理 员 用户名和密 码是否正确 用户名和密 码是否正确 y 进入普通用户主界面 y 进入管理员主界面 结束 n 图 4-1 用户登录流程图 n 第 15 页 共 29 页 3) 关键代码实现 string adminname = request.getparameter(“adminname“) = null ? “ : request.getparameter(“adminname“); adminname = exchange(adminname);/字符串乱码处理 string password = request.getparameter(“password“) = null ? “ : request.getparameter(“password“); password = exchange(password);/字符串乱码处理 string sql = “; string rand = (string) session.getattribute(“rand“); string input = request.getparameter(“vaild“); int n = 0; try conn = db.getconnection(); stmt = conn.createstatement(); sql = “select * from administrator where adminiid = “+adminname+“ and adminipassword = “+password+“; rs = stmt.executequery(sql); if (rs.next() if (n 0 session.setattribute(“adminpassword“, password); session.removeattribute(“rand“); response.sendredirect(“loginsuccess.jsp“); else response.sendredirect(“error.jsp“); 4) 模块运行如图 4-2 所示。 图 4-2 用户登录界面 图 4-2 为用户登录界面,需要用户选择自己的身份,通过输入自己的用 第 16 页 共 29 页 户名和密码进入各自界面。 4.24.2 个人信息管理模块个人信息管理模块 1) 模块功能描述 普通用户登录后可以进入自己的界面,通过界面上的注册信息功能进行 对自己的注册信息进行修改(如用户名、邮箱、个人喜好)等。 2) 模块流程如图 4-3 所示。 用户查看 个人信息 用户修改 个人信息 注销返回 登录界面 开始 结束 图 4-3 个人信息流程图 4.34.3 公交系统查询模块公交系统查询模块 .1 车次信息查询车次信息查询 1) 模块功能描述 普通用户登录成功后,可以进入到个人界面,在个人界面,用户可以进 行通过选择车次查询功能,通过输入要查询的车次,来查找出应选择的路线。 车次查询是为用户提供一个公交车的车号查询,并显示相关信息。 2) 模块运行界面如图 4-4 所示。 图 4-4 车次信息查询 相应的代码: public arraylist querybusnumdetail(string busnum) arraylist arraylist = new arraylist(); dbconnection2 db = dbconnection2.getinstance(); connection conn = null; 第 17 页 共 29 页 statement stmt = null; resultset rs = null; string sql = “; try if (busnum.equals(“) | busnum = null) sql = “select * from businfo“; else busnum = exchange(busnum);/字符串转码 sql = “select * from businfo where busnum = “+integer.parseint(busnum)+“; conn = db.getconnection(); stmt = conn.createstatement(resultset.type_scroll_insensitive,resultset.concur_rea d_only); rs = stmt.executequery(sql); while (rs.next() hashmap.put(“busnum“,“+rs.getint(“busnum“); hashmap.put(“beginst“,rs.getstring(“beginst“); hashmap.put(“endst“,rs.getstring(“endst“); hashmap.put(“ticketnote“,rs.getstring(“ticketnote“); hashmap.put(“buslevel“,rs.getstring(“buslevel“); hashmap.put(“note“,rs.getstring(“note“); arraylist.add(hashmap); catch (exception e) e.printstacktrace(); finally try if (stmt != null) stmt.close(); db.freeconnection(conn); catch (exception e) e.printstacktrace(); return arraylist; .2 站点信息查询站点信息查询 1) 模块功能描述 普通用户登录成功后,可以进入到个人界面,在个人界面,用户可以进 第 18 页 共 29 页 行通过选择站点查询功能,通过输入要查询的站点,来查找出应选择的路线。 站点查询是为用户提供一个公车的站点号,并显示该公交车的相关信息。 2) 模块运行界面如图 4-5 所示。 图 4-5 站点信息查询 相应代码: public arraylist querystinfo(string stname) arraylist arraylist = new arraylist(); dbconnection2 db = dbconnection2.getinst

温馨提示

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

评论

0/150

提交评论