【基于Jsp+Mysql+Spring+hibernate的SSH自驾游管理系统设计12000字】_第1页
【基于Jsp+Mysql+Spring+hibernate的SSH自驾游管理系统设计12000字】_第2页
【基于Jsp+Mysql+Spring+hibernate的SSH自驾游管理系统设计12000字】_第3页
【基于Jsp+Mysql+Spring+hibernate的SSH自驾游管理系统设计12000字】_第4页
【基于Jsp+Mysql+Spring+hibernate的SSH自驾游管理系统设计12000字】_第5页
已阅读5页,还剩55页未读 继续免费阅读

下载本文档

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

文档简介

基于Jsp+Mysql+Spring+hibernate的SSH自驾游管理系统设计摘要随着互联网的不断发展,数据库技术的相关应用不断地深入到每个行业的方方面面,大数据时代的浪潮下,数据库也在自驾游,旅游行业被广泛运用,而人们出行的路线查询,酒店预订也是数据库的应用成果,因此设计出一个自驾游的管理系统,对于人们出行的便利有了极大的提升。本自驾游管理系统是结合了现有知识和数据库的相关内容,设计一个完整的架构,解释了用户的需求与具体的应用。本自驾游管理系统主要是基于Spring框架,用java语言、HTML、JavaScript、Css、hibernate等技术来实现,通过MySQL调用数据库。系统的主要功能包括,用户查询酒店信息,预订酒店和景点门票,并且可以就服务打分。自驾游系统的开发是对如今互联网的一中补充,撰写论文是联系实际,系统的设计提高了用户的便捷性和操作性,由论文的论述可以更好的实现自驾游系统的普及,加深知识与实际应用的结合,运用于互联网的方方面面。关键词:自驾游管理系统;数据库;JavaScript;信息查询目录第1章绪论 11.1研究的背景和意义 11.2国内外研究现状 11.3研究的主要内容 2第2章自驾游管理系统相关技术介绍 42.1java相关理论介绍 42.2服务器端技术介绍 42.2.1MySQL介绍 42.2.2SSH框架介绍 6第3章自驾游管理系统需求分析 63.1系统可行性分析 63.1.1系统的操作可行性分析 63.1.2系统的技术可行性分析 73.1.3系统的经济可行性分析 73.2系统需求分析 73.3功能模块设计 83.3.1管理员模块功能 93.3.2用户模块功能 9第4章自驾游管理系统的服务端设计 104.1数据库需求分析 104.2自驾游系统数据库结构设计 104.2.1数据库实体关系图 114.2.2数据库逻辑结构设计 12第5章自驾游管理系统的实现 135.1用户功能模块 135.1.1游客注册功能 135.1.2游客登录功能 145.1.3游客查询景点功能 155.1.4游客查看系统公告功能 175.1.5游客留言功能 175.1.6游客新闻资讯查看功能 195.1.7游客景点类别查询功能 205.1.8游客旅游线路查看功能 205.1.9游客景点订票、评价、查看酒店预订功能 215.1.10游客信息管理功能 235.2管理人员后台管理 255.2.1管理员的登录功能模块 265.2.2管理员的修改密码功能 285.2.3管理员的用户管理功能 285.2.4管理员的类别管理功能 305.2.5管理员的景点管理功能 325.2.6管理员的订票管理功能 335.2.7管理员的酒店预订管理功能 345.2.8管理员的留言管理功能 365.2.9管理员的新闻资讯管理功能 395.2.10管理员的系统公告管理功能 405.2.11管理员的线路管理功能 41结论 43参考文献 44第1章绪论1.1研究的背景和意义随着互联网的不断发展,过去二十多年人们生活水平的提高,使得如今出行住宿在互联网上的预订十分方便,使得人们能足不出户使用互联网预订景区门票。互联网技术这突飞猛进的十年,越来越多的改变了人们的生活,深入人类生活的每一个方面。而目前最为火爆的就是人们驾驶自己的汽车去自驾游。近些年来,类似飞猪,马蜂窝,去哪儿等软件都是最热门的旅行软件,因此旅游出行之前参考酒店是很有必要的。在互联网时代,如何有效的调用资源使用,改革创新来实现对自驾游出行的酒店预订,景区推荐,玩乐的需求,完善对用户的面对面的需求,保证软件的用户使用人性化。本系统旨在对自驾游出行攻略的查看更加简单化,便捷化,高效化,使出行变得更加便捷!信息在互联网上互联也是实现自驾游的主要内容!2020年中国上网人数9.89亿人,中国汽车驾驶人数4.18亿人次,便捷的信息传递和汽车的普及造就了如今最主流的出行的方式—自驾游。因此相对应的管理系统应运而出,适应时代的变化,使得如今人们的旅游防守更加简洁方便。本管理系统能够解决游客对景区订票,消除在景区繁琐排队等票的时间,且游客能在不出门的情况下提前预定几天后游玩的景区门票,并且可以预订景区酒店的客房,选择自己满意的房间,这样大大提升了自驾游的舒适性。此管理系统有着与之前的传统旅行方式有着极大的便捷性!大大提高了景区人流量,并且降低了管理的成本!1.2国内外研究现状国内研究现状近些年来,我国旅游市场激增,大到奥运会,世界杯等大型赛事吸引游客,小到当地政府创办文明城市,开发景点提高城市竞争力,为城市带来人流量和大量的消费,在此背景下,我国的旅游管理系统也蓬勃发展,其中分为三个方面。一以各地方官网首页为主的旅游系统:其主要是主打当地的特色旅游景点,附带的推荐当地比较有特色的的酒店,小吃!其对于系统的管理具有局限性,但对于当地的景点的介绍很专业。二:以各种出行APP所覆盖的旅游管理:类似于高德地图、百度地图之类的主要是负责导航的软件,由于此类软件希望覆盖更多的功能,会有定位地点附近的景点,酒店的详细信息,此类系统是我国自驾游所使用的第二多的旅游信息软件,具有信息覆盖广,及时的特点,但往往此类软件的旅游信息不够全面,信息的更新不够迅速,但是由于此类软件的用户逐渐增多,这种方式已越来越占据市场份额。三专业的旅游软件:其主要的的软件—去哪儿网、携程、飞猪都是如今最为受欢迎的旅游软件,其对旅游信息的管理全面而精确,软件内有各大景点的详细介绍和游客撰写的攻略,其对陌生的游客的帮助很大。此类软件的酒店信息很全面自带酒店地址和导航,有用户对酒店的评价和打分,因此这类软件是人们出行的首选,并且牢牢地占据着市场主要的份额。如今相比于老旧的旅行社包团的方式去旅游,如今的人们选择的出行方式大部分都与互联网紧密结合,带了巨大的人流量,也对一些不知名景点的挖掘带来了很大的帮助,如今我国的旅游业市场不断地增长很大原因来源于人民生活水平的不断提升和互联网给我们的信息化,便捷化的使用模式。国外研究现状互联网革命距今已经半个世纪,自驾游的方式也逐渐变化,由于西方国家的经济发达,其国民的汽车占有率很高,并且以美国为例子,美国人出行的最主要方式是汽车和飞机,自驾游相对于他们更是最普通的一种出行方式,因此互联网的自驾游的管理方式在美国起步很早。占据其市场份额最大的是Google地图,谷歌是最大的科技公司之一,其对市场的布局覆盖在对人们生活必须软件的方方面面,因此人们自驾游出行大部分选择使用谷歌地图导航和预定酒店。谷歌所使用的信息管理系统是分层的,其使用了与大数据息息相关的谷歌云,将用户信息存储在云端,使得更了解用户的相关喜好,极大的提升了出行的便捷性和定位精度。1.3研究的主要内容设计一套具有可操作性、简洁性、便捷性的自驾游管理系统,该系统分为管理员用户两种模式,管理员和用户拥有不同的权限。完成此系统的宗旨是为如今最主要出行模式的自驾游设计出一套贴合用户需求的管理系统。此系统的开发是基于java+MySQL+JavaScript+SSH的模式,主要实现自驾游的酒店预订,景区信息和预订,旅游路线的规划,景区酒店的评价,景点的查询等功能。第2章自驾游管理系统的相关技术介绍本章主要介绍基于java的自驾游管理系统所设计的相关技术的介绍,主要对java语言,MySQL数据库架构,SSH框架进行了介绍。2.1java相关理论介绍Java语言是一种强类型的语言,其一共具有十大特点,分别为:简单性、面向对象、分布性、编译性、稳健性、安全性、可移植性、高性能、多线索性。动态性。简单性:java继承了c++语言的有点并且摒弃了c++中鼻尖繁琐的继承,指针等概念,学习起来十分简单且十分方便,如今java语言成为了最主流的编程语言之一。面向对象:java是一种面向对象的语言。分布性:java支持在网络上应用,也就是说java所编写的程序可以在网络上到处运用,属于分布式语言。编译性指的是java编译程序生成字节码而非机器码,这极大的提高了Java的开发速度。稳健性:JAVA语言具有高可靠性,所以现在很多第三方的软件类似银行,股票系统都是由java语言编写的。安全性:java的最突出特点在于其存储分配模型具有很高的保密度和安全性,所以目前很多的高安全级别的开发使用java开发。可移植性:java不依靠于特定的操作平台,它适配于所有的操作系统。高性能:java可以实现及时编译,由此实现全编译。多线索性:java可以同时执行多个程序,处理多个不同的任务。动态性:java的动态性体现在反射机制,动态字节码操作,动态编译上。2.2服务器端技术介绍2.2.1MySQL介绍MySQL是一个关系型数据库管理系统,由瑞典MySQLAB公司开发。MySQL具有很多吸引人之处,其中最主要的几个特点有价格免费:是一款完全免费的数据库管理系统。简单便捷:MySQL与其他的数据库管理系统相比操作更加方便简洁,复杂度更低。支持查询语言:MySQL可以利用SQL(是一种所有现代数据库系统都选用的语言)。体积小:MySQL软件的体积小巧,安装使用简单且易于维护。适配性:支持多种操作系统,提供多种api接口,支持多种开发语言定制:MySQL采用了GPL协议,你可以修改源码来开发自己的MySQL系统。2.2.2SSH框架介绍SSH框架简单的说就是struts+spring+hibernate的一个集成框架,是目前很流行的web应用程序开源框架,SSH不是一个框架而是把多个框架紧密结合,构建起多层的web应用程序,其分为四个层次:表示层、业务逻辑层、数据持久层和域模块层。1、表示层:首先使用JSP页面实现交互界面,负责传送请求和接受响应,然后Struts根据配置文件将接收到的传送请求委派给相应的Action处理。2、业务层:在此层中,管理服务组件SpringIOC容器负责先Action提供业务模型组件和该组件的协作对象数据处理组件完成业务逻辑。3、持久层:在这层hibernate的对象化映射和书籍库交互,处理对象数据处理组件请求的数据,并且返回数据结果所以采用SSH框架,实现了视图、控制器和模型的彻底分离也实现了业务逻辑层和持久层的分离。因此前端和数据库之间分离开,提高了系统的复用性。且由于不同层的耦合层度小,开发成员可以并行工作,提好了开发线率。第3章自驾游管理系统需求分析本章是对自驾游管理系统的可行性进行分析,具体分析了各个方面的可行性并对系统的3.1系统可行性分析3.1.1系统的操作可行性分析在现在便捷化得信息时代,大数据显示自驾游已成为市场上最热门的旅游出行方式,因此为了贴合自驾游的旅行方式,设计一款自驾游管理系统时很符合市场的需求的。本课题研究的自驾游管理系统是给对于自驾游的旅客进行路线,住宿,游玩全方面的服务管理。因为一般自驾游的旅客都对网络操作很熟悉,且有很大的依赖性,因此综上所述,设计这款自驾游管理系统有很强的实用性,能给旅客带来更舒适、便捷的旅行体验。3.1.2系统的技术可行性分析本系统主要是由JavaScript技术语言开发,系统网页框架使用HTML和CSS技术,由第二章所述,MySQL是一个兼容性,适配性很强的数据库管理系统,用于管理系统的数据库存储在表中,降低了系统的复杂层度。本系统使用的SSH框架,偏向于配置开发,其中hibernate对JDBC的完整封装更加偏向于面对对象,对数据库增删改查维护更加自动化,且hibernate的数据库移植性很好。因此与SSM框架相比,SSH对于系统的配置开发,对系统数据的处理更加智能。所以从技术可行性上看是可以进行管理系统的开发的。3.1.3系统的经济可行性分析目前旅游市场人数每年稳步增加,互联网技术的不断进步,大数据网络已经覆盖到生活的每个角落,因此考虑到该系统的成本,维护,收益三大部分进行分析。成本:本系统使用的MySQL,SSH框架都是开源的且免费的,因此这方面的成本可以忽略,本系统使用的开发工具eclipse是网上可以下载的免费版本,主要用于java,JSP的开发,这方面的成本也是比较低廉的,主要的成本来源于工作人员的费用,构建服务器的费用,硬件所必须的花费。维护:维护的花费来自于硬件的老化与更换,由于SSH框架的稳定与自动化的维护数据库的增删改查,这方面更节约了工作人员维护系统的花费。收益:收益来自于游客的访问、购买服务的花费,大型的专业公司购买的相关专业旅游项目,网页系统上的相关广告带来的收益。因此设计自驾游管理系统的经济方面是完可行的。3.2系统需求分析2019年中国自驾游人数超过了60亿人,旅游收入57251亿元,这种旅游业市场急速增长而传统的自驾游管理模式已经跟不上人们的需求了,因此设计一种高效率的管理系统是很有必要的,这种与过去的旅行模式的不同。过去的自驾游旅行方式是,旅客需要自己去查旅行的路线,需要去网络上查看景区资料,住宿更是必须到当地慢慢寻找,这种方式带来的是低效率且繁琐的。而如今的自驾游方式是可以直接在系统网页内了解景区的特色,直接预订当地的酒店,规划好行经路线,大大节约了游客的时间和成本。3.3功能模块设计系统主要是分为用户模块和管理员模块,每个模块包含不同的功能需要对不同的模块进行具体设计自驾游管理系统自驾游管理系统管理员端用户端用户登录注册游客用户管理管理用户信息在线预订酒店房间管理员账号管理在线预订景区门票撰写体验评价查询景点酒店登录管理后台景点类别管理 酒店预订售票管理留言系统公告管理旅行线路管理 图3-1自驾游管理系统整体功能结构图3.3.1管理员模块设计管理员角色包含的功能:1、管理员可以的进入登录界面,输入账号密码,登录到系统的管理界面。2、管理员进入登录界面后,可以有九个模块进行管理,分别是:景点管理,订票管理,酒店预定管理,用户管理,留言管理,系统公告管理,线路管理,类别管理,新闻资讯管理。3、管理员在景点管理中可以编辑景点信息,景点的图片,景点附近酒店,景点地址,门票价格,也可以删除景点信息。4、订票管理:管理员可以删除用户的景区订票信息也可以受理订票信息。5、酒店预定管理:管理员可以删除或者受理用户办理酒店的入住信息。6、用户管理:管理员可以删除已经注册的用户信息。7、留言管理:管理员可以选着删除或者回复用户的评价留言。8、系统公告管理:管理员可以添加新的系统公告或者进行删除之前的公告。9、线路管理:管理员可以添加新的旅游线路或者删除之前的线路。10、类别管理:管理员可以添加新的景区类别,方便用户查找。11、新闻资讯管理:可以添加或删除新闻资讯。12、管理员在管理员管理中可以添加后台的管理员也可以删除现有的管理员权限3.3.2用户模块设计用户角色包含的功能:1、未登录的用户可以直接进入系统的首页,若果没注册账号可以注册后登陆,为登陆的用户要进入注册界面。2、用户进入注册界面要填写详细的用户名、密码、姓名、性别、住址、邮箱和电话号码进行注册,用户注册完成后进入登录界面,输入用户名和密码,点击登录按钮。3、用户登录后可查看景点和酒店,点击选择的景点或酒店图片,点击在线预订按钮,选择预定的门票数量和日期。4、用户可以点击系统公告,查看公告栏上的内容。5、用户可以在系统留言板上留言。6、用户可以再新闻资讯栏,了解相应的内容。7、用户可以点击旅游线路,在线报名不同的旅游项目。8、用户可以根据景点类别找到相应的景点。9、用户可以直接查询景点和酒店信息。10、用户可以点击景点图片进行订票和查看附近酒店,也可以在线进行评价。11、用户可以在管理中心修改自己的信息、取消自己的景区订票、取消自己的酒店预订、取消自己的旅游线路报名。自驾游管理系统的概要设计4.1数据库需求分析用户和管理员都需要对信息进行删除、修改、添加、查询的操作,因此数据库的使用是必须的,数据库为整个系统提供数据,顾采用MySQL这种免费小巧灵活适合小型系统开发的数据库管理系统。4.2自驾游系统数据库结构设计由于可行性分析、需求分析和具体的模块设计可以得出的数据库的实体关系有:用户实体关系、景区订单实体关系、酒店实体关系,旅游线路实体关系。4.2.1数据库实体关系图图4-1数据库总实体关系图4.2.2数据库逻辑结构设计基于Jsp+Mysql+Spring+hibernate的SSH自驾游管理系统使用MySQL数据库来管理数据,由各个功能所需要的数据来制作管理数据表。(1)管理员信息表(t_admin)管理员信息表主要用于保存系统管理员的信息,主要字段包括:管理员ID、登陆账号、登陆密码。表4.1管理员信息表(t_admin)列名数据类型长度允许空是否主键说明userIdint10否是管理员IDuserNamevarchar50否否登陆账号userPwvarchar50否否登陆密码(2)用户信息表(t_user)注册用户信息表主要保存注册的用户的相关信息。表4.2用户信息表(t_user)列名数据类型长度允许空是否主键说明user_idint10否是用户IDuser_namevarchar50否否姓名user_pwvarchar50否否密码user_realnamevarchar50否否帐号user_addressvarchar50否否地址user_sexvarchar50否否性别user_emailvarchar50否否邮箱user_telvarchar50否否电话(3)新闻资讯信息表主要是记录了新闻资讯的基本信息,其中ID是主键,表结构如图3.3所示。表4.3新闻资讯信息表(t_xinwen)列名数据类型长度允许空是否主键说明idint4否是新闻资讯IDbiaotivarchar50否否标题neirongvarchar5000否否内容fujianvarchar50否否附件地址shijianvarchar50否否发布时间(4)类别信息表主要保存系统类别的相关信息。其中ID是主键,表结构如图3.4所示。表4.4类别信息表(t_leibie)列名数据类型长度允许空是否主键说明idint4否是类别IDmingchengvarchar50否否名称(5)景点信息表主要是记录了景点的基本信息,其中ID是主键,表结构如图3.5所示。表4.5景点信息表(t_jingdian)列名数据类型长度允许空是否主键说明idint4否是景点IDnamevarchar50否否名称dizhivarchar50否否地址menpiaovarchar50否否门票价格jieshaovarchar5000否否介绍fujianvarchar50否否附件地址LeibieIdint50否否类别ID(6)酒店信息表主要是记录了管理员发布的酒店信息,其中ID是主键,表结构如图3.6所示。表4.6酒店信息表(t_jiudian)列名数据类型长度允许空是否主键说明idint4否是酒店IDmingchengvarchar50否否名称jieshaovarchar5000否否介绍dianhuavarchar50否否电话dizhivarchar50否否地址jingdianIdint4否否景点ID(7)预定信息表主要记录了预定的相关信息,表结构如表3.7所示。表4.7预定信息表(t_yuding)列名数据类型长度允许空是否主键说明idint4否是预定IDjiudianIdint4否否酒店IDuserIdint4否否用户IDrizhurivarchar50否否入住日期kehumingvarchar50否否客户姓名dianhuavarchar50否否电话beizhuvarchar50否否备注ztvarchar50否否状态(8)订票信息表主要记录了订票的相关信息,表结构如表3.8所示。表4.8订票信息表(t_dingpiao)列名数据类型长度允许空是否主键说明idint4否是订票IDjingdianIdint4否否景点IDuserIdint4否否用户IDzhangshuint4否否张数kehumingvarchar50否否客户姓名dianhuavarchar50否否电话songpiaodivarchar50否否送票地址beizhuvarchar50否否备注ztvarchar50否否状态(9)评价信息表主要记录了评价的相关信息,表结构如表3.9所示。表4.9评价信息表(t_pingjia)列名数据类型长度允许空是否主键说明idint4否是评价IDjingdianIdint4否否景点IDneirongvarchar50否否内容shijianvarchar50否否时间(10)留言信息表主要记录了留言的相关信息,表结构如表3.10所示。表4.10留言信息表(t_liuyan)列名数据类型长度允许空是否主键说明idint4否是留言IDxingmingvarchar4否否姓名zuzhivarchar4否否住址youxiangvarchar50否否邮箱neirongvarchar50否否电话dianhuavarchar50否否电话shijianvarchar50否否时间自驾游管理系统的实现本章主要讲述管理员和用户两种模块功能的具体实现。5.1用户功能模块用户功能模块主要包括注册账号、登录账号、预订景点、预定酒店、查看公告栏,在系统板留言、查看新闻资讯、查看旅游线路、查询景点、查看景区类别、在线评价、订单管理、信息管理。5.1.1用户注册功能的实现打开自驾游管理系统,预订景点门票时第一步就是用户注册,如果已经注册就可以直接登陆,如果没注册就必须先注册才能使用该系统。点击系统的注册界面,如下图所示。图5-1用户注册页面如图所示,用户必须填写自己的账号、密码、姓名、性别、住址、电话号码、邮箱才能进行注册。点击注册后数据会被保存在数据库的数据表中。其实现的代码为:publicStringuserReg() { TUseruser=newTUser(); //user.setUserId(userId); user.setUserName(userName); user.setUserPw(userPw); user.setUserRealname(userRealname); user.setUserSex(userSex); user.setUserAddress(userAddress); user.setUserTel(userTel); user.setUserEmail(userEmail); user.setUserDel("no"); userDAO.save(user); this.setMessage("注册成功,请登陆"); this.setPath("qiantai/userinfo/userLogin.jsp"); return"succeed"; }5.1.2用户登录功能的实现用户进入登录界面,输入注册的账号密码,则成功登陆,若账号密码错误则显示账号密码错误,无法登陆。点击登录按钮,数据会由按钮导入到数据库的数据表中。图5-2用户登录功能如页面所示,系统会首先判断是用户登录还是管理员登录,userType==0这则是管理员登录,userType==2则是用户登录,登录时需要输入用户名和密码其代码如下:

if(userType==0)//系统管理员登陆

{

String

sql="from

TAdmin

where

userName=?

and

userPw=?";

Object[]

con={userName,userPw};

List

adminList=adminDAO.getHibernateTemplate().find(sql,con);

if(adminList.size()==0)

{

result="no";

}

else

{

WebContext

ctx

=

WebContextFactory.get();

HttpSession

session=ctx.getSession();

TAdmin

admin=(TAdmin)adminList.get(0);

session.setAttribute("userType",

0);

session.setAttribute("admin",

admin);

result="yes";

}

}

if(userType==1)

{

}

if(userType==2)

{

String

sql="from

TUser

where

userName=?

and

userPw=?

and

userDel='no'";

Object[]

con={userName,userPw};

List

userList=userDAO.getHibernateTemplate().find(sql,con);

if(userList.size()==0)

{

result="no";

}

else

{

WebContext

ctx

=

WebContextFactory.get();

HttpSession

session=ctx.getSession();

TUser

user=(TUser)userList.get(0);

session.setAttribute("userType",

2);

session.setAttribute("user",

user);5.1.3游客查询景点功能实现景区的查询功能是由文本框和查询按钮调动数据的查询功能,比如输入景点名称、酒店名称、或者景点地点就可以进行查询,其运行功能如图所示:图5-3景点酒店查询如图所示,用户输入景点酒店名称上海,就会显示出想去的景点,点击查询之后,系统会将想查询的信息输入数据库进行比对,如果数据库有想查询的内容,就会跳到相应的景点界面。其代码如下:publicStringjingdianAll() { Stringsql="fromTJingdianwheredel='no'orderbyid"; ListjingdianList=jingdianDAO.getHibernateTemplate().find(sql); Maprequest=(Map)ServletActionContext.getContext().get("request"); request.put("jingdianList",jingdianList); returnActionSupport.SUCCESS; }5.1.4游客查看系统公告功能实现系统首页有管理员发布的公告信息,如果游客访问系统首页可以选择查看公告栏的信息,当点击相应的公告栏标题所生成的超链接会访问数据库里面所存在信息。让用户能查看相应的公告图5-4系统公告查询如图5-4所示,用户点击系统公告按钮,能查看相应的系统公告,通过超链接从数据库调用相应的内容,其代码为:publicStringgonggaoAll() {Maprequest=(Map)ServletActionContext.getContext().get("request"); ListgonggaoList=gonggaoDAO.findAll(); if(gonggaoList.size()>50) { gonggaoList=gonggaoList.subList(0,50); } request.put("gonggaoList",gonggaoList); returnActionSupport.SUCCESS; }5.1.5游客留言功能实现游客点击网页的系统留言板,不仅能看到之前留言的内容,也点击我要留言的按钮,就可以进行留言,其内容会被保存在数据库中,会被系统管理员查看到。游客的留言页面如图所示:图5-5游客系统留言用户能在系统留言板内写出自己的留言,直接导入数据库内,数据库会将数据保存,管理员登录后会在留言板管理中看到游客留言并删除或者回复。其代码如下:publicStringliuyanbanAdd() { HttpServletRequestrequest=ServletActionContext.getRequest(); HttpSessionsession=request.getSession(); TUseruser=(TUser)session.getAttribute("user"); TLiuyanbanliuyanban=newTLiuyanban(); //liuyanban.setId(id); liuyanban.setNeirong(neirong); liuyanban.setLiuyanshi(newSimpleDateFormat("yyyy-MM-ddHH:mm").format(newDate())); liuyanban.setUserId(user.getUserId()); liuyanban.setHuifu(""); liuyanban.setHuifushi(""); liuyanbanDAO.save(liuyanban); request.setAttribute("msg","留言完毕"); return"msg"; } 5.1.6游客新闻资讯查看功能游客可以点击首页的新闻资讯,查看所有新闻内容,点击感兴趣的新闻标题,进入相应的新闻内容,其页面如下:图5-6新闻资讯查看用户可以点击相应的新闻标题,查看新闻内容,这是通过标题的超链接访问系统的数据库的内容,传输到网页上显示,其代码如下:public

String

xinwenMana(){

String

sql

=

"from

TXinwen";

List

xinwenList=xinwenDAO.getHibernateTemplate().find(sql);

Map

request=(Map)ServletActionContext.getContext().get("request");

request.put("xinwenList",

xinwenList);

return

ActionSupport.SUCCESS;}public

String

xinwenAll()

{

String

sql

=

"from

TXinwen

order

by

shijian

desc";

List

xinwenList=xinwenDAO.getHibernateTemplate().find(sql);

Map

request=(Map)ServletActionContext.getContext().get("request");

request.put("xinwenList",

xinwenList);

return

ActionSupport.SUCCESS;

}5.1.7游客景点类别查询功能景点类别分为国内游、国外游、周边游、特色游等功能。游客可以根据景点的类别选择自己的想去的景点,其页面图如下:图5-7-1景点类别分类图5-7-2国内游页面如上图所示游客可以点击国内游,其页面如图5-7-2显示,游客可以选择相应的景点,查看相应的内容,这是通过文字,图片的超链接调入数据库的内容,访问数据库中存储德景点信息,其代码为:publicStringleibieMana() { Stringsql="fromTLeibiewhereDel='no'"; ListleibieList=leibieDAO.getHibernateTemplate().find(sql); Maprequest=(Map)ServletActionContext.getContext().get("request"); request.put("leibieList",leibieList); returnActionSupport.SUCCESS; }5.1.8游客旅游线路查看功能游客可以在系统首页中查看旅游线路,选择自己想去的线路报名,其页面如图所示:图5-8-1旅行线路查看图5-8-2旅行线路报名根据页面信息,展示了不同的旅行线路信息,游客点击旅行线路,可以点击相应的线路选择在线报名,页面中油具体的行程,联系人信息,输入姓名联系方式和备注,游客信息会被导入到数据库的数据表中存储。其实现代码为:旅游路线查询代码:publicStringxianluAll() { ListxianluList=xianluDAO.getHibernateTemplate().find("fromTXianluwheredel='no'"); Maprequest=(Map)ServletActionContext.getContext().get("request"); request.put("xianluList",xianluList); returnActionSupport.SUCCESS; }在线报名代码:publicStringbaomingAdd() { Mapsession=ActionContext.getContext().getSession(); TUseruser=(TUser)session.get("user"); TBaomingbaoming=newTBaoming(); //baoming.setId(0); baoming.setXianluId(xianluId); baoming.setUserId(user.getUserId()); baoming.setXingming(xingming); baoming.setLianxifangshi(lianxifangshi); baoming.setBeizhu(beizhu); baomingDAO.save(baoming); Maprequest=(Map)ServletActionContext.getContext().get("request"); request.put("msg","成功报名"); return"msg"; }5.1.9游客景点订票、评价、查看酒店预订功能游客可以点击在首页或者查询到的景点图片,点击景点图片,查看景点的介绍。在这个界面,游客可以实现订票、评价、查看评价、查看附近酒店等功能。点击查看酒店可以预订酒店房间。其页面如下:图5-9-1景点图片链接图5-9-2景点内容介绍图5-9-3酒店房间预订如上述三个页面中,游客可以实现四个功能分别是,景点订票、查看评价、评价、预订酒店房间。在订票和预定酒店房间,游客需要输入自己的个人信息,这些会被导入到数据库中的数据表中,管理员可以调用查看这些信息。游客也可以写评价,在查看评价中找到自己撰写的评价内容。其相应的代码为:订票代码:publicStringdingpiaoAdd() { Mapsession=ActionContext.getContext().getSession(); TUseruser=(TUser)session.get("user"); TDingpiaodingpiao=newTDingpiao(); //dingpiao.setId(id); dingpiao.setJingdianId(jingdianId); dingpiao.setZhangshu(zhangshu); dingpiao.setKehuming(kehuming); dingpiao.setDianhua(dianhua); dingpiao.setSongpiaodi(songpiaodi); dingpiao.setBeizhu(beizhu); dingpiao.setZt("待受理"); dingpiao.setUserId(user.getUserId()); dingpiaoDAO.save(dingpiao); this.setMessage("操作成功"); this.setPath("index.action"); return"succeed"; }添加评价代码:publicStringpingjiaAdd() { TPingjiapingjia=newTPingjia(); //pingjia.setId(id); pingjia.setJingdianId(jingdianId); pingjia.setNeirong(neirong); pingjia.setShijian(newSimpleDateFormat("yyyy-MM-ddHH:mm").format(newDate())); pingjiaDAO.save(pingjia); Maprequest=(Map)ServletActionContext.getContext().get("request"); request.put("msg","评价信息添加完毕"); return"msg"; }查看评价代码:publicStringpingjiaAll() { Stringsql="fromTPingjiawherejingdianId="+jingdianId; ListpingjiaList=pingjiaDAO.getHibernateTemplate().find(sql); Maprequest=(Map)ServletActionContext.getContext().get("request"); request.put("pingjiaList",pingjiaList); returnActionSupport.SUCCESS; }酒店预订代码:publicStringyudingAdd() { Maprequest=(Map)ServletActionContext.getContext().get("request"); Mapsession=ActionContext.getContext().getSession(); TUseruser=(TUser)session.get("user"); TYudingyuding=newTYuding(); yuding.setId(id); yuding.setJiudianId(jiudianId); yuding.setRuzhuri(ruzhuri); yuding.setKehuming(kehuming); yuding.setDianhua(dianhua); yuding.setBeizhu(beizhu); yuding.setZt("待受理"); yuding.setUserId(user.getUserId()); yudingDAO.save(yuding); request.put("msg","操作成功"); return"msg"; }5.1.10游客信息管理功能游客的信息管理主要包括四个方面,个人信息管理、酒店预订管理、订票信息管理,旅游线路报名管理。其页面如下所示:图5-10信息管理由页面可得,游客可以重置个人信息,可以取消景点订票、取消酒店预订、取消旅游路线的报名,这些功能的原理基于,数据库的增删改查功能,其相应的代码如下:重置个人信息代码:publicStringuserEditMe() { TUseruser=userDAO.findById(userId); //user.setUserId(userId); //user.setUserName(userName); user.setUserPw(userPw); user.setUserRealname(userRealname); user.setUserSex(userSex); user.setUserAddress(userAddress); user.setUserTel(userTel); user.setUserEmail(userEmail); user.setUserDel("no"); userDAO.attachDirty(user); this.setMessage("修改成功,重新登陆后生效"); this.setPath("qiantai/default.jsp"); return"succeed"; }取消景点订票代码:publicStringdingpiaoDel() { TDingpiaodingpiao=dingpiaoDAO.findById(id); dingpiaoDAO.delete(dingpiao); Maprequest=(Map)ServletActionContext.getContext().get("request"); request.put("msg","操作成功"); return"msg"; }取消酒店预订代码:publicStringyudingDel() { TYudingyuding=yudingDAO.findById(id); yudingDAO.delete(yuding); Maprequest=(Map)ServletActionContext.getContext().get("request"); request.put("msg","操作成功"); return"msg"; }取消旅游路线的报名代码:publicStringbaomingDel() { TBaomingbaoming=baomingDAO.findById(id); baomingDAO.delete(baoming); Maprequest=(Map)ServletActionContext.getContext().get("request"); request.put("msg","操作成功"); return"msg"; }5.2管理人员后台管理管理员的功能主要包括:登录、修改密码、用户管理、类别管理、景点管理、订票管理、酒店预定管理、留言管理、新闻资讯管理、系统公告管理、线路管理等是个功能。以下是详细介绍:5.2.1管理员的登录功能模块管理员可以进入管理员入口,进行登录,输入用户名和密码可以登录进去了,这是登录界面:图5-11管理员登录由业面显示,管理员登录用户名和密码,如果登陆成功则进入管理界面,失败则提醒用户名或密码错误。其代码如下:f(userType==0)//系统管理员登陆

{

String

sql="from

TAdmin

where

userName=?

and

userPw=?";

Object[]

con={userName,userPw};

List

adminList=adminDAO.getHibernateTemplate().find(sql,con);

if(adminList.size()==0)

{

result="no";

}

else

{

WebContext

ctx

=

WebContextFactory.get();

HttpSession

session=ctx.getSession();

TAdmin

admin=(TAdmin)adminList.get(0);

session.setAttribute("userType",

0);

session.setAttribute("admin",

admin);

result="yes";

}

}

if(userType==1)

{

}

if(userType==2)

{

String

sql="from

TUser

where

userName=?

and

userPw=?

and

userDel='no'";

Object[]

con={userName,userPw};

List

userList=userDAO.getHibernateTemplate().find(sql,con);

if(userList.size()==0)

{

result="no";

}

else

{

WebContext

ctx

=

WebContextFactory.get();

HttpSession

session=ctx.getSession();

TUser

user=(TUser)userList.get(0);

session.setAttribute("userType",

2);

session.setAttribute("user",

user);5.2.2管理员的修改密码功能进入管理员界面,可以点击修改密码进入修改密码界面,可以输入原密码和新密码和重置密码,页面如下:图5-12 修改密码由页面中信息,点击修改按钮,输入原密码,新密码,修改成功则回到登录界面,其代码:publicStringuserEditMe() { TUseruser=userDAO.findById(userId); //user.setUserId(userId); //user.setUserName(userName); user.setUserPw(userPw); user.setUserRealname(userRealname); user.setUserSex(userSex); user.setUserAddress(userAddress); user.setUserTel(userTel); user.setUserEmail(userEmail); user.setUserDel("no"); userDAO.attachDirty(user); this.setMessage("修改成功,重新登陆后生效"); this.setPath("qiantai/default.jsp"); return"succeed"; } 5.2.3管理员的用户管理功能管理员可以点击用户管理按钮,进入管理界面,可以删除用户的信息。其页面如下:图5-13用户管理管理员可以点击删除按钮,如果信息删除成功,则显示操作成功。这运用了数据库的增删改查的功,其代码如下:publicStringuserDel() { TUseruser=userDAO.findById(userId); user.setUserDel("yes"); userDAO.getHibernateTemplate().update(user); Maprequest=(Map)ServletActionContext.getContext().get("request"); request.put("msg","信息删除成功"); return"msg"; }5.2.4管理员的类别管理功能管理员进入管理界面,可以对系统景点类别进行管理,进入类别管理界面,其如下图:图5-14 类别管理用户可以点击删除按钮删除景点类别信息,也可以添加景点类别,创建新的类别。其原理是数据库增加信息的功能。其代码如下:类别信息添加代码:publicStringleibieAdd() { TLeibieleibie=newTLeibie(); leibie.setMingcheng(mingcheng); leibie.setDel("no"); leibieDAO.save(leibie); Maprequest=(Map)ServletActionContext.getContext().get("request"); request.put("msg","类别信息添加完毕"); return"msg"; }类别信息删除代码:publicStringleibieDel() { TLeibieleibie=leibieDAO.findById(id); leibie.setDel("yes"); leibieDAO.attachDirty(leibie); Maprequest=(Map)ServletActionContext.getContext().get("request"); request.put("msg","类别信息删除完毕"); return"msg"; }5.2.5管理员的景点管理功能进入管理员界面,可以对景点进行管理,点击景点管理,如下图所示:图5-15 景点管理如页面所示,管理员可以进行添加景点信息、删除景点、评价管理、附近酒店管理、添加酒店信息等操作,主要是通过调用数据库的增加,删除功能实现,其代码为:添加景点信息代码:publicStringjingdianAdd() { TJingdianjingdian=newTJingdian(); //jingdian.setId(id); jingdian.setLeibieId(leibieId); jingdian.setName(name); jingdian.setDizhi(dizhi); jingdian.setMenpiao(menpiao); jingdian.setJieshao(jieshao); jingdian.setFujian((fujian.equals("")?"/img/zanwu.jpg":fujian)); jingdian.setDel("no"); jingdianDAO.save(jingdian); Maprequest=(Map)ServletActionContext.getContext().get("request"); request.put("msg","信息添加成功"); return"msg"; }删除信息代码:publicStringjingdianDel() { TJingdianjingdian=jingdianDAO.findById(id); jingdian.setDel("yes"); jingdianDAO.getHibernateTemplate().update(jingdian); Maprequest=(Map)ServletActionContext.getContext().get("request"); request.put("msg","信息删除成功"); return"msg"; }评价管理代码:publicStringpingjiaDel() { TPingjiapingjia=pingjiaDAO.findById(id); pingjiaDAO.delete(pingjia); Maprequest=(Map)ServletActionContext.getContext().get("request"); request.put("msg","删除完毕"); return"msg"; }管理酒店代码:publicStringjiudianDel() { TJiudianjiudian=jiudianDAO.findById(id); jiudian.setDel("yes"); jiudianDAO.attachDirty(jiudian); Maprequest=(Map)ServletActionContext.getContext().get("request"); request.put("msg","操作成功"); return"msg"; }添加酒店代码:publicStringjiudianAdd() { TJiudianjiudian=newTJiudian(); //jiudian.setId(id); jiudian.setMingcheng(mingcheng); jiudian.setDizhi(dizhi); jiudian.setDianhua(dianhua); jiudian.setJieshao(jieshao); jiudian.setDel("no"); jiudian.setJingdianId(jingdianId); jiudianDAO.save(jiudian); Maprequest=(Map)ServletActionContext.getContext().get("request"); request.put("msg","操作成功"); return"msg"; }

5.2.6管理员的订票管理功能进入管理员系统,能对系统的景点订票程序管理,进入订票管理界面:图5-16 订票管理页面展示了有课的订票信息,管理员可以删除或者受理游客的订票信息,数据库内可以删除其内容,其代码为:删除订票代码:publicStringdingpiaoDel() { TDingpiaodingpiao=dingpiaoDAO.findById(id); dingpiaoDAO.delete(dingpiao); Maprequest=(Map)ServletActionContext.getContext().get("request"); request.put("msg","操作成功"); return"msg"; }受理订票代码:publicStringdingpiaoShouli() { TDingpiaodingpiao=dingpiaoDAO.findById(id);dingpiao.setZt("已受理");dingpiaoDAO.attachDirty(dingpiao); Maprequest=(Map)ServletActionContext.getContext().get("request"); request.put("msg","操作成功"); return"msg"; }5.2.7管理员的酒店预定管理功能管理员进入管理界面,可以对酒店的预订信息进行管理,点击下面页面的酒店预订管理按钮,进入管理模块: 图5-17酒店预定管理如上述页面展示,显示了所有的酒店预订信息,管理员可以点击删除和受理,对预订信息进行处理,这是由MySQL的删除语句对信息在数据库内删除。其代码为:删除预订代码:

publicStringyudingDel() { TYudingyuding=yudingDAO.findById(id); yudingDAO.delete(yuding); Maprequest=(Map)ServletActionContext.getContext().get("request"); request.put("msg","操作成功"); return"msg"; }受理酒店预订代码:publicStringyudingShouli() { TYudingyuding=yudingDAO.findById(id); yuding.setZt("已受理"); yudingDAO.attachDirty(yuding); Maprequest=(Map)ServletActionContext.getContext().get("request"); request.put("msg","受理完毕"); return"msg"; }5.2.8管理员的留言管理功能进入管理员界面,如下图所示,管理员可以点击留言管理,对留言进行回复和删除。图5-18 留言管理如上图所示,所有的留言信息都显示在页面上,管理员可以回复和删除留言内容。删除运用了MySQL的删除语句,而回复运用了数据库的修改语句。其代码如下:删除留言代码:publicStringliuyanbanDel() { TLiuyanbanliuyanban=liuyanbanDAO.findById(id); liuyanbanDAO.delete(liuyanban); HttpServletRequestrequest=ServletActionContext.getRequest(); request.setAttribute("msg","删除成功"); return"msg"; }回复留言代码: publicStringliuyanbanHuifu() { TLiuyanbanliuyanban=liuyanbanDAO.findById(id); liuyanban.setHuifu(huifu); liuyanban.setHuifushi(newSimpleDateFormat("yyyy-MM-ddHH:mm").format(newDate())); liuyanbanDAO.attachDirty(liuyanban); HttpServletRequestrequest=ServletActionContext.getRequest(); request.setAttribute("msg","回复完毕"); return"msg"; }5.2.9管理员的新闻资讯管理功能进入管理员界面,可以在新闻资讯页面对系统首页的新闻资讯进行管理,其具体页面如下:图5-19 新闻资讯管理如页面所展示,管理员可以添加新闻资讯也可以对现有的新闻进行删除,主要是运用MySQL的增加、删除语句对数据库内容进行修改。其主要代码为:新闻删除代码:publicStringxinwenDel() { TXinwenxinwen=xinwenDAO.findById(id); xinwenDAO.delete(xinwen); Maprequest=(Map)ServletActionContext.getContext().get("request"); request.put("msg","信息删除成功"); return"msg"; }新闻添加代码:publicStringxinwenAdd() { TXinwenxinwen=newTXinwen(); //xinwen.setId(id); xinwen.setBiaoti(biaoti); xinwen.setNeirong(neirong); xinwen.setFujian((fujian.equals("")?"/img/zanwu.jpg":fujian)); xinwen.setShijian(shijian); xinwenDAO.save(xinwen); Maprequest=(Map)ServletActionContext.getContext().get("request"); request.put("msg","信息添加成功"); return"msg"; }5.2.10管理员的系统公告管理功能进入管理员界面,点击系统公告管理,可以对系统公告进行添加和删除,其具体界面如下:图5-20 系统公告管理如页面所展示的,管理员可以对已有的系统公告进行删除,可以添加新的系统公告,其使用了数据库的增加语句和删除语句对现有的系统公告进行删除和添加新的内容,其具体代码为:删除系统公告代码:publicStringgonggaoDel() { TGonggaogonggao=gonggaoDAO.findById(gonggaoId); gonggaoDAO.delete(gonggao); Maprequest=(Map)ServletActionContext.getContext().get("request"); request.put("msg","信息添加完毕"); return"msg"; }添加系统公告代码:publicStringgonggaoAdd(){TGonggaogonggao=newTGonggao();//gonggao.setGonggaoId(0);gonggao.setGonggaoTitle(gonggaoTitle);gonggao.setGonggaoContent(gonggaoContent);gonggao.setGonggaoData(newSimpleDateFormat("yyyy-MM-ddHH:mm").format(newDate()));gonggao.setFujian((fujian.equals("")?"/img/zanwu.jpg":fujian));gonggaoDAO.save(gonggao);Maprequest=(Map)ServletActionContext.getContext().get("request");request.put("msg","信息添加完毕");return"msg";}5.2.11 管理员的线路管理功能进入管理员界面,管理员可以点击线路管理,对系统的旅行线路进行删除线路信息、删除报名信息、添加新的旅行线路等操作,其界面如下:图5-21旅行线路管理如页面所示,展示了旅行线路的所有信息,也可以点击报名信息查看游客信息,管理员可以删除报名信息、删除旅行线路的所有信息,也可以添加新的旅行线路,其原理是使用了MYSQL的增加语句和删除语句,对数据库的存储的数据进行删除和增加。其代码为:添加线路代码:pub

温馨提示

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

评论

0/150

提交评论