版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
PAGE4PAGE火车订票模拟系统的设计与实现目录TOC\o"1-3"\h\u69691引言 2228881.1研究背景及目的意义 2268701.2研究现状 2267941.3主要工作 3308222需求分析 338032.1功能性需求 3255782.2非功能性需求 679762.2.1易用性需求分析 6294762.2.2界面需求分析 618512.2.3安全性需求 6305293系统分析 6197103.1系统可行性分析 667313.1.1操作可行性 7181883.1.2经济可行性 7169583.2系统性能分析 7199603.3系统用例分析 7281024开发工具 8216634.1开发工具 8245104.2JSP技术 920664.3MySQL数据库 9225154.4B/S结构 9235265数据库设计 9191305.1数据库设计 9199445.2概念结构设计 10220925.3逻辑结构设计 12175426系统设计 15276676.1系统结构设计 15177746.2系统架构设计 1654486.3系统顺序图设计 16282067系统实现 19137117.1管理员功能模块实现 1999537.1.1管理员功能界面 198927.2用户功能模块的实现 2318317.2.1用户功能界面 2328190总结 2726621参考文献: 278198致谢 28摘要:随着互联网技术的不断发展,人们快捷的生活方式,使得传统人工购票方式越来越难以满足人民出行需求。为满足用户需求,需要开发一款能够查询出行车次和余票情况的火车票订购系统。在如今网络越发普及的时代下,本火车订票模拟系统通过以信息公开的方式促进现代网上订票系统的发展,解决人工售票带来的人流拥堵和票已售罄但用户并不知情等问题,达到节约时间、方便用户出行的效果。经过测试,系统运行稳定且占用运行较小,拥有实时的购票信息和简单易懂的操作页面,是一个实用性好、可维护性高的火车订票模拟系统。关键词:火车订票系统;JSP;MySQL数据库1引言1.1研究背景及目的意义近年来,随着国内网络热潮的不断崛起,截至到2022年二月底,互联网在中国的普及率可达73.0%左右。其加快了信息化管理进入虚拟网络世界的步伐,同时也逐渐被世人所熟知。现如今,互联网渗透于人们生活的每一个角落,一个查询快速方便、操作简单的火车订票平台正是亿万用户所迫切需要的。一个优质的网络订票系统应当提供丰富的订票信息资源,通过网络以信息公开的方式,推进网络订票系统(APP或小程序或网页)的发展和使用,以解决人工售票带来的人潮拥堵和票源信息蔽塞的问题,能够在极大程度上满足用户的购票需求,方便用户出行。其次,火车订票管理系统还将允许系统管理员随时快速、精准的更新列车进站和发车时刻表,有效帮助用户查询列车号、出发时间等具体细节。其一有利于减少传统人工管理造成的人力资源巨大消耗;其二将提高管理人员的工作效率,同时产品可靠性高,存储容量大等优点可提高预订信息查询管理的自动化。1.2研究现状据悉,目前旅客对于出行基本采用如下购票方式:拨打“95105105”电话购票、登陆12306网站购票、前往火车站购票在代售点购票。经调查统计,绝大部分群众认为网购火车票的方式最方便快捷。随着互联网的发展与普及,最大程度上带动了居民使用订票平台进行购票的基数。与此同时,随着我国经济的快速发展,交通运输系统的日益完善,人民的生活水平不断提高,越来越多的人开始倾向于带着家人出门游玩,也有很多人在为了工作四处奔波。因此,一款优秀的订票软件更加被大众所需求。在参考了专业网站问卷星上的有关文献和其对在校学生、农民工、社会人士、现役军人和其他人群的调查内容分析。大学生和农民工这两个群体虽不是基数最大的,但其具有鲜明的代表性,具有购票群体的共性,尤其在节假日期间。购票的方便程度严重影响其购票选择。在选择购买火车票的时候,网上购票成为了一种主要购票形式,火车订票系统能够及时的发布订票信息、快速订票、实时更新,不用排队也不必浪费过多时间,无论是否能够预定上票,都会事实信息通知,不会太过于揪心。现如今,上网方便,买票时间没有限制。调查研究表明,自从增加了网络订票,相比于传统的窗口排队购票,有50%的乘客认为网络购票更加的方便。在铁路客户服务中心官网登陆不上订票很难,尤其是在劳动节,十一黄金周、寒暑假和春运前夕,火车订票更加的困难。12306客服电话总是系统忙,95105105也多次因不明原因返回主菜单,并且无法接通人工客服。火车订票软件能够更加便捷高效的克服以上问题,因此,火车订票软件更适应市场需求。但在不熟悉互联网的人群中,繁杂的购票界面,对他们来说也是一项挑战,相对于其他购票系统而言,我的火车订票模拟系统简单操作,易于流通,较轻量化的设计能保证更好的稳定运行。1.3主要工作本系统使用SpringBoot框架,JavaScript和MySQL数据库,实现火车订票模拟系统,帮助公司成本管理,提供长久的依据,其研究内容主要涉及:后台数据库的表设计,数据的约束,前台页面及动态数据实现,后端采用SpringBoot框架快速搭建项目,SpringMVC框架快速web接口开发的研究。主要研究内容有:(1)依据需求进行分析,完成需求文档的编写,记录准备实现的功能模块。(2)根据功能模块,完成功能的流程图,时序图相关的设计。(3)选择SpringBoot框架,完成项目创建,依据MVC的原则,创建整体的项目结构。(4)根据功能模块,依据SpringMVC框架,完成接口的编写。(5)编写的接口,通过postman软件进行接口测试。(6)依据需求文档,通过HTML/JavaScript完成网页的设计。(7)获得接口数据,完成数据的展示,最终完善设计说明书。2需求分析随着交通的便利,国民经济能力的提高,各类群体或因学业、工作、旅行等原因而选择出行的基数较十年前大大提高。火车出行对比飞机轮船汽车有更明显的优势,这也给火车售票带来了更大的压力,在这种大环境下,订票系统能为传统购票模式起到分流的作用。他更加的方便快捷,节省人力物力。根据调研需求,将该火车订票模拟系统设计成前台用户订票与后台管理员管理,满足用户的注册登录、个人信息修改、公告信息查看、充值加购、订票退签等功能;同时方便管理员管理用户填写的个人信息、车次与公告信息、生成的用户订单信息等。2.1功能性需求本小节分析了系统的功能性需求。系统可以分为以下功能模块:用户登录和注册:新用户通过系统完成注册,然后返回登录界面进行登录;老用户直接登录即可。个人信息管理:用户能修改预留的手机号,重设密码等操作。订单信息管理:用户可以查询近期车票订单情况,若行程出现变更,可以进行退票或改签。公告信息:用户可以通过系统提供的查询功能进行相关火车票信息的检索,也可在系统推出的公告信息中进行选择。购物车:用户根据自己的行程安排,确定乘坐的火车车次后,将选中车次加入购物车进行充值购买。个人中心:用户可以进行充值储蓄等操作,也可以根据自身的使用情况为系统提供宝贵的整改意见。登录登录注册公告信息个人信息个人中心订单信息购物车图2-1用户功能模块加购加购订购订购情况订购成功部分成功充值余额不足订购失败登录车次查询车次信息需求车次添加个人信息否是是否是否图2-2用户基本操作功能管理员登录功能:可凭专用的账号和密码登录到后台对整个系统进行维护和管理。用户信息管理:能够显示用户注册时所填写的基本信息,可通过关键词查询指定用 户信息,管理员有权对用户信息进行禁用、启用、删除等相关操作。个人信息管理:可以查看和删除近期所有管理员登录记录,对本人登录密码可进行 修改。订单信息管理:可查看所有用户生成的订票信息、退票信息与对系统使用的评价信 息;管理员可对用户提交的改签申请进行审核。车次信息管理:对车次信息、车次类型等信息实时更新,并对相关线路站点信息进 行维护。网站管理:对网站推送公告进行更新,保证系统正常使用。登录登录网站信息个人信息车次信息订单信息用户信息图2-3管理员功能模块2.2非功能性需求2.2.1易用性需求分析表2-1系统易用性需求主要质量属性详细要求正确性所涉及的信息数据正确率必须达到98%以上健壮性应用程序界面简单,用户操作方便易用性录入信息快速,使用简单可扩展性能够很方便将新的其他功能集成到系统中兼容性兼容市面上主流浏览器2.2.2界面需求分析 现如今,各式各样的软件应用层出不穷。相对于其他界面而言,简约大气并具有特色的设计界面,可以更加快速的吸引用户的注意,也可以让用户在浏览页面的过程中感到舒适。与此同时,界面的设计也不应过于繁琐,由此用户便可以快速熟悉并掌握系统的基本操作。这样不仅能够吸引到更多的用户使用,还可以在满足用户需求的前提下提高工作效率。本系统采用JSP技术来实现动态网页的界面设计,更加方便用户的操作。2.2.3安全性需求 本系统主要目的是为用户出行提供方便,为了用户的信息安全,要时刻保障数据库数据安全,根据角色的不同设置相应的管理权限,管理员具有对数据操作的权限和用户管理的权限,用户只能有数据查看权限,仅有少量的信息修改权限如个人信息修改等,这样能够保证数据的安全性,完整性,一致性。3系统分析3.1系统可行性分析 通过在网上查找各种资料并结合自己对开发方面的学习,接下来分析本系统技术方面的实现难度。技术对于开发火车订票模拟系统设计与实现的成功与否至关重要。系统实现的技术不同,对开发人员的要求也千差万别,在开发本系统时充分的考虑了技术方面的问题。Java语言是大学主修的编程语言,SpringBoot框架是我们学习过程时所要具备的专业课程技术,已经具有熟练的开发基础。另外,通过详细的调查明确了用户的基本需求后,找到了多方面设计实现本系统模块的方法,做到了既满足用户需求的同时,也避免设计程序过程中因失误而导致系统错漏问题。3.1.1操作可行性 本系统是通过JSP技术来实现前台界面运行显示,相对于程序编写人员较为容易实现且编码简单。同时在前台界面中会加入一些信息提示来方便用户基本功能的操作,这样使得用户很容易就可以了解并且使用该平台,可以帮助用户加强对界面的使用与了解。3.1.2经济可行性本系统开发对使用电脑配置的要求相对较低,居户所有的电脑都能满足要求;且系统开发所涉及到的编写软件基本免费,有效降低开发所需成本;同时,大部分的人员都可以使用本系统,在控制开发成本的基础上降低投入精力。关于系统设计方面,用户订票所使用的小图标对计算机的配置要求不高,达到基础运算的计算机完全可以运行,所以本系统在成本上更具有优势和可行性。3.2系统性能分析此火车订票模拟系统对管理权限要求严谨,具体要求如下:1.对于用户来说,未注册账号,只可以查看和浏览一些车次信息,想进入本系统进行功能方面的操作,就必须注册账号,登录到本系统方可进行订票等功能方面的操作。2.角色不同权限不同,用户能登陆后只能进行前台的个人信息修改、车票查询和购票等基础操作,系统管理员可以对系统进行维护与管理。3.用户的个人基本信息、操作历史等私人信息,除管理员外,其他人无权查看访问。只有管理员有权限调取查看,由此来保障用户信息的安全。3.3系统用例分析根据系统所实现功能以用例图的方式来描述系统的行为以及各功能之间的关系,具体描述如下:图3-1用户用例图图3-2管理员用例图4开发工具4.1开发工具本系统使用idea软件进行开发,使用Tomcat服务器作为web服务器。idea是java语言的集成开发环境,我使用idea进行maven的配置,使用SpringBoot完成创建项目,完成自身项目结构和启动类,利用SpringBoot自带Tomcat。使用maven完成代码的打包部署。Tomcat是集成在SpringBoot中,主要是对项目中打包的jar文件发布到web服务器上进行读取。4.2JSP技术JSP是java公司开发的一种针对Servlet简化的标记语言,集成了HTML语言在我的项目中使用JSP标签,完成对数据的展示。Web服务的通过JSP页面获得请求,使用Servlet进行处理请求,然后响应回页面后使用JSP标签进行展示。4.3MySQL数据库本系统选择关系型数据库MySQL,首先选择MySQL数据库主要是因为能够满足我们系统的要求。其次是这个关系型数据库完全符合SQL规范,能够标准化使用SQL语句。我们从数据表设计完成,到SQL语句的编写都符合项目的需求。使用JDBC连接数据库,通过java进行对数据的操作,通过设计持久层的接口,完成功能的实现。4.4B/S结构B/S结构是目前比较流行的结构,我们使用java语言编程后台产需,使用JSP完成页面。不需要考虑C/S结构。这样通过浏览器对服务器的访问,就能轻松解决问题,避免软件安装的繁琐和配置。而且程序的运行稳定在服务端,客户只要有网络就可以访问,使用起来高效快捷。B/S的优势在于程序执行在服务器端即可,服务端只要没有以外,就是一直保持运行。程序部署也简单快捷,只需要将程序的文件打包成jar或war,放到tomcat服务器的发布文件夹中,让后服务端使用java–jar命令完成启动,项目就能稳定运行。不会对客户端产生任何文件。本文开发的火车订票模拟系统,就是基于B/S结构开发的,客户只要有浏览器就能完成对服务器上页面的访问。5数据库设计5.1数据库设计1.应具备的数据信息:应有用户注册登录、管理员登录、车次管理、公告推送、车票订单等有关信息。2.所要完成的数据处理要求:该系统对于用户来说,既要完成用户信息、车次公告信息、订票信息的查看,同时也要实现订票信息的添加、删除,修改。对于管理员,能够完成车次和途径点信息等信息修改,以及用户信息的管理。3.数据的有效保障:用户个人的基本信息和历史订单都属于重要信息,要保证信息安全,严禁外泄。5.2概念结构设计该概念结构设计将需求分析得到的用户需求抽象为信息结构,是整个数据库设计的关键,在概念结构设计中,E-R图是最常用的描述方法。1.管理员信息实体E-R图如图5-1所示:图5-1管理员信息实体E-R图2.公告信息实体属性E-R图如图5-2所示:图5-2公告信息实体E-R图3.订票信息实体属性图如图5-3所示:图5-3订票信息实体属性图4、用户信息实体属性图如图5-4所示:图5-4用户信息实体属性图5.系统E-R图如图5-5所示:图5-5系统E-R图5.3逻辑结构设计1)管理员信息表:通过账号登录进入系统后台运行界面进行管理,该表主要有编号、用户名、密码,如下表5-1所示:表5-1t_admin管理员信息表字段名数据类型默认值允许非空自动递增备注adminIdint(11)NO√编号adminNamevarchar(255)YES用户名adminPasswordvarchar(255)YES密码2)公告信息表:表中需要有编号、公告名称、公告详情、公告图片、图片名称、添加日期、公告分类ID、分类名称,如下表5-2所示:表5-2t_gonggao公告信息表字段名数据类型默认值允许非空自动递增备注gonggaoIdint(11)YES√编号ggtypeNamevarchar(255)YES公告名称gonggaoMarkTextYES公告详情gonggaoImgvarchar(255)YES公告图片gonggaoImgNamevarchar(255)YES图片名称gonggaoDatedatetimeYES添加日期ggtypeIdint(11)YES公告分类IDggtypeNamevarchar(255)YES分类名称3)订票信息表:表中需要有编号、订票名称、订票详情、日期、订票类型、订票图片、图片名称、用户ID、用户名,如下表5-3所示:表5-3t_shuju订票信息表字段名数据类型默认值允许非空自动递增备注shujuIdint(11)YES√编号shujuNamevarchar(255)YES订票名称shujuMarkvarchar(2550)YES订票详情shujuDateDatetimeYES日期shujuTypeint(11)YES订票类型shujuImgvarchar(255)YES订票图片shujuImgNamevarchar(255)YES图片名称userIdint(11)YES用户IDuserNamevarchar(255)YES用户名4)用户信息表:用户可通过填写表中的编号、用户名、密码、用户姓名等信息进行注册,如下表5-4所示:表5-4t_user用户信息表字段名数据类型默认值允许非空自动递增备注userIdint(11)YES√编号userNamevarchar(255)YES用户名userPasswordvarchar(255)YES密码userXingmingvarchar(255)YES用户姓名userSexint(11)YES性别userAgeint(11)YES年龄userMinzuvarchar(255)YES民族userPhonevarchar(255)YES联系电话userMarkvarchar(2550)YES用户详情userDatevarchar(255)YES添加日期userTypevarchar(255)YES用户分类userImgvarchar(255)YES用户头像5)登录日志表:用户与管理员登录记录都会有显示,本表中有编号、用户名、IP地址、登录时间,如下表5-5所示:表5-5t_rizhi登录日志表字段名数据类型默认值允许非空自动递增备注rizhiIdint(11)YES编号rizhiNamevarchar(255)YES用户名dengluIpvarchar(255)YESIP地址dateDatetimeYES登录时间6)公告类型表:前台的公告信息分为不同的类型,可帮助用户快速定位信息,本表中有编号、公告类型名称、公告类型详情,如下表5-6所示:表5-6t_ggtype公告类型表字段名数据类型默认值允许非空自动递增备注ggtypeIdint(11)NO√编号ggtypeNamevarchar(255)YES类型名称ggtypeMarkvarchar(255)YES类型详情7)途径点信息表:车次会途径不同的地方,对途径地点进行管理,该表需要有编号、途径点名称、途径点详情,如下表5-7所示:表5-7t_buyuan途径点信息表字段名数据类型默认值允许非空自动递增备注buyuanIdint(11)NO√编号buyuanNamevarchar(255)YES途径点名称buyuanMarkvarchar(255)YES途径详情8)管理员后台标题表:管理员登录到后台后,可以根据标题找到具体功能,表中有编号、标题名称、标题类型、标题顺序,如下表5-8所示:表5-8t_buyuan管理员后台标题表字段名数据类型默认值允许非空自动递增备注jcbiaotiIdint(11)NO√编号jcbiaotiNamevarchar(255)YES标题名称jcbiaotiTypeint(11)YES标题类型jcbiaotiPaixuint(11)YES标题顺序9)管理员后台导航表:表中有编号、功能名称、功能内容、功能顺序、功能类型,如下表5-9所示:表5-9t_buyuan管理员后台导航表字段名数据类型默认值允许非空自动递增备注jcdaohangIdint(11)NO√编号jcdaohangNamevarchar(255)YES功能名称jcdaohangNeirongvarchar(255)YES功能内容jcdaohangPaixuint(11)YES功能顺序jcdaohangTypeint(11)YES功能类型10)用户改签申请表:用户需要改变行程时,可申请车票改签,表中有编号、改签缘因、具体说明、提交改签的时间、改签状态,如下表5-10所示:表5-10t_sjjianchu用户改签申请表字段名数据类型默认值允许非空自动递增备注sjjianchuIdint(11)NO√编号sjjianchuNamevarchar(255)YES缘由sjjianchuMarkvarchar(255)YES说明sjjianchuDatedatetimeYES时间sjjianchuZongint(11)YES状态11)用户充值表:用户在购票前,需要进行充值,表中有编号、充值时间、充值金额、用户编号、用户姓名,如下表5-11所示:表5-11t_uxinxi用户充值表字段名数据类型默认值允许非空自动递增备注uxinxiIdint(11)NO√编号uxinxiDatedatetimeYES充值时间uxinxiDoublevarchar(255)YES充值金额userIdint(11)NO用户编号userNamevarchar(255)YES用户姓名12)订单信息表:用户购票之后会生成订单,表中有编号、订票人姓名、订票人身份证号码、手机号码、所订票的出发地、订票时间、订票金额等信息,如下表5-12所示:表5-12t_sjshaochu订单信息表字段名数据类型默认值允许非空自动递增备注sjshaochuIdint(11)NO√编号sjshaochuNamevarchar(255)YES用户姓名sjshaochuMarkvarchar(255)YES用户身份证号sjshaochuMark1varchar(255)YES用户手机号sjshaochuMark2varchar(255)YES出发地sjshaochuDatedatetimeYES订票时间sjshaochuDoubleint(11)YES金额6系统设计6.1系统结构设计火车订票系统主要是分为管理员和用户两个角色,采用B/S结构。该系统中所有功能都是通过浏览器发送请求到mvc-dispatcher-servlet.xml的配置文件中,找到对应的控制器类,然后利用反射原理创建对象,使用RequestMapping注解的url和请求地址一致找到对用的方法。然后我们使用Autowired注解,注入的DAO层的接口。将数据传给实体类。利用配置文件找到对应的mapper.xml里写的sql完成数据操作。最后我们讲返回的结果,通过ModleAndView返回视图解析器,将数据渲染到页面。控制器控制器mvc-dispatcher-servlet.xml*.JSP数据库图6-1系统结构图6.2系统架构设计基于系统角色进行功能划分,具体实现功能模块如下图6-2所示:火车订票模拟系统火车订票模拟系统管理员用户个人信息个人中心公告信息订单信息购物车个人信息车次管理网站管理订单管理用户管理图6-2系统架构图6.3系统顺序图设计顺序图可将用例图表达的需求转化为更加正式的精细表达,描述了如何实现类与类之间的方法调用过程,具体如下:首先需要绘制实体类、控制类与边界类表格。表6-1实体类实体类说明Admin管理员的基本信息User用户的基本信息Shuju车次的基本信息Rizhi登录记录信息Shaochu订单基本信息表6-2边界类边界类说明Loginjs注册登录界面Userjs用户的基本信息管理界面Shujusjs车次的基本信息管理界面Gonggaojs公告显示界面Shaochujs用户订单基本信息界面表6-3控制类控制类说明UserAction负责用户信息管理LoginAction负责角色登录管理ShujuAction负责车次信息更新ShaochuAction负责订单管理GonggaoAction负责公告信息管理依据上述表格完成顺序图设计如下。1.对用户信息管理顺序图:系统管理员输入账号与密码进行登录,数据库验证信息正确后,管理员则成功登录,可进入用户管理界面对用户信息进行相应操作,同时数据库也会更新数据信息。2.对车次信息管理顺序图:系统管理员进入后台车次信息管理界面,选择编辑某一车次信息,系统会完成对其增删改查等相应操作,并提供更改信息给数据库,确认无误后,数据库也完成更新。3.对后台数据管理顺序图:管理员可对系统数据进行相应维护操作,确认操作后,数据库完成数据更新。4.用户进行订票顺序图:用户通过登录界面输入信息,数据库检验信息是否存在后,显示登录成功。用户可以在主页面选择自己想要购买的票,系统会对其进行相应操作并将信息提供给数据库,用户确认完成后,数据会更新保存到数据库中。7系统实现7.1管理员功能模块实现7.1.1管理员功能界面1.车次信息是后台管理中最重要部分,管理员可在车次途径点界面,添加删除修改途径点信息与停留时间;车次类型界面可以添加类型信息;车次信息界面用于添加每个车次的基本信息,填入信息必须完整,帮助用户快速购票:主要代码:对于车次信息中的信息有添加删除的权力获取程序需要的数据进行一一校验,交与service处理逻辑,对数据库进行增删改查。@RequestMapping("/deleteShuju")
publicvoiddeleteShuju(HttpServletRequestrequest,HttpServletResponseresponse)
throwsException{
JSONObjectresult=newJSONObject();
StringdelIds=(String)request.getParameter("delIds");
try{
Stringstr[]=delIds.split(",");
for(inti=0;i<str.length;i++){
shujuService.deleteShuju(Integer.parseInt(str[i]));
}
result.put("success","true");
result.put("delNums",str.length);
ResponseUtil.write(response,result);
}catch(Exceptione){
e.printStackTrace();
}
}2.管理员可通过用户信息管理界面查看已注册用户的基本信息,对已注册用户账号能进行禁用、启用操作,可在用户充值界面查看所有用户的充值记录,在用户反馈界面查看用户使用本系统提出的意见:主要代码:在session中获取数据并进行解析交由service处理对数据库进行增删改查操作。publicvoiddaochuUyijian(HttpServletRequestrequest,HttpServletResponseresponse)
throwsException{
try{
Datedate=newDate();
Stringstrdate=DateUtil.formatDate(date,"yyyyMMddhhmmss");
StringexcelName=strdate+".xls";
StringmubanLujing="";
StringdaochuLujing=""+excelName;
StringdelIds=(String)request.getParameter("delIds");
JSONObjectresult=newJSONObject();
Stringstr[]=delIds.split(",");
List<List<String>>list=newArrayList<List<String>>();
Uyijianuyijian=newUyijian();
for(inti=0;i<str.length;i++){
List<String>row=newArrayList<String>();
uyijian=uyijianService.getUyijian(Integer.parseInt(str[i]));
row.add(TypeUtil.toString(i+1));
row.add(uyijian.getUserName());
row.add(uyijian.getUyijianMark1());
list.add(row);
}
if(ExcelUtil.daochuExcle(list,mubanLujing,daochuLujing)){
result.put("success","true");
ResponseUtil.write(response,result);
}else{
result.put("success","true");
result.put("errorMsg","导出Excel出错!");
ResponseUtil.write(response,result);
}
}catch(Exceptione){
e.printStackTrace();
}
}订单信息管理可对用户订票信息、退票信息、改签申请和评论信息进行管理,管理员可查看所有用户生成的订票信息、退票信息与对系统使用的评价信息,可对用户提交的改签申请进行审核:主要代码:publicvoidsjlaiyuanComboList(HttpServletRequestrequest,HttpServletResponseresponse)
throwsException{
request.setCharacterEncoding("UTF-8");
response.setCharacterEncoding("UTF-8");
StringsjlaiyuanType1=(String)request.getParameter("sjlaiyuanType1");
StringsjlaiyuanType=(String)request.getParameter("sjlaiyuanType");
Sjlaiyuansjlaiyuan=newSjlaiyuan();
try{
if(StringUtil.isNotEmpty(sjlaiyuanType)){
sjlaiyuan.setSjlaiyuanType(Integer.parseInt(sjlaiyuanType));
}
if(StringUtil.isNotEmpty(sjlaiyuanType1)){
sjlaiyuan.setSjlaiyuanType1(Integer.parseInt(sjlaiyuanType1));
}
JSONArrayjsonArray=newJSONArray();
JSONObjectjsonObject=newJSONObject();
jsonObject.put("id","");
jsonObject.put("sjlaiyuanName","请选择...");
jsonArray.add(jsonObject);
jsonArray.addAll(JSONArray.fromObject(sjlaiyuanService.querySjlaiyuans(sjlaiyuan,
0,0)));
ResponseUtil.write(response,jsonArray);
}catch(Exceptione){
e.printStackTrace();
}
}7.2用户功能模块的实现7.2.1用户功能界面登录界面需要选择角色登录,管理员有指定的密码和账号直接登录即可;用户分为新老用户,老用户可直接进行登录,新用户需点击注册,填写基本信息,注册成功后返回登录界面通过正确的用户名与密码进行登录:主要代码:注册功能是通过获取输入框中的数据赋值给对象,进行验证验证成功后存入数据库。登录为获取输入框的数据进行对比,对比成功后进行页面跳转,失败显示相应提示。publicList<List<Jcdaohang>>jiazaiDaohang(List<Jcbiaoti>jcbiaotis){
List<List<Jcdaohang>>jcdaohangslist=newArrayList<List<Jcdaohang>>();
for(inti=0;i<jcbiaotis.size();i++){
List<Jcdaohang>jcdaohangs=newArrayList<Jcdaohang>();
Jcdaohangjcdaohang=newJcdaohang();
jcdaohang.setJcdaohangType1(0);
jcdaohang.setJcbiaotiId(jcbiaotis.get(i).getJcbiaotiId());
jcdaohangs=jcdaohangService.queryJcdaohangs(jcdaohang,0,0);
jcdaohangslist.add(jcdaohangs);
}
returnjcdaohangslist;
}用户的个人中心界面包括个人信息、购物车、订票信息等,是整个设计必须要完成的功能,可以根据要求对个人信息进行修改,能够进行不同金额的充值,用以购买加入购物车或收藏的车票;同时该模块也可查看本人出行订票退票改签等情况:主要代码:用户充值需要在session中获取数据并进行解析交由service处理,对数据库进行增删改查。publicvoiddaoruUxinxi(HttpServletRequestrequest,HttpServletResponseresponse,MultipartFileuploadFile)
throwsException{
try{
Stringdirectory="/file";
StringtargetDirectory=request.getSession().getServletContext().getRealPath(directory);
StringfileName=uploadFile.getOriginalFilename();
Filedir=newFile(targetDirectory,fileName);
if(!dir.exists()){
dir.mkdirs();
}
//MultipartFile自带的解析方法
uploadFile.transferTo(dir);
excelFile=newFileInputStream(dir);
List<List<String>>list=newArrayList<List<String>>();
list=ExcelUtil.jiexiExcel(excelFile);
for(inti=1;i<list.size();i++){
List<String>row=list.get(i);
StringuxinxiName=row.get(0);
StringuxinxiMark=row.get(1);
StringuxinxiMark1=row.get(2);
StringuserId=row.get(3);
Uxinxiuxinxi=newUxinxi();
if(StringUtil.isNotEmpty(uxinxiName)){
uxinxi.setUxinxiName(uxinxiName);
}
if(StringUtil.isNotEmpty(uxinxiMark)){
uxinxi.setUxinxiMark(uxinxiMark);
}
if(StringUtil.isNotEmpty(uxinxiMark1)){
uxinxi.setUxinxiMark1(uxinxiMark1);
}
if(StringUtil.isNotEmpty(userId)){
uxinxi.setUserId(Integer.parseInt(userId));
Useruser=newUser();
user=userService.getUser(Integer.parseInt(userId));
uxinxi.setUserName(user.getUserName());
uxinxi.setBumenId(user.getBumenId());
uxinxi.setBumenName(user.getBumenName());
uxinxi.setBuyuanId(user.getBuyuanId());
uxinxi.setBuyuanName(user.getBuyuanName());
}
Datedate=newDate();
uxinxi.setUxinxiDate(date);
uxinxiService.save(uxinxi);
}
JSONObjectresult=newJSONObject();
result.put("success","true");
ResponseUtil.write(response,result);
}catch(Exceptione){
e.printStackTrace();
}
}3.用户在前台界面可查看所有关于订票的信息,包括系统推荐的最新公告,可点击查看详 情进行操作,操作过程中系统会提供友情提示:主要代码:管理员进行数据上传,如果有则按照id进行操作,否则
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年地铁安检员专业面试题及答案
- 2026年天然放射性辐射防护试题含答案
- 2026年金融理财师AFP认证考试模拟题含答案
- 2026年金融消费者权益保护题含答案
- 2026年上交所期权基础知识点测评练习题及解析
- 2026年蚌埠经济技术职业学院单招职业技能笔试备考题库带答案解析
- 2026年福建幼儿师范高等专科学校高职单招职业适应性考试备考题库带答案解析
- 2026年银行笔试货币银行学基础题库含答案
- 2026年中级群众文化面试高频考点梳理及配套训练题含答案
- 2026年金属腐蚀与防护面试题及答案
- 工程伦理-形考任务四(权重20%)-国开(SX)-参考资料
- 工伤的事故调查报告
- 酒店年终总结汇报
- 《无人机地面站与任务规划》 课件 第1-5章 概论 -无人机航测任务规划与实施
- DB42∕T 2078-2023 红火蚁监测与防控技术规程
- 道路工程样板引路方案(3篇)
- 员工年度考核证明模板范本
- 2025至2030中国掩模对准系统行业项目调研及市场前景预测评估报告
- 2025年部编版二年级语文上册全册单元复习课教案(共8个单元)
- 2025-2030中医养生培训行业市场格局及增长趋势与投资价值分析报告
- 污水处理厂管网调度与优化方案
评论
0/150
提交评论