您好,欢迎来到智榕旅游。
搜索
您的当前位置:首页毕业设计说明书_火车票网上预约订购系统

毕业设计说明书_火车票网上预约订购系统

来源:智榕旅游


毕业设计说明书

火车票网上预约订购系统

学生姓名: 学号: 计算机与控制工程学院 学 院: 网络工程 专 业: 指导教师:

2016年6月

火车票网上预约订购系统

摘 要

火车票网上预约订购系统是一款联系人们和车票官方的管理软件。通过系统的实现方便人们的日常出行,为人们提供便利条件。

本系统使用JAVA语言开发,使用Myeclipse作为开发工具,同时使用SQL Server数据库进行数据的存储,并且使用SSH框架提高了功能实现效率,增加了系统的可维护性。主要功能分为两大模块,①管理员模块;②用户模块。其中管理员模块 主要实现的功能有:车次管理、新闻管理、公告管理、留言管理及会员信息;用户模块实现的主要功能有:查询功能、车票预定功能以及个人信息的管理。本系统经过测试,所有功能均达到预计功能。

关键词:网上订票,JAVA,Myeclipse,SSH,SQL Server

Order train tickets online booking system

Abstract

Order train tickets online booking system is a software of contact people and the official management. The realization of the convenient People’s Daily travel and provide convenience for people.

The system use JAVA language development, and use of Myeclipse as development tools, at the same time ,using SQL Server database for data storage, improve the efficiency of the functions and suing SSH framework, increase the maintainability of the system. Main function is divided is divided into two big modules, (1) the administrator module; (2) the user module. The administrator module main functions for implementation are include: Service management, news management, bulletin management, message management and member information; The user module main functions for implementation are include: the functions of query, ticket booking and management of person information. After testing, the system of all functions can achieve expected function.

Keywords: Booking Tickets Online, JAVA, Myeclipse,SSH,SQL Server

中北大学2016届毕业设计说明书

目 录

1 需求分析 .......................................................... 1 1.1 问题定义 ........................................................ 1 1.2 系统需求 ........................................................ 1 1.2.1 管理员功能模块: .............................................. 1 1.2.2 普通用户功能模块: ............................................ 2 1.3 系统功能图 ...................................................... 2 1.4 可行性分析 ...................................................... 2 1.5 本章小结 ........................................................ 3 2 概念结构设计 ...................................................... 4 2.1 系统基本流程 .................................................... 4 2.2 数据表及E-R图 .................................................. 4 2.2.1 数据表 ........................................................ 4 2.2.2 E-R图 ......................................................... 5 2.2.3 数据库表的设计 ................................................ 5 2.3 本章小结 ........................................................ 8 3 详细设计 .......................................................... 9 3.1 程序主框架 ...................................................... 9 3.2 启动界面 ........................................................ 9 3.3 用户模块 ....................................................... 10 3.3.1 系统首页 ..................................................... 10 3.3.2 免费注册 ..................................................... 10 3.3.3 会员功能模块 ................................................. 11 3.4 管理员模块 ..................................................... 17 3.4.1 管理员登录 ................................................... 17 3.4.2 基本操作 ..................................................... 18 3.4.3 会员管理 ..................................................... 19 3.4.4 新闻公共管理 ................................................. 20

第 Ⅰ 页 共 Ⅱ 页

中北大学2016届毕业设计说明书

3.4.5 车次管理 ..................................................... 22 3.4.6 订单管理 ..................................................... 22 3.5 本章小结 ....................................................... 23 4 测试与调试 ....................................................... 24 4.1 测试与调试概述 ................................................. 24 4.2 程序功能测试 ................................................... 24 4.2.1 测试主页访问是否成功 ......................................... 24 4.2.2 测试用户注册功能 ............................................. 24 4.2.3 测试管理员与用户登录功能 ..................................... 24 4.2.4 测试订购车票功能与车次管理功能 ............................... 24 4.2.5 测试管理员管理功能 ........................................... 25 4.3 本章小结 ....................................................... 25 5 结论 ............................................................. 26 参 考 文 献 ......................................................... 27 致 谢 .............................................................. 28

第 Ⅱ 页 共 Ⅱ 页

中北大学2016届毕业设计说明书

1 需求分析

了解火车票网上预约订购系统的具体实现流程,以及每个流程所要实现的功能和操作,对其进行详细分析和总结,明确得出完成系统所需要的概念。本系统主要解决网上购票和订票等功能,满足不同用户在不同时间提出的不同需求。同时需要系统能够高效安全可靠的为用户服务,同时还要解决负载问题。 1.1 问题定义

首先,系统能够安全流畅的运行,为用户提供所需要的服务。用户可以在网上根据自身需求去订购车票,用户输入的姓名、身份证号、出发时间、出发地点及目的地将被传入到数据库中,然后根据要求为旅客安排出行车次,旅客可以在出发前将票取出,或者进行退票的操作。 1.2 系统需求

这款管理系统主要是用于火车票网上订票。根据使用者的需求,可以实现对系统中对应的信息进行增删改查等操作。并建立以下2个大模块: 1.2.1 管理员功能模块:

(1)车次管理功能模块:管理员通过系统将列车的车次信息、经过的站点、时间、票价等信息录入系统并存入数据库中,当用户在系统中进行查询数据时,系统将查询的数据结果返回给用户,实现用户和系统之间的交互。

(2)车票预定管理功能模块:当用户登陆后对车票进行购买和预定,管理员要通过系统对这些操作进行管理。

(3)新闻管理功能模块:新闻模块主要向对旅客展示新闻信息,管理员通过后台系统对数据库中的信息进行修改、增加和删除等操作。

(4)公告管理功能模块:公告模块会提示旅客列车信息,到站时间、是否晚点等,管理员通过系统后台对这些信息进行修改等操作,防止旅客出现晚点和在车站等待时间过长等情况。

(5)留言管理功能模块:旅客在使用系统过程中对系统有什么建议或者意见可以通过该模块进行提交,管理员可以对这些信息进行采集,并做出相应的改进,提高旅客的满意度,为旅客提供更好的服务。

第 1 页 共 28 页

中北大学2016届毕业设计说明书

1.2.2 普通用户功能模块:

(1)查询功能模块:旅客可以直接登陆系统进行余票的查询、新闻的查询等,余票查询条件分为按照时间查询和按照站点查询,并将查询结果返回给用户。

(2)车票管理功能模块:根据旅客自身的需求购买和预定车票,在一定时间后预定的车票如果没有确定订单则会被取消。

(3)个人信息管理功能模块:当旅客想要购买车票、预订车票还有留言时则需要进行系统注册,并将结果存储在数据库中,登陆时进行验证,验证通过后才可以实现以上操作。 1.3 系统功能图

图1.1 系统功能图 1.4 可行性分析

在系统初步的需求分析阶段,需要提出可行性的方案来进行论证,所以,这部分内容将从技术可行性,操作可行性和经济可行性三个方面进行论述。 1.4.1 技术可行性

本系统使用Myeclipse 作为开发工具,数据库采用SQL Serve,系统环境为

第 2 页 共 28 页

中北大学2016届毕业设计说明书

Microsoft Windows 2000 或以上版本。同时系统开发使用的是JAVA语言,整个项目的本质是对数据库的增加、删除、查找以及修改等操作。因此,技术可行性达标。 1.4.2 操作可行性

使用的开发工具是Myeclipse,能够在Windows操作系统下运行,操作方便,用户可以通过系统中的帮助说明进行操作,简单可行。

用户不必了解系统的实现过程,所以系统需要做一个图形化界面和用户进行交互,也就是说要为用户提供一个接口,用户只需要了解系统如何使用,所以界面要设计的简单易懂操作方便。因此,操作可行性达标。 1.4.3 经济可行性

本系统开发的所有工具都是开源的,已于获取的。在本系统投入使用以后,与传统的购票方式相比,将会省去大量的人力、物力、财力。因此,在经济可行性方面可行。 1.5 本章小结

本章主要对火车票网上订购系统在需求、功能、可行性等方面进行综合论述。首先对系统需求进行了分析和概括,在明确了本系统所要实现目标的同时,提出相应的总体设计思路、设计功能与所要使用的实现方法,最终通过系统需求中要求实现的功能描述,对系统要实现的内容进行了概要论述。

第 3 页 共 28 页

中北大学2016届毕业设计说明书

2 概念结构设计

这部分将提出整个系统的总体实现方案,明确软件的总体布局,系统的各个子模块的功能和模块之间的关系,总结出数据库中表的设计方案。 2.1 系统基本流程

图2.1是本系统实现的最基本的功能流程,用户提出不同的需求,系统通过用户的请求与数据库进行交互,返回用户请求的相应信息,显示在客户端中,作为火车票订购系统购票是最基本的功能,用户通过查询,购买满足自己需求的车票。

图2.1 系统基本流程图

2.2 数据表及E-R图 2.2.1 数据表

管理员信息(管理员ID,管理员密码,管理员名)

用户信息(用户ID,姓名,密码,真实姓名,性别,邮箱,地址,QQ,电话) 车次基本信息(车次ID,路线,日期,到达时间,出发时间,票数,票价) 公告信息(公告ID,标题,日期,发布人) 留言信息(留言ID,标题,日期,内容,留言人) 新闻信息(新闻ID,标题,日期,图片名)

车票预订信息(预定ID,预定用户ID,预定车次ID,数目,金额,支付方式,时间,预定状态)

第 4 页 共 28 页

中北大学2016届毕业设计说明书

2.2.2 E-R图

图2.2是用户查询火车票流程的E-R图,用户有ID、用户名和密码等基本属性信息,车次有车次ID、路线和票价等基本属性,两者通过查询操作建立连接,并且是多对多的关系。一个用户可以查询多趟列车,一趟列车可以被多个用户查询。

图2.2 用户查询车次E-R图

2.2.3 数据库表的设计

表2.1是管理员表的设计,主要用于存储管理员信息,当对管理员信息进行修改、增加等操作时,将对这张表中的相应数据进行修改。

表2.1 管理员表设计

属性名 userID userName userPw 存储类型 int varchar(50) varchar(50) 属性值能否为空 否 否 否 属性值含义 管理员ID(主键) 管理员名 密码 表2.2是用户表的设计,用于存储用户的注册信息,当用户通过系统注册时,注册的信息将被录入到这张表中,当用户对自己的信息进行修改时,将对应改变表中的数据。

表2.2 用户表设计

属性名 user_id user_name user_pw user_realname 存储类型 int varchar(50) varchar(50) varchar(50) 属性值能否为空 否 否 否 否 属性值含义 用户ID(主键) 用户姓名 用户密码 真实姓名

第 5 页 共 28 页

中北大学2016届毕业设计说明书

user_address user_sex user_tel user_email user_qq varchar(50) varchar(50) varchar(50) varchar(50) varchar(50) 否 是 否 是 是 地址 性别 电话 邮箱 QQ 表2.3是车次表的设计,用于存储管理员录入的车次信息,当用户查询车次信息时,系统将通过内部方法将这张表中的数据呈现给用户;管理员对车次信息进行修改时,将修改这张表中的对应信息。

表2.3 车次表设计

属性名 id luxian piaoshijian startshijian endshijian piaojia piaoshu 存储类型 int varchar(50) varchar(50) varchar(50) varchar(50) int int 属性值能否为空 否 否 否 否 否 否 否 属性值含义 车次ID(主键) 路线 日期 开车时间 到站时间 票价 票数 表2.4是公告表的设计,用于存储管理员在后台录入的公告信息,将通过主键修改表中的对应信息。用户在首页看到的公告信息是系统通过内部方法将这张表中的信息放在jsp页面中。

表2.4 公告表设计

属性名 gonggao_id gonggao_title gonggao_content gonggao_date gonggao_fabuzhe 存储类型 int varchar(50) varchar(8000) varchar(50) varchar(255)

第 6 页 共 28 页

属性值能否为空 否 否 否 否 否 属性值含义 公告ID(主键) 标题 发布内容 发布时间 发布人 中北大学2016届毕业设计说明书

表2.5是留言表的设计,用于存储用户在留言界面的留言内容,当管理员对留言进行查看和管理时,这张表中的内容将在页面上呈献给管理员。

表2.5 留言表设计

属性名 liuyan_id liuyan_title liuyan_content liuyan_date liuyan_user 存储类型 int varchar(50) varchar(5000) date varchar(50) 属性值能否为空 否 否 是 是 是 属性值含义 留言ID 留言标题 留言内容 留言日期 留言人 表2.6 是图片新闻表的设计,用于存储管理员录入的新闻信息,用户在首页中查看到的

新闻也是这张表中的信息,当管理员在后台系统中对图片新闻进行修改时,将会修改这张表中的对应信息。

表2.6 图片新闻表设计

属性名 picNews_id picNews_title picNews_content picNews_pic 存储类型 int varchar(50) varchar(5000) varchar(50) 属性值能否为空 否 是 是 是 属性值含义 新闻ID 标题 内容 图片名 表2.7是用户预定车票表的设计,用户成功订购车票后,车次的基本信息,用户的基本信息等都会存储在这张表中。当管理员修改用户的预定车票信息时,将通过主键修改这张表中的对应信息。

表2.7 预定表设计

属性名 yvding_id User_id Checi_id yvding_shumu yvding_jine 存储类型 int int int int varchar(50)

属性值能否为空 否 否 否 否 否 属性值含义 预定号 用户ID 车次ID 预定数目 预定金额 第 7 页 共 28 页

中北大学2016届毕业设计说明书

zhifufangshi yvding_shijian yvding_zhuangtai varchar(50) date int 否 否 否 支付方式 预定时间 预定状态 2.3 本章小结

本章主要介绍了系统的各个模块,并给出了数据表和E-R图,详细设计了每张表的类型属性。展示了整个系统的基本流程,抽象出了每个对象和对象的具体属性,并且展示了对象和对象间的关系,逐步清晰整个系统的思路,目标明确,方便后期维护与修改。

第 8 页 共 28 页

中北大学2016届毕业设计说明书

3 详细设计

3.1 程序主框架

整个系统使用了SSH框架,简化代码量,通过jsp页面显示信息实现系统与用户的交互。框架主要负责接受用户发送的请求(request)和传送系统响应(response),然后根据配置的struts.xml文件中的配置信息将ActionServlet接收到用户发送过来的Request请求转发给相应的Action做业务处理,完成相应的业务处理后将返回一个ActionForward对象,控制器通过返回的ActionForward对象将工作转发到相应的模型层中,同时Action将业务处理后产生的不同结果返回一个目标响应对象传递给总控制器,总控制器在通过Action处理后的目标响应对象找到对应的jsp页面,将结果展示给用户,实现系统与用户的信息交互。所以,在项目的com.action包中存放处理各个相应功能的类;com.dao包中存放利用Hibernate封装DAO类来实现各个类与数据库的数据交换;com.model包中存放了每个Java类的封装模型,使用里面提供的GET和SET方法对数据表的属性进行获取和添加;在com.service包中存放了一个Java类,实现用户的登录,管理员和用户的密码修改以及预付款金额;com.util中封装了项目的常用方法,如分页信息,格式化时间等。整个项目通过使用Spring框架的规划使代码量减少,条理清晰,降低了程序的耦合,增加了代码的重复利用性。 3.2 启动界面

启动界面如图3.1所示,整个界面由incFoot.jsp,incleft.jsp和inoTop.jsp三个页面组成,呈现在用户面前的主框架均由这三个页面通过标签链接页面组合而成。里面的菜单栏是一个整体的

,里面的每一个小的选项都是一个
  • 标签,在
  • 的标签里面嵌套了一个标签的超链接,并且在thisclass的JS中设置样式和function方法来实现页面的跳转。第二部分主体是一个
    ,在
    中嵌套的一个,最后在里面放入标签,里面分别嵌套7个
    分别存放从数据库读出来的图片信息,图片下方显示新闻的标题。第四部分车次信息,也是两个大的
    框,里面四个
    标签,用于显示车次的基本信息。第五部分用户登录,是有
    里面使用

    第 9 页 共 28 页

    中北大学2016届毕业设计说明书

    等标签构成界面,相对比较简单。第六部分网站公告,用于显示当前车次晚点信息等情况,使旅客可以比较方便的调整自己的行程。最后一部分网站日历表,这部分有一个单独的jsp页面实现,通过Calendar这个类获取到当前的年、月、日,在页面加载之后通过onload=”showTime()”方法将日历信息显示给用户。

    图3.1 启动界面

    3.3 用户模块 3.3.1 系统首页

    这部分是一个标签,用户点击后系统将自动返回到启动的初始界面。 3.3.2 免费注册

    这部分将免费注册嵌套的标签中,点击后将跳转到图3.2所显示的注册界面,注册界面收集用户的注册信息,用户将信息添加之后,点击确定按钮,表单使用post方法利用action将数据提交到userReg.action这个类中,在这个类中创建了一个新的user对象,通过user提供的set方法将传进来的值存储到新建的对象中,在里面调用userDAO.save()方法将数据保存到数据库中,而userDAO包中的save()方法中使用getHibernateTemlate().save()方法将信息存储到数据库中,在userAction

    第 10 页 共 28 页

    中北大学2016届毕业设计说明书

    中返回一个SuccessAdd,这时,在Struts.xml中有一个全局的配置,返回的SuccessAdd与中的匹配的值并且返回后面的jsp页面。userReg.action类在Strust.xml中进行配置,在配置中将request请求信息转发至userAction中进行处理,处理过后,userAction将返回值为response信息传递给userDAO与数据库进行交互,并调用com.model中Tuser.java中的构造方法完成本次注册。

    图3.2 注册页面

    3.3.3 会员功能模块

    这部分是注册用户管理自己信息的功能模块,其中还未注册或者是未登录的用户不能够使用这个功能,里面包括密码修改,个人资料查询,个人积分和个人订单查询等几个功能,如图3.3所示。

    第 11 页 共 28 页

    中北大学2016届毕业设计说明书

    图3.3 会员中心菜单页面

    功能一:修改密码,图如3.4所示,系统会从数据库中自动找到更改人的原用户名,同时用户名设置为readonly属性,只能够读取不能够被修改,用户输入原密码系统通过得到的用户输入的信息与存在session中的密码进行比较,如果输入的密码和原密码不同则会提示错误信息,如果相同则进行后续工作,用户可以输入新的密码,同时输入一次确认密码,系统将获取两次的值进行比较,对比是否相同,再点击修改后如果全部符合要求,则在loginService.java类中对数据进行处理,并将新的密码信息传递到数据库并且返回修改成功的提示。

    图3.4 会员中心修改密码页面

    功能二:修改个人信息,如图3.5所示,系统找出存放在各个对应在相应session中的属性值设置为文本框的value值显示在文本框中,其中用户名和密码的属性为readonly,只能够让用户看到,用户没有修改的权限。系统将获取到的信息通过表单的post方法进行提交,设置的路径path为userEdit.action,在Struts.xml中找到对应的配置并通过配置的属性信息,将表单数据提交到名为userAction.java的类中,找

    userEdit()

    servletActionContext().getContext().getSession()方法获取到了存放在session中的属性信息,通过实例化一个新的对象,并使用在本类中对应的set()方法为属性赋新的

    第 12 页 共 28 页

    中北大学2016届毕业设计说明书

    属性值。然后通过在userDAO类中声明的attachDirty()方法将数据保存到数据库中。同时返回操作成功的提示并且返回到修改个人信息界面。完成个人信息的修改。

    图3.5 会员中心修改个人信息页面

    功能三:用户积分功能,用户通过成功购买票的次数慢慢累加积分,其中用户注册后会送1积分,每成功购票一次则加1积分,当积分在5分到10分之间时,则属于普通会员阶段,购票时享受9折优惠;当积分在11分到20分之间时,则属于白银会员,购票时享受7折优惠;当积分在20分以上时,则属于黄金会员,购票时享受5折优惠。

    功能四:查询个人订单功能,系统通过request.yudingList方法获取到用户的预订信息,然后设置每个

    标签中显示对应信息,如yuding.yudingShijian获取时间信息,和yuding.CheciId获取车次信息等,其中点击车票信息后将跳转到车票信息界面,如图3.6所示,里面列出车次的路线、时间等信息。这里车票的预定状态又分为两种,已受理和未受理状态。当用户因某些原因定错票或者放弃订票时可以点击删除订单放弃购票。系统将弹出提示框提示是否确定删除。

    图3.5 会员中心查询个人订单页面

    第 13 页 共 28 页

    中北大学2016届毕业设计说明书

    图3.6 会员中心查询个人订单车票信息页面

    功能五:留言功能,这部分为用户提供了留言的功能,用户可以在这里发表自己的意见和建议,这里的留言用户身份分为两种,一种是已经登录的用户的留言,系统将通过request.liuyanList的方式获取到留言人的信息链表,留言人将会显示通过liuyan.liuyanUser获取到的用户名,在从系统中获取到录入时间显示给用户。这个功能用到了一个叫做FCKeditor的编辑插件,是一个可以编辑的文本输入框,通过标签引用,在标签中将它的toolbarSet属性设置为Basic,使插件以精简版的模式显示在页面中,如果不设置则显示为默认的版本。在用户输入标题和内容并且点击按钮提交留言时,通过submit方式提交表单,表单将数据转发到liuyanAction进行处理,调用里面的liuyanAdd()方法,方法中新建了一个留言对象,将传过来的标题、内容等通过构建对象时生成的方法进行赋值,并通过调用TLiuyanDAO.java类中的save()方法将信息保存到数据库。当用户没有登陆进行留言时,系统将获取不到用户名,这时显示给用户的用户名则为空。通过这些流程实现了留言功能。

    第 14 页 共 28 页

    中北大学2016届毕业设计说明书

    图3.7 留言板功能页面

    功能六:用户登录,如图3.7所示,用户如果只是需要浏览车票信息公告等则不需要登录,但如果要购买车票要登陆之后才能够进行操作,当用户输入空的用户名和密码在点击登陆后,JS中的检查方法判断用户名密码是否为空,如果为空则返回出错的提示信息,如果不为空则把信息传递到loginService.java的类中对输入的信息和从数据库中得到的数据进行对比,如果相同则返回yes否则返回true,判断的方法在根据返回的信息决定输出错误的提示信息,还是输出成功的提示信息并进行页面的跳转,跳转到登陆成功的界面,如图3.8所示,将存储在session对象中的用户名显示出来,提示用户现在的登录状态。点击退出后系统将调用remove()方法清除掉用户的登录信息。实现用户的登录和退出功能。

    图3.7 用户登录功能页面

    第 15 页 共 28 页

    中北大学2016届毕业设计说明书

    图3.8 用户登录成功功能页面

    功能七:网站公告功能,如图3.9所示,这个部分将显示公告信息,写在固定的incLeft.jsp页面中,首先通过gonggaoDAO下面的方法获取到数据库中的公告信息,再将信息传递到action类中进行处理,最后通过页面中的标签将返回的数据显示在页面中,如图3.10所示,里面将显示公告标题、公告发布时间、以及公告内容。

    图3.9 公告页面

    图3.10 公告信息页面

    第 16 页 共 28 页

    中北大学2016届毕业设计说明书

    3.4 管理员模块

    系统管理员模块主要包括六大类功能,管理员登录、基本操作、会员管理、新闻管理、车次管理、订单管理。其中基本操作包括对管理员密码的修改以及增加管理员数量;会员管理包括对会员的增加和删除,以及对新闻信息的管理操作;新闻管理功能,包括对图片新闻以及公告的管理操作;车次管理功能,包括对车次信息的编辑,修改等操作;订单管理功能,对所有用户的订单进行管理,受理或者删除相关信息。所有功能组成了管理员模块的功能。 3.4.1 管理员登录

    点击用户界面最下方的管理员登录,将跳转到如图3.11所示的管理员登陆界面,与用户登陆界面相似,当用户输入的用户名或者密码为空时,点击登陆后将提示错误信息,当输入用户名和密码后如果不为空,则把信息传递到loginService.java的类中对输入的信息和从数据库中得到的数据进行对比,如果相同则返回yes否则返回true,判断的方法在根据返回的信息决定输出错误的提示信息,还是输出成功的提示信息并进行页面的跳转,跳转到登陆成功的界面,如图3.12所示,将存储在session对象中的用户名显示出来,提示用户现在的登录状态。点击注销退出后系统将调用remove()方法清除掉用户的登录信息。实现管理员的登录和退出功能。

    图3.11 管理员登陆界面

    第 17 页 共 28 页

    中北大学2016届毕业设计说明书

    图3.12 管理员登陆成功界面

    3.4.2 基本操作

    基本操作功能模块包括密码修改和管理员维护两个功能,如图3.13和图3.14所示。

    第一个功能管理员密码修改,系统自动获取到登陆的用户名,并将其属性设置为readonly属性,只允许读取不能够被用户修改。当用户输入的信息为空并点击修改按钮时,会提示“原始密码不正确”、“新密码不能为空”和“两次密码输入不一致”的提示信息,当原密码和用户输入的密码相匹配的时候,系统将获取到用户输入的新密码,并将密码存储到数据库中。

    第二个功能管理员维护,在这里管理员可以添加新的管理员以及删除掉不工作的管理员,添加管理员界面如图3.15所示,简单的来说就相当于一个简洁的注册功能,只需要输入新的用户名和密码,系统会将新输入的信息获取并且添加到数据库中进行保存,新添加的管理员就可以对整个系统进行管理。

    图3.13 管理员修改密码界面

    第 18 页 共 28 页

    中北大学2016届毕业设计说明书

    图3.14 管理员维护界面

    图3.15 管理员添加界面

    3.4.3 会员管理

    会员管理模块由会员管理和留言管理两个功能组成,如图3.16和图3.17所示。 第一个功能会员管理,也就是管理员对注册用户的管理操作,系统将数据库中的值通过标签和里面的value属性使用request.userList的方法获取到数据栈中,标签可以遍历数据栈中的每一个值,并通过标签将里面的值输出到jsp页面中,将结果呈现给用户,当管理员点击删除时将触发删除的方法对用回进行删除,删除前先获取到用户的ID,并将ID作为参数传递到方法中,调用action中的删除方法通过传过来的ID作为删除的条件将整条数据删除,达到删除整个用户的目的。

    第二个功能留言管理,在上面提到过还是通过标签获取到数据库中的值存放在数据栈中,并使用将数据进行格式化的输出,系统将从值中获取到留言人的用户名、留言时间、标题、内容等信息,并显示在jsp页面对应的表格中,前面介绍过,用户是不用登录就可以在系统的留言功能中留言的,在用户没登陆系统时,在系统的session中是获取不到用户的用户名的,所以没有登录的用户留言在显示的时候用户名是不存在的。

    第 19 页 共 28 页

    中北大学2016届毕业设计说明书

    图3.16 会员管理界面

    图3.17 留言管理界面

    3.4.4 新闻公共管理

    新闻管理由图片新闻和公告管理两个功能组成,如图3.18和图3.19所示。 第一个功能图片新闻模块,有三个小的功能组成。如图3.20添加新闻,添加新闻时输入新闻标题,选择要上传的图片,输入要说明的新闻内容。点击提交后,使用submit提交至表单,表单中设置了picNewAdd.action的提交路径,我们在struts.xml的配置文件中找到对应的方法,这里又将数据传送到picNewAction中进行处理,调用里面的picNewsAdd()方法将图片上传到数据库。使用将信息显示在jsp页面上;第二个小功能,删除图片新闻,这里点击删除后,先获取到新闻的ID,并将ID作为参数传递到方法中将这条新闻数据在数据库中删除。第三部分查看内容,点击查看内容后,将会获取新闻ID作为参数传递到方法中将新闻的内容信息显示在一个新的窗口中。

    第二个功能公告管理模块,这里也是分为添加公告,如图3.20所示,删除公告、查看公告、详细内容三个部分,实现方法和图片新闻功能模块一致。添加公告后将

    第 20 页 共 28 页

    中北大学2016届毕业设计说明书

    在数据库中自动生成一个公告ID,公告ID作为表示一条新闻的唯一主键,之后在查看公告详细内容以及删除公告内容时都会将公告ID作为参数,确保删除和查看数据时产生数据冲突。

    图3.18 图片新闻界面

    图3.19 公告管理界面

    图3.20 添加新闻和公告界面

    第 21 页 共 28 页

    中北大学2016届毕业设计说明书

    3.4.5 车次管理

    车次管理由车次信息和添加车次,如图3.21所示,两部分组成,其中第一部分点击车次信息过后将会把当前存在的所有车次,车票信息,时间,票价等信息从数据库中获取到显示在jsp页面当中,与管理员交互,让管理员一目了然的看清所有车次的信息。同时管理员可以修改当前已存在车次的信息,修改时先获取到当前修改的车次ID,让系统知道要修改的是哪一条数据,修改后调用action中的chiciEdit()方法将修改过后的信息放到数据库中完成车次信息的修改。管理员还可以对车次进行删除,这个也要依赖于获取到车次的唯一标识车次ID,通过这个在数据库中删除整条数据,达到删除整个车次的效果。在添加车次时,管理员要输入车次的路线、日期等信息,点击提交后数据库将自动生成一个唯一的车次ID,最后存储到数据库中,在前台页面中输出,显示在jsp页面中,方便用户查询。

    图3.21 添加车次界面

    3.4.6 订单管理

    订单管理,如图3.21所示,主要完成受理用户的订票信息,这里的状态有两种,一种是已受理状态1,另一种是未受理状态0。管理员可以删除订单,先获取到订单的编号,当点击删除后先让用户确定是否删除,当用户确定后将订单ID以参数的方式传到删除方法中,删除整个订单信息。当点击受理后,将获取到的订单号作为参数传到方法中,将未受理的状态0,通过setyudingzhuangtai()方法改变成已受理状态1,并将这个信息传送到数据库中,用户端也可以在数据库中获取到购票状态,完成购票。里面的用户信息和车次信息里面分别存储着预定的userID

    第 22 页 共 28 页

    中北大学2016届毕业设计说明书

    和预定的checiID,点击后将通过这两个参数从数据库中获取到用户详细信息和车次的详细信息。

    图3.21 订单管理界面

    3.5 本章小结

    本章主要整个项目做了详细的设计,对管理员和用户两个大的模块做了详细的设计和介绍,包括实现每个功能的函数方法,整个项目的框架实现,每个子功能的实现流程,从输入到录入数据库,再从数据库中获取显示在jsp页面中的详细过程。

    第 23 页 共 28 页

    中北大学2016届毕业设计说明书

    4 测试与调试

    4.1 测试与调试概述

    程序测试是说在程序中发现代码的错误,一一找到程序中的每个运行问题,逐一进行解决。程序的测试和调试对于一个项目的开发十分重要,在每进行一个小的功能编写后,就进行代码的测试,测试通过后在进行下一个功能模块的实现,这样做完之后,在最后进行整个程序调试时就会变得特别轻松。 4.2 程序功能测试

    4.2.1 测试主页访问是否成功

    打开浏览器,在地址栏中输入http://localhost:8080/chipiao/qiantai/default.jsp按下回车键,即会跳转到系统默认界面,表示登录主页测试成功。 4.2.2 测试用户注册功能

    在首页点击“注册”或者“免费注册”后,系统将会跳转到用户注册界面,用户输入注册信息后,点击“确定”按钮后,系统弹出“操作成功,本窗口将于3秒后自动关闭”的提示信息,并在数据库中可以查询到用户的注册信息,表示用户注册成功。

    4.2.3 测试管理员与用户登录功能

    进入到用户与管理员登陆界面,输入已注册用户信息,点击登陆后,如果成功跳转,则表示用户登陆成功;在输入错误的信息时,系统将会提示错误信息,表示整个用户登录功能能够正常使用。管理员登录测试与用户登录测试相同。 4.2.4 测试订购车票功能与车次管理功能

    用户点击自己所需要预定的车票,系统挑战到车票预定界面,选择支付方式点击确定后,在自己的订单信息中如果查询到车票信息(未受理状态),则表示订票成功,这时登录管理员,在车票受理中,点击受理车票,弹出“受理成功”的提示信息,并且在用户的订单信息中,车票状态变为已受理,则表示车票的订购功能能够正常使用;管理员在添加车次过后,在用户界面可以查询到新增加的车次,删除车次信息后,查询不到对应的车次信息。则表示车次添加功能和删除功能能够实现并使用。

    第 24 页 共 28 页

    中北大学2016届毕业设计说明书

    4.2.5 测试管理员管理功能

    管理员登录后,对新闻功能进行管理,在添加新闻过后,用户可以在初始界面查看到新添加的新闻信息,点击后可以进行预览,说明新闻管理功能可以正常使用,其他留言、公告等信息的管理和新闻测试方式一致,测试后,均可正常运行。 4.3 本章小结

    本章主要对整个项目的功能进行测试和调试,发现其中的不稳定因素和存在异常的功能,并想出办法进行解决,使项目能够流畅运行。降低了程序在真正使用时发生错误的可能性。

    第 25 页 共 28 页

    中北大学2016届毕业设计说明书

    5 结论

    经过一个学期对系统的设计和代码的编写完成了这个项目。本系统由用户模块和管理员模块两个大的功能模块组成,每个模块中包括多种子模块,实现子功能。整个系统使用SSH框架进行开发,使用Myeclicpse14作为开发工具,后台数据库使用SQL Server2014作为数据库存储数据,使用Tomcat7.x搭建Web应用服务器,提供系统运行环境和页面的访问功能。系统的操作相对简单,基本功能完全。

    本系统实现了以下功能:通过在浏览器地址栏中输入http://localhost:8080/chipiao/qiantai/default.jsp可以访问系统的主页面,在主页面用户可以实现用户的注册、登录、修改信息、查看新闻、车票预定、车票查询等功能;管理员可以在后台对车次信息修改添加、管理注册用户、管理新闻、受理订单等多项功能。

    项目开始做的时候,对火车票网上售票的流程不是特别了解,所以,在需求分析时这方面花了大部分时间,完成了系统所需要的基本功能。但是还有一个比较重要的问题没有解决,本系统是网上售票系统,应该考虑到适用人群的情况,很有可能有大量的用户同时访问服务器的情况出现,这时服务器就有可能面临崩溃的情况,所以在这方面这个系统还不是完善的。这里我通过在网上的查询找到了几个解决办法。第一个是HTML静态化,采用静态的HTML页面是效率最高,消耗最小的,这里可以使用信息发布系统CMS(Content Management System)来管理和实现,信息发布系统可以完成简单的信息录入和生成静态的HTML页面。第二个方法是图片和服务器分离,将图片单独存储到图片服务器中,减少图片对系统资源的消耗。第三个方法是数据库集群,简单来说就是增加服务器的数量。这里也是解决这个问题的常见方法。在后续还会继续学习。

    这次的毕业设计中,成功的将整个大学中学到的知识串联起来运用到了实际的开发中,在JavaWeb开发方面通过查询资料和专业课知识成功把理论转化成实践,加深了对专业课的理解,真正的体会到了老师说的“学的每一门课都是有用的”这句话的含义,获得许多宝贵的经验和经历。

    第 26 页 共 28 页

    中北大学2016届毕业设计说明书

    参 考 文 献

    [1] 李宁.Java Web开发技术大全[M] .北京:清华大学出版社,2009 [2] 谢茂森.铁路售票系统的设计与实现[D].电子科技大学,2007 [3] 陈雅丽.客运综合售票系统研究,长安大学硕士学位论文,2009

    [4] 蔡剑,景楠.Java Web 应用开发:J2EE 和 Tomcat[M].北京:清华大学出版社,2004

    [5] 铁路售票系统案例.中国学网,2009

    [6] 丁国良.Oracle DBA基础教程[M].北京:科学出版社,2005

    [7] 铁路客票发售系统和预定系统总体组,全路客票发售和预定系统3.0版,铁道部科学研究院,1999

    [8] 李刚.Strut2 权威指南[M].北京:电子工业出版社 2008

    [9] 刘重庆.国外铁路主要技术领域发展水平与趋势[M].北京:中国铁道出版社,2005

    [10] 刘智勇.JavaScript 开发技术大全[M].北京:清华大学出版社,2009 [11] 陈会安.JavaScript 基础与实例教程[M].北京:中国电力出版社,2007 [12] 王珊,萨师煊 数据库系统概论[M].北京:高等教育出版社,2007 [13] 明日科技.Java从入门到精通[M].北京:清华大学出版社,2012 [14] 刘爽英,张元.数据库原理及应用[M].北京:清华大学出版社,2013 [15] 郭克华.JavaEE程序设计与应用开发[M].北京:清华大学出版社,2011 [16] 段新娥,贾宗维.Java程序设计基础[M].北京:人民邮电出版社,2014 [17] Tero Ojanpra prasad著.宽带CDMA:第二代移动通信技术[M].北京:人民邮电出版社,2002

    第 27 页 共 28 页

    中北大学2016届毕业设计说明书

    致 谢

    随着这次毕业设计接近尾声,标志着我的大学生活也将要结束,距离离校的日期越来越近。从毕业设计的开始一直到现在都离不开老师、同学以及朋友的帮助,在这里表达我真诚的谢意!

    作为一个本科生,这次毕业实际对我来说真的是一个很大的挑战,大学所学的知识就不是很扎实,很多知识都是模棱两可,但是最后还是在同学和老师的帮助下完成这个项目的设计以及实现,从项目的开题、需求分析、中期代码的编写以及后期毕业设计说明书的撰写,从中收获了很多。

    在这里最想感谢的还是我的毕业设计导师XXX老师,在毕业设计中遇到困难是都能够细心指导,指明了毕业设计的大体方向,在系统开发的功能上也给出了许多指导和参考意见。平时老师的督促也使我的毕业设计能够及时完成,每个阶段完成每个阶段的任务,使毕业设计进行的非常有条理性。

    在此向所有帮助过我的老师、同学和朋友们说一声:谢谢!

    第 28 页 共 28 页

    因篇幅问题不能全部显示,请点此查看更多更全内容

    Copyright © 2019- zrrp.cn 版权所有

    违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

    本站由北京市万商天勤律师事务所王兴未律师提供法律服务