基于J2EE的公交查询系统的设计与实现Word文档格式.docx

上传人:b****6 文档编号:18960152 上传时间:2023-01-02 格式:DOCX 页数:30 大小:377.54KB
下载 相关 举报
基于J2EE的公交查询系统的设计与实现Word文档格式.docx_第1页
第1页 / 共30页
基于J2EE的公交查询系统的设计与实现Word文档格式.docx_第2页
第2页 / 共30页
基于J2EE的公交查询系统的设计与实现Word文档格式.docx_第3页
第3页 / 共30页
基于J2EE的公交查询系统的设计与实现Word文档格式.docx_第4页
第4页 / 共30页
基于J2EE的公交查询系统的设计与实现Word文档格式.docx_第5页
第5页 / 共30页
点击查看更多>>
下载资源
资源描述

基于J2EE的公交查询系统的设计与实现Word文档格式.docx

《基于J2EE的公交查询系统的设计与实现Word文档格式.docx》由会员分享,可在线阅读,更多相关《基于J2EE的公交查询系统的设计与实现Word文档格式.docx(30页珍藏版)》请在冰豆网上搜索。

基于J2EE的公交查询系统的设计与实现Word文档格式.docx

居民收入普遍提高,到2000年年底,人均GDP已超过800美元,沿海地区已达2000-3000美元。

按国际发展惯例,当人均GDP超出1000美元,汽车消费市场就将进入快速增长期。

我国城市人口约有2亿,略低于美国人口。

东部沿海地区大部分居民已经具备了汽车消费实力。

据中国消费者协会2000年对20个大城市调查显示,有32%的消费准备在未来5年内购买家用轿车,其中30.6%的无车消费者已经有驾驶执照。

随着个人信贷制度的启动和日渐完善,家庭轿车的快速增长势头必将开掘出巨大的中国汽车市场。

城市经济发展,城市规模越来越大,相应的城市公交系统也越来越庞大。

许多新建小区大量出现,公交线路也日渐增多,给人们的出行带来了极大便利,但是由于城市规模的不断发展,给人们选择出行乘车线路造成了一定的困难。

即使一个在城市生活多年的人,给他任意两个地点,要他说出这两个地点之间的乘车方案,他往往也是很难说出来的。

但是如果给他一张交通地图之后,他可以很快地找出图上的任意两点之间的乘车方案,所找出的方案即使不是最优的,也是一条可供参考的备选方案。

但是这样的查询效率是相当低的,所以需要提供一个高效的查询系统,才是问题更本所在。

而基于J2EE的公交查询系统,就是利用B/S结构开发出来的查询系统,它通过利用数据结构当中的最短路径算法,可以查出任意两个地点之间最短的乘车方案。

它不仅可以用于公交公司管理系统中,也可以单独作为公交管理系统的一个模块存在,并可以制作成公交信息系统查询网,放置于城市的主要场所。

这样不仅可以体现出一个城市的智能公交系统的水平,更显示出城市的数字化,信息化水平。

目前,我国众多大城市普遍存在交通拥挤,延误人们平时上班时间。

甚至影响了城市旅游业经济的可持续发展。

所以为了切实的改善公交车内拥挤状况,适当增加发车次数以缩短乘客等车时间,但是能够准确为人们提供最短的乘车线路才是得到解决的最好办法,这样大大的缩短了人们的乘车时间。

本项目研究的基于J2EE的公交查询系统,让人们通过互联网很快的查出该城市任意两站点之间的最短乘车路线。

1.2项目的主要研究工作

本系统是从城市交通现状出发,根据人们的出行规律,设计了一个完整的基于J2EE体系的公交车查询系统。

该系统可以根据商厦名称,公交车号,日常站点和站点之间为查询条件分别进行查询,解决了市民出行乘坐公交车时经常遇到的困难。

本系统模型构架分为下面四层结构,如下。

(1)J2EE应用程序组件

J2EE应用程序是由组件构成的。

J2EE组件是具有独立功能的软件单元,它们通过相关的类和文件组装成J2EE应用程序,并与其他组件交互。

本系统包括如下组件:

①应用客户端程序及J2EE服务器。

②JavaServlet和JavaServerPages(JSP)Web组件及JavaBean。

(2)WEB层组件

J2EEweb层组件包含JSP页面或Servlet。

按照J2EE规范,还包含某些JavaBean对象来处理用户输入,并把输入发送给运行在业务逻辑层上的组件来进行处理。

(3)客户层组件

基于WEB方式的静态HTML页面或是Applet客户端的小应用程序。

(4)编写算法

编写最短路径数据结构算法,解决完成站点之间最短乘车路径查询。

1.3开发环境

开发工具:

Eclipse3.2+MyEclipse5.0GA。

运行环境:

JSDK1.5.0_04虚拟机。

服务器:

Tomcat5.5。

数据库:

MicroSoftSQLServer2000。

操作系统:

WindowsXP。

所需内存:

512M。

2理论基础

2.1概念

2.1.1J2EE的概念

J2EE是一种利用Java2平台来简化企业解决方案的开发、部署和管理相关的复杂问题的体系结构。

J2EE技术的基础就是核心Java平台或Java2标准平台。

J2EE不仅巩固了标准版中的许多优点,例如“编写一次、随处运行”的特性、方便存取数据库的JDBCAPI、CORBA技术以及能够在Internet应用中保护数据的安全模式等等,同时还提供了对EJB(EnterpriseJavaBeans)、JavaServletAPI、JSP(JavaServerPages)以及XML技术的全面支持。

其最终目的就是成为一个能够使企业开发者大幅缩短投放市场时间的体系结构。

2.1.2JSP的概念

JSP程序是一个服务端页面脚本程序,可以在这个脚本中直接编写客户端浏览器需要显示的HTML文档内容,当然也可以依照JSP规范将Java程序代码嵌入脚本。

JSP脚本规范提供了若干内部对象来简化JSP程序和浏览器之间的输入输出处理。

由于JSP程序是从HTML页面添加Java动态处理代码而来,因此,JSP程序又称为动态JSP页面。

2.1.3JavaBean的概念

JavaBean是一种JAVA语言写成的可重用组件,用户可以使用JavaBean将功能、处理、值、数据库访问和其他任何可以用java代码创造的对象进行打包,并且其他的开发者可以通过内部的JSP页面、Servlet、其他JavaBean、applet程序或者应用来使用这些对象。

用户可以认为JavaBean提供了一种随时随地的复制和粘贴的功能,而不用关心任何改变。

这个对J2EE业务逻辑层处理具有相当重要的部分。

2.1.4JavaServlet的概念

JavaServlet使用的是一种请求/响应机制,也就是说通过特定的Java程序设计技术,由该Servlet动态产生的响应向某一特定的请求做出响应。

Servlet所能应用的请求/响应场合很多,但常用的还是在Web应用程序中用于产生超文本传输协议响应(HTTP)。

据此,Servlet可能取代其他类型的HTTP请求/响应机制,譬如通用网关接口(CGI)脚本。

2.1.5Session对象

Session对象是类javax.servlet.Httpsession的一个对象,是用来保存每个用户信息(以会话的形式直接保存在WEB服务器端),以便跟踪每个用户的操作状态。

2.2J2EE的结构

J2EE结构具有一个很大的特点,就是与平台无关性的J2EE结构。

所开发出来的程序可以在任何操作系统下运行。

这样就使得J2EE程序的编写变得十分简单,因为业务逻辑被封装成可以复用的组件,并且J2EE服务器以容器的形式为所有的组件类型提供后台服务,所以你可以集中精力解决手头的业务逻辑。

2.3J2EE的容器类型

J2EE容器类型可以分为WEB容器和EJB容器。

EJB容器管理所有J2EE应用程序中企业级Bean的执行,EnterpriseBean和它们的容器运行在J2EE服务器上。

WEB容器也是管理所有J2EE应用程序中JSP和Servlet组件执行,同理WEB组件和它们的容器也是运行在J2EE服务器上的。

2.4J2EE的体系与模式

2.4.1J2EE的体系(分布式计算)

(1)表示层:

WebPage|HTML|HTTP

(2)控制层:

JSP|Servlets

(3)逻辑层:

JavaBean

(4)数据层:

Database

(5)JDBC

2.4.2J2EE的模式

MVC(Model–View–Controller)

页面bean是一个模型(model),而JSP是一个视图(view),Servlet是一个控制器(controller)。

3公交查询系统功能分析

3.1公交查询系统的需求

3.1.1系统需求描述

公交查询系统的需求最主要是通过站点与车次之间的关系,利用数据结构算法构造一个公交查询的网络图,然后通过最短路径算法,为用户准确地提供两站点之间的最短乘车路线。

其次从业务实现上来说,需要在业务逻辑层上编写最短路径算法,同时还要编写当用户查询请求时必须的数据库连接,然后根据用户提供查询站点信息,建立公交查询网络图,最终调用算法获取两站点之间的最短乘车线路。

当查询完成后,如果用户需要进行其它的操作,则释放该连接资源。

最后,为了让公交线路信息得到及时的更新或是信息删除,需要做出相应的操作和处理。

3.1.2系统数据流图

图3.1系统数据流图

3.2公交查询系统的功能

(1)通过选择商厦名称进行相应的信息查询。

(2)通过选择车号进行相应的信息查询。

(3)通过选择站点进行相应的信息查询。

(4)通过选择任意两个站点,完成两站点之间最短乘车路线查询。

(5)完成车次和站点添加功能。

(6)完成车次和站点更新功能。

(7)完成车次和站点删除功能。

(8)用户登录验证功能。

(9)用户注册信息功能。

(10)用户注销功能。

(11)删除用户信息功能。

(12)添加用户留言,删除用户留言,查看用户留言。

(13)管理员登录验证功能。

(14)管理员注销功能。

3.3公交查询系统的数据库设计

3.3.1E-R图

图3.2用户实体及属性

图3.3管理员实体及属性

图3.4留言板实体及属性

图3.5车次与站点之间关系

3.3.2数据库表设计

(1)用户表userInfo(如表3.1)

表3.1用户表信息

列名

中文名称

数据类型

长度

允许空

username

用户名

varchar

50

Notnull

userpassword

用户密码

userage

用户年龄

int

4

null

address

地址

email

邮箱

question

问题

answer

答案

idnum

证件号

 

(2)管理员表administrator(如表3.2)

表3.2管理员信息

adminiID

管理员名

Varchar

adminipassword

密码

(3)车次信息表BusInfo(如表3.3)

表3.3车次信息表

BusNum

车号

BeginSt

起点站

EndSt

终点站

TicketNote

票价

BusLevel

车子档次

Note

票档次

(4)站点信息表StInfo(如表3.4)

表3.4站点信息表

StID

站点号

StName

站点名称

(5)车次与站点关系表BusSt(如表3.5)

表3.5车次与站点关系表

Int

StOrder

站点次序

(6)商厦信息表publicplace(如表3.6)

表3.6商厦信息表

placesid

商厦号

placesname

商夏名称

(7)站点与商厦关系表stplace(如表3.7)

表3.7站点与商厦关系表

StId

placeId

(8)留言信息表message(如表3.8)

表3.8留言信息表

messagedate

留言日期

datetime

8

topic

留言主题

messagetext

留言内容

250

id

留言序号

4公交查询系统的设计与实现

4.1创建管理员登录的Servlet

(1)打开Eclipse开工具,新建一个ConfirmServlet类(如图4.1)

图4.1创建管理员登录ConfirmServlet类

(2)在已创建好ConfirmServlet类中,生成一个具有私有属性的login()方法,该方法就是对管理员请求过来的信息进行验证。

该方法首先利用HttpServletRequest,HttpServletResponse进行对象初始化。

利用HttpServletRequest的getParameter()来获取管理员页面传来的两个参数,一个是adminname,另一个是adminpassword。

然后调用自定义连接数据库类进行数据库对象实例化,最后在进行验证的时候,获取管理页面验证码,如果验证码无误就对管理员账号和管理员密码验证,最终将正确的管理员账号和管理员密码放入session会话变量中。

管理员登录界面(如图4.2)

图4.2管理员登录界面

相应代码:

privatevoidlogin(HttpServletRequestrequest,HttpServletResponseresponse){

Connectionconn=null;

Statementstmt=null;

ResultSetrs=null;

HttpSessionsession=request.getSession(true);

//如果用户session为空重新分配一个新的session给用户

DBConnection2db=DBConnection2.getInstance();

Stringadminname=request.getParameter("

adminname"

)==null?

"

"

:

request.getParameter("

);

adminname=exChange(adminname);

//字符串乱码处理

Stringpassword=request.getParameter("

password"

)==null?

password=exChange(password);

Stringsql="

;

Stringrand=(String)session.getAttribute("

rand"

Stringinput=request.getParameter("

vaild"

intn=0;

try{

conn=db.getConnection();

stmt=conn.createStatement();

sql="

select*fromadministratorwhereadminiID='

+adminname+"

'

andadminipassword='

+password+"

rs=stmt.executeQuery(sql);

if(rs.next()&

&

rs!

=null){

n++;

}

if(n>

0&

input.equals(rand)){

session.setAttribute("

adminname);

adminpassword"

password);

session.removeAttribute("

response.sendRedirect("

loginSuccess.jsp"

}else{

error.jsp"

}catch(Exceptione){

e.printStackTrace();

}finally{

if(stmt!

=null){

stmt.close();

db.freeConnection(conn);

}catch(Exceptione{

4.2创建用户登录的Servlet

(1)打开Eclipse开工具,新建一个UserLoginServlet类(如图4.3)

图4.3创建用户登录UserLoginServlet类

(2)与管理员中的ConfirmServlet类一样,也生成一个具有私有属性的login()方法,该方法也同样的继承了HttpServletRequest和HttpServletResponse类,通过这个类来获取用户界面请求过来的参数,当通过用户信息验证后,同样也将用户账号和用户的密码放入session会话变量中,一旦用户最终关闭浏览器,session会话变量也随即销毁。

用户登录界面(如图4.4)

图4.4用户登录界面

4.3公交系统查询模块

4.3.1商厦查询

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1