系统实现说明书.docx

上传人:b****5 文档编号:5985643 上传时间:2023-01-02 格式:DOCX 页数:32 大小:736.81KB
下载 相关 举报
系统实现说明书.docx_第1页
第1页 / 共32页
系统实现说明书.docx_第2页
第2页 / 共32页
系统实现说明书.docx_第3页
第3页 / 共32页
系统实现说明书.docx_第4页
第4页 / 共32页
系统实现说明书.docx_第5页
第5页 / 共32页
点击查看更多>>
下载资源
资源描述

系统实现说明书.docx

《系统实现说明书.docx》由会员分享,可在线阅读,更多相关《系统实现说明书.docx(32页珍藏版)》请在冰豆网上搜索。

系统实现说明书.docx

系统实现说明书

学校代码:

10128

学号:

****

 

 

课程设计说明书

题目:

车站售票管理系统

—系统实现说明书

学生姓名:

*****

学院:

信息工程学院

班级:

****

指导教师:

***

***

2011年9月15日

目录

1.系统原型2

2数据库实现3

2.1数据库配置3

2.2表的创建(图形方式/SQL语句方式)3

3功能实现——按照功能模块进行说明4

3.1环境搭建4

3.2登录功能的实现5

3.2.1页面设计5

3.2.2功能的实现5

3.2.3配置框架8

3.3注册功能的实现9

3.3.1页面设计9

3.3.2功能实现9

3.3.3配置框架10

3.4查询功能实现12

3.4.1页面设计12

3.4.2功能实现13

3.4.3配置框架15

3.5修改功能实现16

3.5.1页面设计16

3.5.2功能实现17

3.5.3配置框架20

3.6售票功能实现22

3.6.1页面设计22

3.6.2功能实现23

3.6.3配置框架25

3.7退票功能实现26

3.7.1页面设计26

3.7.2功能实现27

3.7.3配置框架30

4收获与致谢30

1.系统原型

本项目适用于Windows操作系统,使用MySQL数据库,使用JAVA语言开发,引入了Struts2,基于MVC的模式进行系统的设计与实现。

将系统主要分为以下几个模块:

1、登录,只有登录成功后才可以使用系统的功能;

2、注册,增加系统的用户;

3、查询,可以进行车次查询,站点查询,用户也可以通过查询来了解列车所经车站以及发车时间等信息;

4、修改,售票员可以根据需求更改个人信息;

5、售票,根据旅客的需求如发车日期、发车时间、车票类型等选择用户所需要的车次,然后结算并打印车票给旅客;

6、退票,根据旅客的退票需求,修改车次的车票数量或者票价;

利用struts2技术,主要将系统分为三层:

视图、模型、控制器。

其中,视图使用jsp来实现;模型由JavaBean组成,JavaBean封装了底层的业务逻辑,包括数据库访问等;控制器由Action实现,负责处理用户请求,本身不具备处理能力,而是调用模型来完成处理。

构建基于Struts2框架的JavaWeb应用程序,需要以下八个步骤:

1)建立工程;2)引入Struts2工程所需运行库文件;3)创建并配置web.xml文件;4)创建应用程序视图(原型);5)构建数据访问类;6)构建业务类;7)创建Action类;8)创建并配置struts.xml文件;9)发布应用。

该系统主要由两个个文件构成,src源文件以及webcontent文件,主要文件结构见下图:

 

存放控制器文件,并调用模型层实现功能

com.tarena.action

封装连接数据库的功能

com.tarena.dao

图3-1系统文件结构图

2数据库实现

2.1数据库配置

该系统使MySQL数据库,涉及二个表:

info,user。

其中user表存储售票员信息,info用来存储列车及票务信息。

2.2表的创建(图形方式/SQL语句方式)

在MySQL新建数据库train2,在数据库中使用新建向导创建二个表。

图3-2MySQL数据库中user表截图

图3-3MySQL数据库中info表截图

3功能实现——按照功能模块进行说明

3.1环境搭建

(1)向工程中导入struts2的包,复制到lib文件夹下;

(2)导入sql.jdbc包,方法同上;

(3)配置Tomcat6.0。

3.2登录功能的实现

3.2.1页面设计

图3-4登录界面

3.2.2功能的实现

在model包中建立User类,其中设计了用户的属性,并对每一个属性使用系统自动生成的set和get方法。

并写了有参构造函数和无参构造函数,如下所示。

在User类中,用户的id是系统默认自动生成的,用户根据自己已注册的email进行登录,登录名和密码正确即可登录成功。

packagecom.tarena.model;

publicclassUser{

privateintid;

privateStringemail;

privateStringname;

privateDatebirthday;

privatechargender;

privateStringpassword;

privateStringlocus;

publicUser(){}

publicUser(Stringemail,Stringname,Datebirthday,chargender,

Stringpassword,Stringlocus){

super();

this.email=email;

this.name=name;

this.birthday=birthday;

this.gender=gender;

this.password=password;

this.locus=locus;

}

publicStringgetEmail(){

returnemail;

}

publicvoidsetEmail(Stringemail){

this.email=email;

}

在类UserAction.java中的UserServiceImpl方法实现了与Service的连接,通过Service才可以进行与数据库的连接与查询,从而实现struts2的三层模式。

并验证身份。

在Useraction.java中,若验证成功,则返回"success";若验证失败,则返回"fail";根据struts.xml中的action描述登录模块中,若返回值为"success"则跳转到/WEB-INF/userdetail.jsp,即登录成功进入下一页面,若返回值为"fail"则跳转到/index.html,即登录失败返回登录界面。

packagcom.tarena.action;

importcom.tarena.model.User;publicclassUserAction{

privateUseruser;

privateIUserServiceservice=newUserServiceImpl();

publicStringlogin()throwsException{

UserserviceUser=service.login(user);

if(serviceUser!

=null){

user=serviceUser;

return"success";

}

return"fail";

}}

//struts.xml

method="login">

/WEB-INF/userdetail.jsp

/index.html

通过sevice包下的UserServiceImpl与数据库进行连接,进行验证登录是否成功。

publicUserlogin(Useruser){

UserdbUser=null;

if(user==null)

returnnull;

try{

dbUser=dao.findByEmail(user.getEmail());

}catch(SQLExceptione){

e.printStackTrace();

}

if(user.getPassword().equals(dbUser.getPassword())){

returndbUser;

}

returnnull;

}

3.2.3配置框架

登录模块的配置框架置于WebContent包下的index.html中,由于WEB-INF受保护,因此不能置于WEB-INF中。

账号:


输入注册的邮箱地址

密码:

忘了密码?

00020;"class="smallandgray">还没有注册?


用Email注册

3.3注册功能的实现

3.3.1页面设计

 

图3-5注册页面

3.3.2功能实现

在类UserAction.java中的serviceUser方法实现了与Service的连接,通过Service才可以进行与数据库的连接与查询,从而实现struts2的三层模式。

并验证身份。

在Useraction.java中,若验证成功,则返回"success";若验证失败,则返回"fail";根据struts.xml中的action描述登录模块中,若返回值为"success"则跳转到/WEB-INF/userdetail.jsp,即登录成功进入下一页面,若返回值为"fail"则跳转到/register.html,即登录失败返回登录界面。

类UserServiceImpl.java,该类将用户的信息插入到数据库User中,类中设置get与set方法与register.jsp文件相互传递数据。

packagecom.tarena.action;

importcom.tarena.model.User;

publicStringregister()throwsException{

UserserviceUser=service.register(user);

if(serviceUser!

=null){

user=serviceUser;

return"success";

}

return"fail";

}

//struts.xml

method="register">

/WEB-INF/userdetail.jsp

/register.html

//UserServiceImpl.java

publicUserregister(Useruser){

UserdbUser=null;

try{

dbUser=dao.save(user);

}catch(Exceptione){

e.printStackTrace();

returnnull;

}

returndbUser;}

3.3.3配置框架

Email账号:

姓名:

生日:

onClick="WdatePicker()">

性别:

10px"name="user.gender"

value="m"checked="checked"/>男 

style="height:

10px"name="user.gender"value="f"/>女

密码:

6-16个字符组成,区分大小写,不能为9位以下纯数字

确认密码:

所在地:


15000;">

href="#">车站售票系统服务条款

3.4查询功能实现

3.4.1页面设计

图3-6车票列表

图3-7站点信息

3.4.2功能实现

在类TrainAction.java中的TrainServiceImpl方法实现了与Service的连接,通过Service才可以进行与数据库的连接与查询,从而实现struts2的三层模式。

并验证身份。

在Useraction.java中,若验证成功,则返回"success";根据struts.xml中的action描述登录模块中,若返回值为"success"则跳转到list.jsp,即查询成功进入下一页面,类TrainServiceImpl.java,通过该类系统可以实现与数据库的连接,从而将表info中的列车所有信息全部显示出来。

类TrainDetailServiceImpl.java,该类也实现与数据库的连接,从而将每一个站点的信息通过点击按钮即可进行查询。

publicclassTrainActionextendsActionSupport

{

publicStringexecute()

{

trains=trainService.getTrains();

returnSUCCESS;

}

publicArrayListgetTrains()

{

returntrains;

}

privateTrainServicetrainService=newTrainServiceImpl();

privateArrayListtrains;

}

//struts.xml

/list.jsp

//TrainServiceImpl.java

publicclassTrainServiceImplimplementsTrainService

{

publicArrayListgetTrains()

{

ArrayListtrainList=null;

trainList=trainDao.allTrains();

returntrainList;

}

privateTrainDaotrainDao=newTrainDaoImpl();

}

//TrainDetailServiceImpl.java

importcom.tarena.dao.TrainDetailDao;

importcom.tarena.dao.TrainDetailDaoImpl;

importcom.tarena.model.Train;

publicclassTrainDetailServiceImplimplementsTrainDetailService

{

publicTraingetTrain(Stringno)

{

Traintrain=null;

intstationNumber=Integer.parseInt(no);

train=trainDetailDao.findByStationNumber(stationNumber);

returntrain;

}

privateTrainDetailDaotrainDetailDao=newTrainDetailDaoImpl();

}

3.4.3配置框架

debug/>

iteratorvalue="trains"status="st"id="train">

iterator>

站点车次始发站所到站到站时间发车时间里程

no='+${train.stationNumber}">

${train.trainNumber}${train.startStation}${train.endStation}${ingTime}${train.startTime}${train.mile}

3.5修改功能实现

3.5.1页面设计

图3-8修改前的页面

图3-9修改页面

图3-10修改后的页面

3.5.2功能实现

在类UserAction.java中的UserServiceImpl方法实现了与Service的连接,通过Service才可以进行与数据库的连接与查询,从而实现struts2的三层模式。

并验证身份。

在Useraction.java中,若验证成功,则返回"success";根据struts.xml中的action描述登录模块中,若返回值为"success"则跳转到usermodify.jsp,即查询成功进入下一页面,类UserServiceImpl.java,通过该类系统可以实现与数据库的连接,从而将表user表中的列车所有信息修改。

publicclassUserAction{

privateUseruser;

privateIUserServiceservice=newUserServiceImpl();

publicStringlogin()throwsException{

UserserviceUser=service.login(user);

if(serviceUser!

=null){

user=serviceUser;

return"success";

}

return"fail";

}

publicStringregister()throwsException{

UserserviceUser=service.register(user);

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

当前位置:首页 > 求职职场 > 简历

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

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