版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
概述1.1研究背景及意义随着社会的发展,旅游业经过几十年的过渡,现在已经在各种各样行业并驾齐驱的局势中鹤立鸡群,不断发展旅游业是世界发展的根本推动力之一,旅游业的迅速腾飞为提高国民经济的水平起着至关重要的作用,其中主要表现有如下五点:(1)增加外汇收入与资金的累积,并且通过发展旅游业能够增加外汇收入[1],旅游业也会带动景点周围居民的资金积累,增加该地居民的外汇收入,提高资金平均水平。(2)促进我国多种产业结构的调整与改善:旅游业的快速发展,也可以在不同的角度来稳定我国多种行业的大结构,可以使产业的大框架更加坚固,产业发展愈加稳健。(3)满足当下在社会迅速发展的个大背景下人们对与精神文化生活追求的需要,也可以更有针对性的改善旅游区身边居民的居住环境。简言之,大家的生活条件不断优化,居住环境也不断美化。(4)加快社会主义新农村建设步伐:在现在追求共同富裕的强国之路上,我们要坚持去执行乡村振兴的战略,通过不断的发展乡村旅游等产业来让我们离“生产发展,生活宽阔,乡风文明,村容整治,管理民主“的目标越来越接近。(5)改善投资环境,促进招商引资:旅游业的不断发展也在侧面的不断的增加了我国投资、招商、外汇等的机会,提升投资的概率和机遇,可以加大发展的力度,可以形成一个资源利用和经济成长的闭环。而因为旅游业是一项综合性的产业,旅游业对自然环境、社会环境等外部因素的依赖性较强。因2020年初的新型冠状病毒的影响,世界旅游行业深受打击,而我国虽然在疫情防控中取得胜利,但是疫情对我国旅游业的影响依旧是无法估量的。这和人们对美好生活向往产生了矛盾,在中国日益发展,日益强大的今天,人们对出游的需求不断增长,通过深入学习国务院在最新发布的“十四五”关于旅游业未来发展的规划。其中提到,前提是要国际疫情达到有效防控目标下,分步有次序的促进旅游业回暖,及时研究和评判国内外新型冠状肺炎疫情控制情况、国际环境变化的趋势,合理管控外国人员来华隔离措施,应在防疫安全有所保证的大前提下,积极的构建健康的、安全的、有序的出入境人员的往来秩序。所以我希望通过javaweb项目实现旅游信息高效整合,旅游论坛资讯交流查询,加大旅游信息资源交换,助力旅游行业早日回暖。本系统投入使用后,当系统的资源以及用户的数量到达成熟时,该系统会汇集各方面旅游的信息,可以为有旅游需求的用户,提供更加丰富的旅游信息。通过留言、以及论坛资讯让用户更加有针对性了解景点、酒店等,方便用户更有前瞻性的进行旅游规划。1.2研究内容和步骤旅游业是我国重点的大产业之一,但是由于新型冠状病毒肺炎复发和防控政策影响,我国各行各业都处于较之前来说相对低迷的状况,尤其是旅游市场持续走低,而之前有专家预测2021年旅游业上涨的局势尚未萌发,与此同时在国际层面预期的旅游业即将回也尚未到来。“互联网+”驱动旅游这一传统业态实现数字化转型[3],从创新的角度对旅游业的实际体验和游览场景进行分析、改善。不断的进行合理化,有前瞻性的规划,打造别致的用户体验。本文的研究内容大体分为三个方面,分别介绍如下:(1)首先进行可行性分析,然后绘制用例图,获取系统的基本需求,我们有必要对市场上的旅游业在最近时期面临的情况,进行统计了解深入分析,社会现有旅游信息整合类web的发展状况,挖掘出现有web的不足点,对其进行研究分析,然后明确我们系统需要到达的水平,以及系统需求,合理的对系统进行框架构建分析[4],完成系统用例的基本的一整套操作流程。(2)在系统的详细设计中,采用面向对象的方法来确定各模块之间的功能开发算法和实现逻辑,并且通过对清晰定位不同角色,针对不同的角色设计相应的功能、相应的我们也要需要合理的设计数据库,对角色进行合理的分析,从不同的角度来搭建我们预期想要达到的web平台,为实现一个稳定、效率高的系统奠定好的基础。(3)最后要严格根据之前总结的合理的需求进行实现,通过编写代码,合理使用对应软件和插件来实现预期需要达到的效果。对软件的实现过程严格按照规划执行,在完成web平台的构建后,要对该系统进行全面的、细致的软件测试,通过现存大家都认可的黑盒子、白盒子等测试方法进行测试,测试之后对系统进行查缺补漏的改善。1.3研究目标本系统设计的目标是运用旅游信息管理系统可以整合我们拥有的资源,其目的设计出能最大限度满足所要求的目标。且可以进行资源的分享和有效利用,合理整合资源,确保信息及时更新,记录及时。该系统基于旅游业现有的实际需求,实现了二个目标:(1)该系统完成了预期目标,有着简便的操作方式,所有用户都容易上手,可以做到真正意义上的对有旅游需求用户提供有效帮助,让使用者事半功倍,愿意使用该系统。(2)以保证系统具有稳定的运行效果为基础条件下。在保证持续长期运行的首要条件下定期对系统进行维护。让该系统可以保证时刻为用户服务,保持长期的有效运行。1.4论文结构本文主要内容介绍如下。1.概述,详尽的对当今旅游业局势进行分析,肯定了系统开发的必要性,并进行了详细的介绍了旅游业存在的意义,简要介绍我们的研究方向。2.关键技术介绍。简要的介绍了该系统开发所必需的JAVA语言结构、JAVA-EE其企业版技术以及MySQL数据库,以及这些技术将如何配合达到预期的web设计目标。3.系统需求分析。对系统存在的必要性进行了肯定,对社会如今发展旅游业趋势进行了说明,在确保该系统有存在意义下进行合理的需求分析。4.总体框架设计。对总体框架,模型进行展示,将对数据库表格、总体ER图等主要部分进行合理设计。5.系统实施。详细的介绍,系统实施的过程,并且对实施结果进行截图、代码展示、功能展示等等。6.系统测试。根据系统的特定功能,一次运行一项测试。将详细而准确的用例测试与与及时创建测试用例相关的结果分析相结合。并且在保证不止一种测试方法的前提下,多次对用例进行反复测试,保证系统的运行效果。7.总结与展望。最后对系统的开发过程与结果进行分析反思总结,并且对系统的将来发展的方向进行一定的思考与确认,为保证系统长期稳定的工作进行规划。1.5本章小结本章主要介绍了旅游信息管理系统现在疫情局势下实现的意义,并且介绍了系统的设计目标、以及将如何完成作品设计的大概流程,和对该论文的整体框架进行了梳理。
2关键技术介绍2.1JAVA语言JAVA语言是一种完全面向对象的编程语言。Java语言编程既灵活又简单[5]。在如今开发语言形形色色的大局下java语言仍然屹立不倒,并且保持着极高的被使用率,这其中可以归因于java语言集合众多优点,灵活简便,有效的提高开发效率[6]。诚然JAVA语言在计算机软件开发中得到广泛应用,无论是在国内外科技企业或者始是在我们平日学生接触的基础开发中都普遍有JAVA编程的影子存在,但是我们还是需要对其进行深入的了解学习。要凭借当今互联网的便利性,通过网上资料查询等不同的学习途径进行深入学习。事实证明,JAVA语言非常简单,具备了卓越的简便性。JAVA语言通过其简易编程的特点,让使用者可以更快更便捷的表达自己的想法。不止于此,JAVA语言还具许多得天独厚的优点,其强大的功能被广泛使用,深受广大IT用户喜爱。2.2JAVA-EE技术JAVA-EE平台由一组服务、应用程序接口和协议组成。接下来,我将简要解释一下JAVAEE的四个重要技术规范。(1)JNDI(JAVA名称和目录接口)主要是用于运行名称和目录服务。JNDI的主要作用是:可以把Java对象放JNDI容器中,并为JNDI容器中的java对象进行命名,这样子既可以通过名称检索来获取对应的java对象。其核心API为Context[7],代表了JNDI容器,它的lookup方法就是检索容器中对应名称的对象。(2)JDBC(JAVADatabaseConnectivity)是java数据库链接,主要用于SQL语句的JavaAPI。您还可以通过调用这些类和接口提供的方法来使用标准SQL进行保存。检索数据库中的数据提供了一种访问不同数据库的统一方式[8]。(3)EJB(EnterpriseJAVABean)EJB是成就JAVAEE技术受广泛应用的功臣之一。EJB通过提供一个框架来开发、实施分布式的商务逻辑,EJB技术同时也是J2EE的基石,是一种让开发者快速开发大规模[9]。其通过了规定在何时,以什么方式来与对应容器进行交互作用。但是我们要清楚EJB它不是我们实现JAVAEE的唯一途径,由于JAVA-EE具有足够的开放性,就可以时EJB在平行状态下达到需求目的[10]。(4)RMI(RemoteMethodInvoke)RMI是开发纯Java的网络分布式应用系统的核心解决方案[11]。RMI使用的是JRMP(JavaRemoteMessageingProtocol),JRMP是专门为java定制的通信协议[12]。2.3MySQL数据库数据库管理已经是计算机技术中不可或缺的一部分,MYSQL具有许多令人喜爱的优点,出色的功能,简便的使用方法和管理方式等等优势,所以它是面向大数据的数据库主流技术。MySQL数据库在各种编程环境中提供应用程序接口。这些应用程序界面功能充分利用了数据库并提高了数据库的正常运行效率[13]。不仅如此,它还集合了强大的功能和优点并且还具有好的稳定性,是开发软件、web平台等等需要使用到数据库项目的首要选择。MYSQL数据库深受开发者们的喜爱,所以对它的应用广泛普遍。不仅仅用于存储为开源数据库,同时可以与开发语言结合使用,灵活且集成了强大的数据管理能力。此外,它的数据以及数据库也易于更新和访问。MySQL数据库不仅仅拥有上述优点,而其长期的稳定性等也深受使用者的喜爱,所以允许MYSQL数据库使用者通过连接和通信来访问和操作数据库,从而进一步提高数据库的操作性[14]。2.4本章小结经过了解也学习了各种模型系统:EMSM:电子商城系统。B/S:浏览器/服务器。C/S:客户端编号/服务器。C2C:ConsumertoConsumer顾客对顾客的形式,e-commerce的多种业务形式之一。B2B:SetvicetoService商家对商家的形式,e-commerce的多种业务形式之一。B2C:ServicetoConsumer商家对顾客的形式,e-commerce的多种业务形式之一。HTML:解释为超文本标记语言。JAVASCRIPT:Sunyicrosystens开发的程序脚本语言(一种严格的面向对象的语言,适用于开发互联网上的主从架构应用程序),有时称为JS。MVC:MVC是Model、View和Controller组合。通过Controller改变Controller,以用户通过与View的交流互动来推动Model改变。本章主要是对即将用到的技术进行了大概的简要介绍,并且对这些技术的流行性、稳定性等优点进行了肯定。通过对这些对这些现有的备受好评的技术进行配合运用,实现项目就有了稳定且有效率的工具。3需求分析3.1需求概述国内外旅游业的快速发展可以加快经济的良性循坏,带动资金的汇集和回笼。同时也会聚合民众发挥他们的经济效力,进而对国内经济发展提供新机遇,打造优良的社会环境。并且通过旅游的独特性,有些免税店等的存在,商品不受关税影响;旅游业的产品打造简易,无须华丽的包装、不需要储运或者繁杂的进出口相关手续。旅游业具有非常突出的关联以及带动作用,旅游业有着带动其他多种产业发展的主要地位[15],旅游业不仅仅直接带动了酒店行业、摆摊行业、商业网点、交通业等等多方面的经济发展,还直接的当地的经济产生了良性的影响。推动了城市建设、乡村振兴。有利于对三大产业的总体框架的稳定和改善。旅游业是在国际层面受世界普遍认可的,旅游业的积极发展促进了四面八方的发展,其中不乏有纷至沓来的专家学者们,通过旅游跨越千山万水带来全新的科技、信息和先进的经营理念,发展旅游业有利于我们对国际最前沿的科技、信息等进行有效的、较为全面的接触、学习。来自世界各地的旅游者的来访,不积极可以发扬旅游的传统文化、传统习俗,也可以不远千里过来的旅游者们在心底种下文化底蕴的种子,旅游业不断发展的同时也会带来乡村居民、城市居民素质和文化素养的质的提升。不言而喻旅游是一种实践活动,充分的发展旅游业能满足人们日益增长的文化需求,并且可以对弘扬中华优秀的民族文化、提高国民文化素养都将发挥着积极作用。综上等材料,我们需要通过实现不同角色来达成系统目标。并且保证系统的稳定性和安全性等等必需因素,通过对旅游业的进一步了解,我们也对系统的需求有了新的理解和更加完善的框架。对我们需要的技术运用的程度也有了把握,通过了解旅游情况对我们设计系统的过程中需要提供富有前瞻性的规划设计。3.2可行性分析3.2.1技术可行性分析从技术层面来说。我们实现系统所需要的技术都是成熟而且稳定的。比如:JAVA语言的语法简单而强大,在各个方面都体现了其强大的兼容性。MySQL深受开发者喜爱,操作简单,数据存取的安全性高,稳定性佳。开发人员非常容易使用。MVC结构模式通过Model、view、controlle结合轻松实现框架搭建。换一个角度来说,界面美观大方,布局合理,可以与后台数据充分交互,通过合理搭建为用户提供了很好的使用体验。综上所述该系统完全满足研发要求,在技术上是可行的。因此,该系统具有技术上的可实现性。3.2.2经济可行性分析操作系统所需的实际要求不多,对于各方面的经济诉求不高。总而言之,开发以及维护所需要的成本并不高。其性能满足旅游信息管理系统用户的基本需求。旅游信息管理系统是采用MVC结构模式软件开源,软件用于系统应用开发,应用开源成熟。在此基础上该系统所有软件、服务器等都可以从互联网上免费下载。从经济角度来看,该系统是可行的。3.2.3操作可行性分析本旅游管理系统,通过采用成熟的、被大众认可的MVC框架,通过收集到现有的相关旅游系统的不足点,合理的设计,来达到本系统预期需要达到的效果,通过缜密的思考,在系统运行时根本不需要担心遇见问题,在系统投入使用后,届时也会通过后期的定时维护来保证系统的可行性、安全性、高效性。3.3系统功能性需求结合上述多种技术,进行整合使用、配合实现用户登录、用户界面显示、用户资讯论坛、各种各样酒店宾馆、景区界面、留言发布记录等等功能。稳定将运行结果展示出来。实现该旅游信息系统的不同角色的设计,其中系统的角色包括了用户和管理员。(1)管理员功能的实现:其中我们的系统具有多个不同的且不相链接的模块,而管理员就具有对这些模块的管理权,比如在用户信息模块,我们允许管理员查看角色信息和更改密码。比如在酒店信息模块,添加酒店信息,批量删除等。其他模块还包括论坛资讯模块、景区资讯模块、论坛资讯。管理员可以在不同模块进行的增删改查等一系列操作,管理员在整个系统中起到了不可或缺的作用。(2)用户功能的实现:用户使用邮箱、账号等信息注册,设置用户密码。用户必须登录验证的时候必须输入他们的帐号和密码。进入系统有多个模块供用户使用:论坛资讯模块有标题、内容、发布时间,可以展示这个时期的热门话题的模块。对于酒店、景点也有特定的介绍视频和其他信息,用户会在酒店、景点和论坛资讯等面板下留下他们的留言信息。而管理员可以批量对信息管理或者针对性回复;最后个人信息模块集合更改用户名和密码,显示输入的信息等功能。3.4角色用例分析管理员在旅游信息管理系统中起到了无可替代的作用,其中主要包括用户管理、景区管理、酒店管理、论坛资讯信息管理、用户留言批量管理、发布详情、详细信息等等。管理员角色的特定用例与特定用例之间的关系如图3-1所示:图3-1管理员用例图旅游信息管理系统总共包含两个具有实际操作意义角色。其中用户角色功能由个人信息模块、景点信息模块、酒店信息模块、论坛资讯页面、多模块留言信息、个人信息等模块功能组成。用户角色的特定用例以及它们之间的关系如图3-2所示:图3-2用户用例图3.4系统性能需求(1)安全性要求保证用户、管理员数据的安全性,该系统会集成一系列旅游信息,并且还将会包含许多用户、管理员的个人信息,其中信息的安全性,是我们需要重点关注的方面。(2)稳定性要求关于稳定性这一方面,其中,我们通过稳定的成熟的现有技术,缜密的代码思维,对系统进行实现运行,保证系统运行流畅,后期有效定期维护,不断的对系统进行优化、改善。(3)信息实用性要求必须保证信息的时效性,通过管理员对信息进行管理,有权限删除无效信息,在保证系统安全好用的前提下,保证旅游资源信息的实用性,能切切实实的为用户提供高效的服务,为用户的出行减轻压力。3.5本章小结在本章中,我们从三个可行性、两个具体需求进行总体分析,细致的从多方面出发对相关系统角色进行用例图绘制,论述保证系统安全性、稳定性、信息实用性的重要性。4系统总体设计4.1系统架构设计系统架构设计是采用MVC模式,其中,模型层表示计算用户发送的请求的部分[16]。其中一个是业务处理bean,另一个是承载数据的bean。MVC架构图如图4-1所示:图4-1MVC体系架构图4.2系统功能模块设计系统的功能设计首先要满足的必须是要贴近用户具体的使用需求,保证一整个系统的稳定性和可持续性,所有我们要设计一个合理的,实用性强的模块。根据现在社会的不断地发展,我们可以了解到用户对于旅游需求的增长,以及旅游信息的繁多、类型杂。大部分游客难以有效的在网络上整合自己想要的信息,我们设计合理的酒店、景点信息模块,将值得去的景点等信息进行整合、还有论坛资讯等模块的设计等等,系统功能结构图如图4-2所示:图4-2系统功能结构图4.2.1用户角色功能设计用户角色功能实现:用户使用时每个用户他们都具有用户名、电子邮件、密码、年龄、性别、电话号码、注册时间、最后一条消息等基本的用户信息。首先用户必须要通过系统的登录认证,之后可以进入系统体验不同的模块:景区信息模块,内容和发布时间模块显示实时更新的景点信息。论坛资讯主要展示内容和内容等信息,该模块主要供用户查看。同样包括酒店模块等等。酒店信息和论坛资讯主要展示内容和其他信息。也完全可以在下方留言讨论,留言板主要是给来自五湖四海的用户留言发表个人意见,论坛资讯是可以开话题、多人参与的讨论;用户功能结构如图4-3所示:图4-3用户功能结构图4.2.2管理员角色功能设计管理员功能的实现:其中我们的系统具有多个不同的且不相链接的模块,而管理员就具有对这些模块的管理权,留言板管理、酒店景区信息管理等管理员有权维护/删除每个用户披露的信息,并拥有添加/删除/更改/确认酒店/景区信息页面的操作权限。对于景点和具体内容,管理员具有增删改查的操作权限。留言板模块主要供管理员在前台回复用户留言信息。允许用户通过论坛资讯进行有效的讨论。管理员功能结构图如图4-4所示:图4-4管理员功能结构图4.3系统总体E-R图设计E-R图是设计中必不可少的一部分,我们必须要明确的设计出来E-R图,E-R图是一个实体的联系图图,可以清晰的展示各个实体之间的联系。系统数据库由用户、一系列角色信息、管理员、论坛资讯、用户留言、回复消息等实体组成。严格的了解E-R图的绘制规则,其中不同地形状代表不一样的成分,我们通过对E-R图规定的要求进行细致学习,对本系统本质进行分析,认真的绘制出该旅游信息系统的总体E-R图,其中系统总体E-R图如图4-5所示:图4-5系统总体E-R图4.4数据库设计我们将要实现的是旅游信息管理系统,所有对于数据库的使用效果、使得异常重要,我们必须在确保数据的独立性下对数据进行保存,并且需要保证后期增删改查的结果保存准确性,保证数据安全性得到高效管理。4.4.1数据表设计经过调查,旅游信息管理系统决定使用MYSQL数据库。系统数据库的名称是trip_web_db。数据库包含用户表、管理员表、酒店信息表、景点表。结构如下所示:(1)用户表:主要存储系统用户信息,主要由ID、用户名、电话、用户注册时间、用户最后上线时间、用户邮箱、密码、年龄、性别等组成。表的具体结构如表4-1所示:表4-1用户表序号字段名类型是否为空总段描述是否为主键1tp_identityInt(19)否用户ID是2tp_usernamevarchar(99)否用户名否3tp_phonvarchar(99)否电话否4tp_regsiterdateTimestamp是注册时间否5tp_lsstloggerTimestamp是最后更新否6tp_usermailvarchar(99)否邮箱否7tp_upasswordvarchar(99)否密码否8tp_useragevarchar(99)否年龄否9tp_ugendervarchar(99)否性别否(2)管理员表:主要存放管理员的相关信息,表的属性主要由管理员ID、姓名、邮箱、密码等组成。表的具体结构如表4-2所示:表4-2管理员表序号字段名类型是否为空总段描述是否为主键1tp_aidentityInt(9)否管理员ID是2tp_adminamvarchar(99)否管理员名否3tp_adminemvarchar(99)否管理员邮箱否4tp_adminpdvarchar(99)否管理员密码否(3)酒店信息表:主要存放酒店的相关信息,表的属性主要由酒店发布ID、酒店名、酒店地址、房间型号、床型号、手机号以及价格等组成。表的具体结构如表4-3所示:表4-3酒店信息表序号字段名类型是否为空总段描述是否为主键1Jiudian_idint(9)否住宿ID是2Jiudian_titleVarchar(99)否酒店类型否3Jiudian_localvarchar(99)否所在地址否4house_typevarchar(99)否房间类型否5bed_typevarchar(99)否床类型否6Jiudian_phonvarchar(99)否电话否7Jiudian_convarchar(99)否详细内容否8Jiudian_zipvarchar(99)否详细地址否9house_sizevarchar(99)否房间号否10Jiudian_pricevarchar(99)否价格否(4)论坛资讯信息表:主要存放论坛资讯的相关信息,表的属性主要由论坛资讯序列号、论坛资讯作者ID、作者名、标题、副标题、发布时间、标签等组成。表的具体结构如表4-4所示:表4-4论坛资讯信息表序号字段名类型是否为空总段描述是否为主键1formula_idint(9)否论坛资讯序号是2formul_idvarchar(99)否作者ID否3formul_authovarchar(99)否作者名否4formul_tiitlevarchar(99)否内容标题否5for_SubJ_titlevarchar(99)否子标题否6create_timevarchar(99)否创建时间否7formul_tagvarchar(99)否标签否8for_conttext否内容否(5)景点信息表:主要存放景点的相关信息,表的属性主要由景点发布ID、景点名、景点类型、景点电话、景点价格、景点详细地址、开放时间等组成。表的具体结构如表4-5所示:表4-5景点信息表序号字段名类型是否为空总段描述是否为主键1spot_identityint(9)否景点ID是2spot_titleVarchar(99)否景点类型否3spot_namevarchar(99)否景点名否4spot_typeVarchar(99)否景点类型否5spot_phonVarchar(99)否景点电话否6spot_levelvarchar(99)否景点定级否7spot_priceVarchar(99)否推荐价格否8spot_locationVarchar(99)否景点地址否9spot_zipvarchar(99)否详细地址否10spot_opentimeVarchar(99)否开放时间否11spot_creatTimetimestamp是创建时间否12spot_contText是详细内容否(6)回复记录表:主要存放回复记录的相关信息,表的属性主要由回复序列号、回复者名、回复时间、回复内容等组成。表的具体结构如表4-6所示:表4-6回复记录表序号字段名类型是否为空总段描述是否为主键1reply_idint(9)否回复ID是2reply_namevarchar(99)否回复作者名否3reply_datavarchar(99)否回复日期否4reply__contvarchar(200)否回复内容否5reply_for_namevarchar(99)否发布者否6reply_article_idvarchar(99)否景点ID否7reply_forumldvarchar(99)否论坛资讯ID否8reply_for_hotelvarchar(99)否酒店ID否(7)留言记录表:主要存放留言记录的相关信息,表的属性主要由留言序列号、留言者名、留言时间、留言内容等组成;表的具体结构如表4-7所示:表4-7留言记录表序号字段名类型是否为空总段描述是否为主键1massage_idint(9)否留言ID是2massage_namevarchar(99)否留言作者名否3massage_datavarchar(99)否留言日期否4massage_contvarchar(200)否留言内容否5massage_for_namevarchar(99)否发布者否6massage_article_idvarchar(99)否景点ID否7massage_forumldvarchar(99)否论坛资讯ID否8massage_for_hotelvarchar(99)否酒店ID否4.5本章小结第四章是对于总体框架的介绍,以及展示了例如论坛资讯表、留言、回复表等等存储信息表格的设计结果。
5系统实现5.1开发环境操作系统:Windows10开发工具:IntelliJIDEA2019.3.3x64编程语言:JAVA语言工具包:jdk1.8.0系统开发框架:MVC框架服务器:Tomcat8.0数据库:MYSQL5.175.2管理员角色功能5.2.1管理员首页登录管理员通过其特有的登录端口,输入其对应的账号密码进行登录,进入管理系统进行对不同模块的操作。首页管理员登录如图5-1所示:图5-1系统首页登录以下是登录后的管理员界面的详细信息展示,如图5-2所示:图5-2登录后管理员界面主要实现代码如下:publicStringlogin_xiangzai(){return"admin/login";}publicStringloginrightnow(Stringadministrationsinfoem,Stringadministrationspassword,HttpSessionsession){Adminadmin=this.adminService.login(administrationsinfoemil,administrationspassword);Stringtimestamp=TimeStampUtil.getTimeFormat();if(admin==null){ session.setAttribute("msg",Msg.fail("信息有误无法登录,请认真核对您的登录信息!"))}else{session.setAttribute("timestamp",timestamp);session.setAttribute("admins",admin);session.setAttribute("massage",Msg.success());}}publicStringtuichudenglu(HttpSessionsession){session.invalidate();returnthis.login();}5.2.2用户管理功能用户管理模块就是对用户ID、用户名、邮箱、密码、年龄、性别、电话、注册时间、最近一次登录时间以及操作等信息的管理。用户管理如图5-3所示:图5-3用户管理界面主要实现代码如下:publicStringyonghu_shanchu(Stringuseridentity){System.out.println(useridentity);Stringdfsform="/information/date/userinfo";this.userService.userDeleted(useridentity);List<User>users=this.userService.selectAll();Iteratortemp=users.iterator();while(temp.hasNext()){Useruseridentity=(User)temp.next();StringimgUrl=useridentity.getUserJiudian_phon();useridentity.setUpic(prefix+photos;publicStringuserForm(){return"admin/user_form";}管理员的具有对系统用户、用户名修改、邮箱修改、密码修改等基础信息修改的权限,管理员对用户信息修改界面如图5-4所示:图5-4用户信息修改界面主要实现代码如下:publicStringyonghu_xiugai(Stringuseridentity){Useruser=this.userService.userGet(useridentity);System.out.println(user);this.session.setAttribute("user",user);return"admin/yonghu_xiugai";}publicStringuser_xiugai_handle(Useruser){this.userService.updataUserInfo(user);this.session.setAttribute("msg",Msg.success("您好尊敬的管理员,修改的信息保存成功!"));return"redirect:userlist";vs={"viewlist"},ms={RequestMethod.GET)}管理员可以不用经过繁琐的用户注册操作,而直接新增系统用户的权限,管理员新增用户界面如图5-5所示:图5-5管理员新增用户界面主要实现代码如下:publicStringyonghu_cahru(Stringusersmingzi,StringuseryouxiangStringusersmima){this.userService.insertUser(userminziuersyouxaing,uersmima);this.session.setAttribute("msg",Msg.success("尊敬的管理员您好,新增用户成功"));return"redirect:userlist";}publicStringuserSectionDelete(String[]useridentity){String[]test=uids;intlengthss=uids.length;for(inttemp=0;temp<lengthss;++temp){Stringuseridentity=test[temp];this.userService.userDelete(useridentity);}}5.2.3景点信息管理功能景点信息的整合界面的实现效果对用户的使用体验将产生最为直观的影响,必须保证该模块的完整性和实用性,在保证信息有效的前提下,让景点信息界面方便用户浏览,为提升用户寻找合适景点提供有效帮助。景点信息管理界面如图5-6所示::图5-6景点信息管理界面主要实现代码如下:publicStringjingdian(ViewPointExamplelizi,Modelmodel,HttpServletRequestxuqiu){lizi.setOrderByClause("spot_identitydesc");Stringprefix="/information/date/refoo";List<ViewPoint>jingdian=this.viewPointService.selectByExample(lizi);Iteratorans=jingdianerator();while(ans.hasNext()){ViewPointjingdianoint)ans.next();Stringsuffix=jingian.getTpVpic();jingdian.setTpVpic(prefix+suffix);}model.addAttribute("jingdian",ViewPoint)}publicStringjdpiliangxiugai(Integer[]viewpointid){Integer[]test=viewpointid;intlengthss=viewpointid.length;for(inttemp=0;temp<lengthss;++temp){Integerviewpointid=test[temp];this.viewPointService.deleteviews(viewpointid);}其中关于管理员的景点编辑发布功能,实现效果如图5-7所示:图5-7景点编辑发布界面主要实现代码如下:publicStringjingdianxxiugai(Integerspot_identity,Modelmodel){ViewPointjingdian=this.viewPointService.selectByPrimaryKey(tpVid);model.addAttribute("jingdian",viewPoint);return"admin/jiudian_bianji";}publicStringviewEditHandle(ViewPointjingdian){this.viewPointService.updateByPrimaryKeySelective(jingdian);this.session.setAttribute("msg",Msg.success("尊敬的管理员您好,景点信息保存成功!"));return"redirect:viewlist";}其中关于管理员对景点详细信息查看的界面,实现结果如图5-8所示:图5-8景点详细信息查看界面主要实现代码如下:publicStringjingdian_cont(Integerspot_id,Modelmodel){ViewPointjiudian=this.viewPointService.selectByPrimaryKey(spot_id);Stringprefix="/information/data/dynamic";Stringsuffix=viewPoint.gejiudianphone();viewPoint.setTpVpic(prefix+suffix);model.addAttribute("jiudian",viewPoint);return"admin/view_Jiudian_cont";}管理员可以为用户提供来自五湖四海的景点信息通过管理员独有的景点新增功能,通过上传景点的基础信息、详细信息为用户提供预览服务。实现效果如图5-9所示:图5-9景点新增界面主要实现代码如下:publicStringjingdianxinzheng(ViewPointjingdian){if(viewPoint.getviewpoint()==null){this.viewPointService.insertView(jingdian);this.session.setAttribute("msg",Msg.success("尊敬的管理员您好,新增景点成功!"));return"redirect:viewlist";}else{this.session.setAttribute("msg",Msg.fail("尊敬的管理员您好,新增景点失败!"));return"redirect:viewlist";}}5.2.4酒店信息管理功能系统中关于酒店的详细信息管理与景点管理类似,具体核心代码也类似景点核心代码,管理员发布内容时还可以选择酒店照片、视频、酒店官网链接等有效内容的加入,更加丰富的展示酒店具体页面如图5-10所示:图5-10酒店信息管理界面主要实现代码如下:publicStringjiudianliebiao(Modelmodel){ HotelExampleexample=newHotelExample(); Stringprefix="/information/data/jiudianxxi/"; //设置相应的prefix example.setOrderByClause("Jiudian_identitydesc"); List<Jiudian>jiudians=jiudianDao.selectByExample(example); for(Jiudianjiudian:jiudians){ Stringsuffix=jiudian.getImgUrl(); //这里是获取我们存放的picture的路径 jiudian.setImgUrl(prefix+suffix); } model.addAttribute("jiudians",jiudians); return"admin/jiudian_list"; }其中管理员对酒店详细信息边编辑功能,实现结果如图5-11所示:图5-11酒店信息编辑界面主要实现代码如下:publicStringjiudianEdit(IntegerJiudian_id,Modelmodel){ Jiudianjiudian=jiudianDao.selectByPrimaryKey(Jiudian_id); model.addAttribute("jiudian",jiudian); return"admin/jiudian_bianji"; //进行返回 }publicStringjiudianEditHandle(Jiudianjiudian){ jiudianDao.updateByPrimaryKeySelective(jiudian); session.setAttribute("msg",Msg.success("酒店信息保存成功!")); return"redirect:jiudianlist"; }其中关于管理员对酒店详细信息查看的界面,实现结果如图5-12所示:图5-12酒店信息查看界面主要实现代码如下:publicStringjiudianJiudian_cont(IntegerJiudian_id,Modelmodel){ Jiudianjiudian=jiudianDao.selectByPrimaryKey(Jiudian_id); Stringprefix="/information/data/jiudianAvatar/"; //具体prefix Stringsuffix=jiudian.getImgUrl(); //这里是获取我们存放的picture的路径 jiudian.setImgUrl(prefix+suffix); //对url进行设置 model.addAttribute("jiudian",jiudian); return"admin/jiudian_Jiudian_cont"; }5.2.5论坛资讯管理论坛资讯管理界面主要对用户发布主题、用户回复内容、用户留言等信息的详细记录并且管理,实现界面如图5-13所示:图5-13论坛资讯管理界面主要实现代码如下:publicStringforumDelete(Integerformula_identity,Modelmodel){this.forumDao.deleteByPrimaryKey(formula_identity); //通过数据表主键对资讯内容进行批量删除model.addAttribute("msg",Msg.success(formula_identity+"号批量删除成功!"));return"redirect:forumList";}publicStringforumcharuForm(){return"admin/forum_charu";}value={"forumcharut"},method={RequestMethod.POST}论坛资讯主题不仅仅可以用户添加、管理员也可以进行添加、达成公告通知等作用,也可以收集用户体验反馈等等作用,以下是帖子新增图,如图5-14所示:图5-14论坛资讯帖子新增界面主要实现代码如下:publicStringluntancharu(Forumluntan,Modelmodel){if(luntan.getformula_identity()==null){ //判断是否为空this.forumDao.insert(luntan); //插入新的论坛资讯model.addAttribute("msg",Msg.success("尊敬的用户您好,新增成功!"));return"redirect:forumList";}else{model.addAttribute("msg",Msg.fail("尊敬的用户您好,新增失败!"));return"redirect:forumList";}}当然管理院还具有对用户发布的论坛资讯内容进行删除,或者适当修改的操作,对用户发布的论坛资讯进行有利引导等等作用,也可以添加内容,留下管理员的想法。如图5-15所示:图5-15论坛资讯修改界面主要实现代码如下:publicStringluntanformbianji(Integerformula_identity,Modelmodel){Forumforum=this.forumDao.selectByPrimaryKey(formula_identity); //通过主键选择到我们要修改编辑的论坛资讯条目model.addAttribute("formula_identity",forum);return"admin/luntan_bianji";}publicStringluntanbianji(Forumluntan,Modelmodel){this.forumDao.updateByPrimaryKeySelective(luntan);//通过主键选择到我们要修改编辑的论坛资讯条目model.addAttribute("msg",Msg.success("尊敬的用户您好,更新成功!"));return"redirect:forumList";}5.2.6留言/回复评论模块留言/回复模块主要由用户给管理员、用户发布的内容进行留言评价发表自己的想法,留言/回复的内容有用户id和内容还有留言/回复时间的消息,留言/回复完成后即可查看平台上所有用户的留言/回复的信息,也可以对其进行批量删除操作。实现界面如图5-16、图5-17所示:图5-16留言列表管理界面主要实现代码如下:publicStringliuyanliebiao(Modelmodel){List<Words>byWords=this.viewPointService.findByWords();model.addAttribute("byWords",byWords);return"admin/liuyan_liebiao";}publicStringwordsMutiDelete(Integer[]formula_identity,Modelmodel){Integer[]lengthss=formula_identity;inttemp=formula_identity.length; //获取长度for(inttest=0;test<temp;++test){//通过for循环进行定位Integerformula_identity=lengthss[test];this.wordsDao.deleteByPrimaryKey(formula_identity);}}图5-17回复列表管理界面主要实现代码如下:publicStringhuifuliebiao(Modelmodel){List<Reply>replys=this.viewPointService.findByReply();model.addAttribute("replys",replys);return"admin/reply_list";}publicStringreplyMutiDelete(Integer[]lr_ids,Modelmodel){Integer[]lengthss=formula_identity;inttemp=formula_identity.length;for(inttest=0;test<temp;++test){Integerformula_identity=lengthss[test];this.replyDao.deleteByPrimaryKey(formula_identity);}}5.3用户角色功能5.3.1首页登录注册用户在登录之前,需要填写注册信息,包括详细的用户名、邮箱、密码以及确认密码等详细信息方能注册成功,其中密码的验证最为重要。注册以及用户登录界面设计如图5-18、图5-19所示:图5-18用户注册界面主要实现代码如下:publicStringzhuce(Stringusersna,Stringuseremail,Stringuserpassword,Stringuserpasswords,Modelmodel){if(useremail!=null&&userpassword!=null&&!useremail.trim().equals("")&&!userpasswords.trim().equals("")){if(!userpasswords.equals(userpassword)){model.addAttribute("msg",Msg.fail("尊敬的用户您好,密码错误!"));}else{this.userService.insertUser(usersna,useremail,userpasswords);model.addAttribute("msg",Msg.success("用户注册成功!"));}}else{model.addAttribute("msg",Msg.fail("尊敬的用户您好,输入不可为空,请认真核对!"));}System.out.println(!useremail.trim().equals(""));return"proscenium/user/regs";} 图5-19用户登录界面 主要实现代码如下:publicStringyonghudenglu(Stringuseremails,Stringuserpassword,Modelmodel){Stringprefix="/information/data/yonghu/";if(useremails!=null&&useremails!=""&&userpassword!=null&&userpassword!=""){Useruser=this.userService.userLogin(newUser(useremails,userpassword));if(user!=null){Stringsuffix=user.getUserpic();user.setUserpic(prefix+suffix);this.session.setAttribute("user",user);return"redirect:/index";}else{this.session.setAttribute("msg",Msg.fail("尊敬的用户您好,请认真核对一下邮箱信息是否有误,或者未注册!"));return"redirect:/index";}}else{this.session.setAttribute("msg",Msg.fail("尊敬的用户您好,请输入邮箱信息!"));return"redirect:/index";}}其中用户可以通过在注册、登录之后进入个人信息界面,对自己的个人信息进行详细的修改和完善,如图5-20、图5-21所示:图5-20用户个人信息编辑界面主要实现代码如下:publicStringyonghubianji(Useruser){Stringprefix="/information/data/user/";this.userService.updataUserInfo(user);Stringsuffix=user.getUserpic();user.G=setUserpic(prefix+suffix);this.session.setAttribute("user",this.userService.userGet(user.getUserpic())); //发送massage给用户进行提示this.session.setAttribute("msg",Msg.success("尊敬的用户您好,您的信息更新成功!"));//返回到用户编辑界面return"proscenium/user/edit";}图5-21用户个人信息界面主要实现代码如下:publicStringinfo(Stringuseridentity){ Useruser=userService.userGet(useridentity); Stringprefix="/information/data/user/"; Stringsuffix=user.getUserpic(); user.setUserpic(prefix+suffix); session.setAttribute("user",user); System.out.println(user); //运行后返回值用户个人信息 return"proscenium/user/info"; }5.3.2主页、景点、酒店、关于我们模块界面主页、景点页面和酒店页面以及关于我们四个界面的显示,主要是通过具体图片文字等内容的描述,JSP是在传统的HTML代码中插入JSP脚本语言(Java语言)的动态页面技术.本文使用XML文件在Web服务器上进行数据存储,并用JSP技术来显示数据,从而完成一个管理信息系统的设计和实现[17]让用户了解这些酒店、景点等资源的信息,为用户出游提供了选择。其中主页面如5-22所示:图5-22主页界面主要实现代码如下:<divclass="itemactive"><imgsrc="/information/ziyuan/pictures/view/paluse.png"alt="Firstslide"><divclass="carousel-caption"><h1>让我们一起,脚踏星河,奔赴暖阳</h1>ClosingWebApplicationContextfornamespace</h5><strong>景点价格:${viewPoint.spot_prs}</strong>|<strong>类型:${viewPoint.spot_types}</strong><br><strong>等级:${viewPoint.spot_level}</strong>|<strong>开放时间:${viewPoint.spottiming}</strong>|详细地址:${fn:substring(viewPoint.spot_zip,0,7)}...<br/>电话:${viewPoint.spot_pictrue}<divclass="form-group"style="text-align:right;"><aclass="btn"style="color:#0b93d5"href="/view/spot_cont?tpVid=${viewPoint.spot_identitty}">查看更多»</a>其中对用户展示的景点界面和酒店界面如图5-23、图5-24所示:图5-23景点界面主要实现代码如下:<li><ahref="/view/spot"><iclass="fafa-dashboard"></i>旅游景点</a></li><li><ahref="#">SHOW</a></li><divclass="box-tools"><formaction="/view/viewPointSearch"method="get"><divclass="input-groupinput-group-sm"style="width:150px;"><inputtype="text"name="keyword"class="form-controlpull-right"placeholder="景点搜索..."<divclass="input-group-btn"><buttontype="submit"class="btnbtn-default"><iclass="fafa-search"></i></button>图5-24酒店界面主要实现代码如下:<ahref="/jiudian/Jiudian_cont?Jiudian_id=${jiudian.Jiudian_id}"><%--<imgsrc="${viewPoint.tpVpic}"alt="..."class="img-rounded">--%><imgsrc="${jiudian.imgUrl}"alt="..."></a><divclass="caption"><h3>${jiudian.Jiudian_title}</h3><ol><li><pstyle="color:#ffa309">城市:${jiudian.Jiudian_local}|房屋类型:${jiudian.houseType}|床类型:${jiudian.bedType}</p></li><li><pstyle="color:#0b93d5">价格:¥${jiudian.Jiudian_price}|详细地址:${hotel.Jiudian_zip}</p></li></ol></div><divclass="form-group"style="text-align:right;"><aclass="btn"style="color:#0b97c4"href="/jiudian/Jiudian_cont?Jiudian_id=${jiudian.Jiudian_id}">查看详情»</a>其中关于我们界面如图5-25所示:图5-25关于我们界面主要实现代码如下:<head> <Jiudian_title>MyShop|登录</Jiudian_title> <jsp:includepage="../../../includes/header.jsp"/></head><bodyclass="skin-bluelayout-top-nav"style="height:auto;min-height:100%;"><divclass="wrapper"style="height:auto;min-height:100%;"> <jsp:includepage="../../../includes/top_navigation_reception.jsp"/><divclass="col-lg-12"style="padding:0;"><imgsrc="/static/assets/img/test/grass.png"style="width:100%"class="img-responsive"><br></div>关于我们|US<small>展示</small></h1><olclass="breadcrumb"><br><li><ahref="/about/index"><iclass="fafa-dashboard"></i>关于</a></li><li><ahref="#">我们</a></li>5.3.3留言模块用户角色可以在景点、酒店、论坛资讯具体下方留言,留下自己的想法或者疑问,届时会有管理员或者用户看到会回复,通过交流可以给旅游增加新的色彩,找寻到新的趣味如图5-26所示:图5-26留言信息界面主要实现代码如下:publicStringJiudian_cont(Integerformula_identity,Modelmodel){ //对用户的留言信息进行封装操作 List<Words>byWords=viewPointService.findByWords(); model.addAttribute("formula_list",byWords); //对用户的回复信息进行封装操作 List<Reply>byReply=viewPointService.findByReply(); model.addAttribute("formula_list",byReply); Forumforum=forumDao.selectByPrimaryKey(formula_identity); model.addAttribute("forum",forum); return"proscenium/forum/content"; //返回值论坛的详细界面 }5.3.4具体酒店、景点信息界面用户角色可以在景点、酒店界面里点击具体酒店或者景点进入查看详细信息,除了留下自己的想法或者疑问,也可以看见具体的信息,地址、价格、电话、照片和视频、还有提供更加深入了解的信息如下图5-27所示:图5-27具体景点照片以及视频主要实现代码如下:publicStringviewJiudian_cont(Integerspot_identity,Modelmodel){ List<Words>formula_list=viewPointService.findByWords(); model.addAttribute("formula_list",formula_list); //对景点的信息进行封装操作 List<Reply>formula_list=viewPointService.findByReply(); model.addAttribute("formula_list",formula_list); //对景点的信息进行封装操作 ViewPointviewPoint=viewPointService.selectByPrimaryKey(spot_identity); model.addAttribute("viewPoint",viewPoint); return"proscenium/viewpoint/Jiudian_cont"; }5.3.5论坛资讯模块用户在查看信息资源时,需要论坛资讯这样子的平台来进行更加深入有针对性的交流。论坛资讯的存在是为国家吸收民众智慧提供了便捷性。用户们自己以自己为出发点,大家可以再这里侃侃而谈,将自己的智慧通过互联网这个大平台交织在一起。实现界面如图5-28所示:图5-2
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年杭州科技职业技术学院单招职业技能测试题库附答案
- 2026年经典心理考试题库及答案1套
- 2026年检察保密知识测试题完整参考答案
- 2026年四川艺术职业学院单招职业适应性测试模拟测试卷及答案1套
- 2026年团员入团知识测试题及一套答案
- 2026云南昭通市水富市文化馆城镇公益性岗位人员招聘1人笔试备考题库及答案解析
- 2026年吕梁师范高等专科学校单招职业倾向性测试题库附答案
- 2026年天津医学高等专科学校单招职业适应性测试题库及答案1套
- 2026年新乡医学院三全学院单招综合素质考试模拟测试卷附答案
- 2026广东茂名市化州市投资审核中心招聘合同制工作人员5人笔试备考试题及答案解析
- 2025年人工智能训练师(三级)职业技能鉴定理论考试题库(含答案)
- 智慧产业园仓储项目可行性研究报告-商业计划书
- 财务部门的年度目标与计划
- 消防管道拆除合同协议
- 四川省森林资源规划设计调查技术细则
- 银行外包服务管理应急预案
- DB13T 5885-2024地表基质调查规范(1∶50 000)
- 2025年度演出合同知识产权保护范本
- 青少年交通安全法规
- 区块链智能合约开发实战教程
- 2025年校长考试题库及答案
评论
0/150
提交评论