0012springboot旅游网站的设计与实现
项目清单 包安装运行 官网地址 http://chenqi1990.site
0012springboot旅游网站的设计与实现
github 项目仓库 开源仅有后端代码
点击播放视频 ▼
课题开发的背景
从古至今,通过书本获取知识信息的方式完全被互联网络信息化,但是旅游借还,对于旅游网站工作来说,仍然是一项非常重要的工作。尤其是旅游信息文化,这个周期的信息登记,传统人工记录模式已不符合当前社会发展和旅游管理工作需求。对于旅游的路线,传统的方式都是通过纸质进行对旅游路线的查看及购买,方便用户查找可以能够快一点的找到某旅游的路线信息。
随着社会的发展,科技的进步互联网技术变得越来越普及,网络交流的生活方式已经逐渐的受到了广大人民群众的喜爱,越来越多的网络爱好者开始在网络上满足自己的衣食住行及自己的工作学习,同时也渐渐的步入到了各个用户。网络有许多的优点,比如方便、快捷、效率高并且成本低,你可以足不出户就可以获取到自己所需的旅游信息。因此,类似网上旅游管理系统满足了足不出户以及工作繁忙的客户的需求,目前,建立网络管理系统,本旅游网站系统的开发是采用JSP技术为基础,以Mysql为数据库进行开发的。
1.2 课题研究的意义
据数据调查显示,对于网络使用用户数达到5.6亿,相比往年增长较快,人们通过网络的方式已经形成了一种依赖,不管需要什么信息内容,直接在网上进行查找及操作,参考比较大,对旅游管理的特点和其他管理系统的优势有了详细的了解,让用户有了更有针对性的选择。这也给用户带来非常大的方便,用户可以不用像传统的方式还要去实体店进行统计旅游路线和景点信息并且进行在线下单等,这样不仅耽误自己的时间,而且比对过程比较单一,了解不那么透彻,所以对于网上旅游网站是人们现在所依赖的一种在线旅游管理的一种方式。
旅游网站的开发和使用对于用户而言是非常有利的。首选,管理员可以将系统里所有的公告信息及旅游信息等上传到系统上,用户可以根据自身的实际情况进行相应旅游借阅及归还,不受空间和时间的限制,弥补了其在实体店理上的疏漏。如此一来,用户不仅可以查看旅游路线信息并且在线下单,在闲余的时间还能进行有针对性的对旅游信息进行了解,与过去传统的旅游管理方式相比,这种网络互动更具灵活性和新鲜感,更容易激发用户的需求。在网络平台上,还可以进行在线查阅和在线购买的管理统计,即促进了管理员的工作,还方便后期旅游管理信息的制定和修改。网上旅游网站网络互动实现了个人中心、用户管理、路线分类管理、旅游路线管理、最新路线管理、系统管理、订单管理管理等信息处理和传递、资源信息交流的共享和下载,使得旅游网站效率得到了极大的提高。
1.3 研究内容
目前许多人仍将传统的纸质工具作为信息管理的主要工具,而网络技术的应用只是起到辅助作用。在对网络工具的认知程度上,较为传统的office软件等仍是人们使用的主要工具,而相对全面且专业的信息管理软件仍没有得到大多数人的了解或认可。本选题则旨在通过标签分类管理等方式,实现旅游网站系统的各种功能,从而达到对旅游借还相关信息的管理。
详细内容介绍,将在以下六章中详细阐述:
第一章、绪论,介绍了研究课题选择的背景及意义、研究现状,简要介绍了本文的章节内容。
第二章、引入技术知识,通过引入关键技术进行开发,向系统中涉及直观表达的技术知识。
第三章、重点分析了系统的分析,从系统强大的供需市场出发,对系统开发的可行性,系统流程以及系统性能和功能进行了探讨。
第四章、介绍了系统的详细设计方案,包括系统结构设计和数据库设计。
第五章、系统设计的实现,通过对系统功能设计的详细说明,论证了系统的结构。
第六章、系统的整体测试,评判系统是否可以上线运行。
第二章 系统开发关键技术
2.1 JSP技术介绍
JSP技术本身是一种脚本语言,但它的功能是十分强大的,因为它可以使用所有的JAVA类。当它与JavaBeans 类进行结合时,它可以使显示逻辑和内容分开,这就极大的方便了用户的需求。JavaBeans 可以对JSP技术的程序进行扩展,从而形成新的应用程序,而且JavaBeans的代码可以重复使用,所以就便于对程序进行维护。JavaBean 组件有内部的接口,可以帮助不同的人对系统进行访问。1999年,Sun微系统公司正式推出了JSP技术,这是一种动态技术,是基于整个JAVA体系和JavaServlet提出的,是具有普遍适用性的WEB技术,也是本系统设计的核心技术之一。JSP技术能够极大的提高WEB网页的运行速度。这些内容会与脚本结合,并且由JavaBean和Servlet组件封装。所有的脚本均在服务器端运行,JSP引擎会针对客户端所 提交的申请进行解释,然后生成脚本程序和JSP标识,然后通过HTML/XML页面将结果反馈给浏览器。因此,开发人员亲自设计最终页面的格式和HTML/XML标识时,完全可以使用JSP技术。
所以结合旅游网站系统的需求及功能模块的实现,使用JSP技术是最合适的,而且JSP的拓展性比较好,对于系统在后期使用过程中可以不断对系统功能进行拓展,是系统更完成,更方便的满足用户管理。
2.2 JAVA简介
Java主要采用CORBA技术和安全模型,可以在互联网应用的数据保护。它还提供了对EJB(Enterprise JavaBeans)的全面支持,java servlet API,JSP(java server pages),和XML技术。JAVA语言是一种面向对象的语言,它通过提供最基本的方法来完成指定的任务,开发者只需要知道一些概念就能够编写出一些应用程序。Java程序相对较小,其代码能够在小机器上运行。Java是一种计算机编程语言,具有封装、继承和多态性三个主要特性,广泛应用于企业Web应用程序开发和移动应用程序开发。
Java语言和一般编译器以及直译的区别在于,Java首先将源代码转换为字节码,然后将其转换为JVM的可执行文件,JVM可以在各种不同的JVM上运行。因此,实现了它的跨平台特性。虽然这使得Java在早期非常缓慢,但是随着Java的开发,它已经得到了改进。
2.3 MyEclipse开发环境
MyEclipse支持广泛、兼容性高并且功能强大,是一个Eclipse 插件集合,普遍适应于JAVA和J2EE的系统开发,支持 JDBC,Hibernate,AJAX,Struts,Java Servlet,Spring,EJB3等市面上存在的几乎所有数据库链接工具和主流Eclipse产品 开发工具。
MyEclipse在业内是所熟知的开发工具,该平台在开发的过程中运用的就是该工具。MyEclipse又被称之为企业级的工作平台,它是以Eclipse IDE为基础的。MyEclipse可以帮助我们进行数据库的研发和J2EE的使用,除此之外,还可以提高系统的运营能力,这突出表现在服务器的整合过程中。MyEclipse的功能相当完备,能够为J2EE的集成提供必要的环境支持,从而完成编码、测试、调试及发布等功能。它可以支持JSP,HTML,SQL,Javascript,Struts, CSS等。
2.4 Tomcat服务器
Tomcat属于一种轻型的服务器,所以说在中小企业中并不具有普适性。但是当程序员需要开发或调试JSP 程序时,则通常会将该服务器作为首选。对于一个仅具有计算机基础知识的人来说,计算机系统具有一个好的Apache服务器,可以很好的对HTML 页面进行访问。Tomcat 虽然是Apache的扩展,但是它们都是可以独立运行的,二者是不互相干扰的。当配置正确的时候,Apache服务器为HTML 页面的运行提供技术支持,Tomcat 的任务则是运行Servle和JSP 页面。Tomca也具有一定的HTML页面处理功能。
2.5 Spring Boot框架
Spring Boot是Pivotal团队的一个新框架,旨在简化新Spring应用程序的初始设置和开发。该框架使用特定的配置方法,无需开发人员定义样板配置。通过这种方式,Spring Boot旨在成为蓬勃发展的快速应用程序开发领域的领导者。
Spring Boot特点:
1、创建一个单独的Spring应用程序;
2、嵌入式Tomcat,无需部署WAR文件;
3、简化Maven配置;
4、自动配置Spring;
5、提供生产就绪功能,如指标,健康检查和外部配置;
6、绝对没有代码生成和XML的配置要求;
安装步骤:
最基本的是,Spring Boot是一个可以被任何项目的构建系统使用的库集合。 为简单起见,该框架还提供了一个命令行界面,可用于运行和测试Boot应用程序。 可以从Spring存储库手动下载和安装框架的已发布版本,包括集成的CLI(命令行界面)。 更简单的方法是使用Groovy enVironment Manager(GVM),它负责处理Boot版本的安装和管理。 可以从GVM命令行GVM install springboot安装Boot及其CLI。 在OS X上安装Boot时可以使用Homebrew包管理器。要完成安装,首先使用brew tap pivotal / tap切换到pivotal存储库,然后执行brew install springboot命令。
2.6 MySQL数据库
Mysql的语言是非结构化的,用户可以在数据上进行工作,并且其语言简单,学习起来比较容易,其结构也简单,功能强大,存储信息量大,Mysql主要应用于数据的查询和编程,现在普遍存在的关系数据库有很多,并得到了普遍的应用。使用Mysql数据库在编程过程中带来了极大的方便,可以对数据进行广泛地查询,Mysql数据库的应用并不需要用户了解其存储的方式,更不用掌握数据存放的方法,Mysql数据库的灵活性较强,功能也较强大,大多数情况下,在其他程序中实现某功能需要编写一大堆代码,而在Mysql数据库中只需要一小段代码就可以实现功能,所以,Mysql数据库的语言较简洁。
数据表的建立,可以对数据表中的数据进行调整,数据的重新组合及重新构造,保证数据的安全性。介于数据库的功能强大等特点,本系统的开发主要应用了Mysql进行对数据的管理。
第三章 系统分析
开发一个系统首先要对系统进行分析,是开发者针对系统实际客户对软件应用的一个调查访问和研究,弄清用户对软件需求的具体要求,同时开发者还要对系统开发的经济和可技术上是否可行进行分析,并确定系统开发的成本和进度约束。还要与用户确定总体目标等。系统分析还要充分考虑系统的市场潜力和竞争力,最终将这些问题确定并进行总结,将结果纳入系统设计规格说明中,最终确定开发功能和详细的实现。
通常选用计算机软件进行开发一款信息化管理系统,主要将软件系统功能利用JSP技术和MYSQL数据库而开发。以下是对本系统的可行性研究、需求分析、功能分析及业务流程描述进行介绍。
3.1 系统可行性研究
1、经济可行性分析
旅游网站的开发是由开发者自己设计研究所开发,不需要购买其他软件或者端口之类的,而且在系统的开发之前所做的市场调研及其他的旅游管理相关系统,都是没有任何费用的,都是通过开发者自己的努力,所有的工作都是自己亲力亲为,在碰到自己比较难以解决的问题,大多是通过同学和指导老师的帮助进行相关信息的解决,所以对于旅游网站的开发在经济上是完全可行的,没有任何费用支出的。
2、技术可行性
本旅游网站在Windows操作系统中进行开发,并且目前PC机的性能已经可以胜任普通旅游网站系统的web服务器。旅游网站系统的开发所使用的技术也都是自身所具有的,也是当下广泛应用的技术之一。
系统的开发环境和配置都是可以自行安装的,系统使用JSP开发技术,使用比较成熟的开发环境进行对功能的实现及程序的交互,根据技术语言对开发环境的安装管理,结合需求进行修改维护,可以使得旅游网站运行更具有稳定性和安全性,从而完成实现网上旅游网站的开发。
3、操作可行性
旅游网站系统的界面简单易操作,用户只要平时有在用过电脑,都能进行访问和操作。计算机网络使人们的生活更快捷更有效率。在这个飞速发展的社会里,人们对工作效率的要求越来越高,操作性也越来越强。因此,以计算机和计算机网络为基础的管理系统是社会发展的必然趋势。日新月异的智能软件使我们逐渐从原来的手工操作转变为现在的人工智能。该系统操作简单,管理方便,交互性强,操作简单。因此,该系统在操作上是非常可行的。
3.2 性能分析
实用性:旅游网站系统基于市场研究开发的实际需要,用户界面清晰易懂,符合使用人员的功能需求。当使用太多人时,服务器会产生大量的数据流量,响应时间会有一些延迟。
平台安全:旅游网站是开放性的操作系统平台,不涉及付款及其他支付的功能,所以不涉及资金的往来,该系统主要是工作人员来管理平台上的内容便于传输和保存数据,数据备份功能将不会透露任何信息。
稳定性:旅游网站开发系统操作必须有一定程度的稳定性,设计使用安全技术及开发环境进行数据传输,稳定性极佳。
可伸缩性:每个程序的开发过程,不是一蹴而就的,在使用用户的过程中,会有很多不完善的地方,需要改进功能,重新添加新功能等等,这就需要程序的可扩展性、各种功能模块的开发以及独立开发的可行性。
响应性:该系统能够快速响应用户的请求,返回正确、实时的有效信息,尽可能避免失速和碰撞问题。
处理能力:对于系统的异常可以进行有效的处理,可以在异常发生后及时备份,恢复到以前的状态,对数据不进行破坏或修改。
3.3 业务流程分析
1、登录流程图如下:
登录流程,系统登录必须输入正确的登录信息。登录流程图如图3-2所示。
图3-2用户登录流程图
2、管理员后台管理流程图如下:
管理员通过登录成功进入到系统操作界面,可以根据系统界面的功能模块,管理员进行修改维护等操作。如图3-3所示。
图3-3管理员后台管理流程图
\2. 修改密码流程图如下:
用户修改登录密码时,用户名是固定不变,只要直接输入新密码即可。新密码只要不空,输入后点击提交即可成功修改。具体如图3-4所示。
图3-4修改密码流程图
第四章 系统的总体设计
4.1 系统功能结构设计
架构设计的目的是反映一个结构和其他元素之间的关系,抽象,通常用于指导大型软件系统。将一个巨大的任务细分为多个小任务的过程是系统架构的总体设计。完成小任务后,整个任务就可以完成了。具体的实现过程是分解系统,分析各部分的功能、接口和逻辑关系。信息传递的设计,最后一步是优化,系统的大体功能靠两部分展现,它们分别是前端平台和后端平台,应用MVC开发框架,页面是一个一个模块组建而成的,层次结构分明,思想运用的是面向对象,一个实体对应一个数据类型,还要对每个数据类添加一个实施类。
架构设计的用途是反映一个结构内的元素与别的元素之间的关系,有抽象性,一般用于为大型软件系统提供指导。将庞大的任务具体细分为多个小人物的过程就是系统架构的整体设计,对细小任务进行整合后就可以完成整个任务,具体实现过程是分解系统,对各个部分的功能、界面和逻辑关系、信息传输予以设计,最后是进行逐步的优化。
用户拥有最高管理权限。通过以上需求分析的调查与研究,将系统的总体功能定义如下图4-1所示。
图4-1 系统总体功能结构图
4.2 数据库概述
在对软件系统分析后,就开始进行软件设计了。在对软件数据库进行设计时,就要先对软件进行一个概念性数据模型设计,来对用户的数据要求清晰明了的表达,从而减少数据运行更加的规范化和减少数据的冗余。
4.2.1 数据库概念设计
实现数据概念模型,我们必须采取数据作为起点,做好数据收集和处理的控制,分析它们之间的关系,得到其逻辑模型,该模型不理解的方式来实现和细节性问题,只要系统中数据的状态处理阶段。
我们分析特定用户的需求的功能系统,详细设计在线系统的ER图,我们可以在多个实体之间获得详细的关系模型,如下图所示:实体模型图之间的关系:
(1)用户E-R图
图4-2管理员E-R图
(2)订单信息信息E-R图
图4-4 旅游路线信息E-R图
(3)旅游路线信息E-R图
图4-4 旅游路线信息E-R图
4.2.2 数据库逻辑设计
我们可以根据数据结构的详细分析要求,我们根据输入和输出数据量的要求进行分析,确定什么表表,结构之间的关系,我们可以验证, 调整和完善,查询和浏览过程,可以实现数据库,以使用户对数据和功能有更多要求。
表4-1:address信息表
列名 | 数据类型 | 长度 | 约束 | 说明 |
---|---|---|---|---|
id | bigint | 20 | PRIMARY KEY | 主键 |
userid | bigint | 20 | NOT NULL | 用户id', |
address | varchar | 200 | NOT NULL | 地址' |
name | varchar | 200 | NOT NULL | 收货人 |
phone | varchar | 200 | NOT NULL | 电话' |
isdefault | varchar | 200 | NOT NULL | 是否默认地址[是/否] |
表4-2:cart信息表 |
列名 | 数据类型 | 长度 | 约束 | 说明 |
---|---|---|---|---|
id | bigint | 20 | PRIMARY KEY | 主键 |
tablename | varchar | 200 | NOT NULL |
商品表名 |
userid | bigint | 20 | NOT NULL |
用户id' |
goodid | bigint | 20 | NOT NULL |
商品id' |
goodname | varchar | 200 | NOT NULL |
商品名称 |
picture | varchar | 200 | NOT NULL |
图片', |
buynumber | int | 11 | NOT NULL |
购买数量 |
表4-3:chat信息表 |
列名 | 数据类型 | 长度 | 约束 | 说明 |
---|---|---|---|---|
id | int | 11 | PRIMARY KEY | 主键 |
userid | bigint | 20 | NOT NULL |
用户id |
adminid | bigint | 20 | NOT NULL |
管理员id' |
isreply | int | 11 | NOT NULL |
‘是否回复 |
表4-4:config信息表 |
列名 | 数据类型 | 长度 | 约束 | 说明 |
---|---|---|---|---|
id | int | 11 | PRIMARY KEY | 主键 |
name | int | 255 | NOT NULL |
配置参数名称 |
value | int | 11 | NOT NULL |
配置参数值 |
表4-5:discusslvyouxianlu信息表
列名 | 数据类型 | 长度 | 约束 | 说明 |
---|---|---|---|---|
id | bigint | 20 | PRIMARY KEY | 主键 |
refid | bigint | 20 | NOT NULL |
关联表id |
userid | bigint | 20 | NOT NULL |
用户id’, |
表4-6:discusszuixinxianlu信息表 |
列名 | 数据类型 | 长度 | 约束 | 说明 |
---|---|---|---|---|
id | bigint | 255 | PRIMARY KEY | 主键 |
refid | bigint | 255 | NOT NULL | 关联表id |
userid | bigint | 255 | NOT NULL | 用户id' |
表4-7:lvyouxianlu信息表
列名 | 数据类型 | 长度 | 约束 | 说明 |
---|---|---|---|---|
id | bigint | 20 | PRIMARY KEY | 主键 |
xianlumingcheng | varchar | 200 | DEFAULT NULL | 线路名称' |
xianlufenlei | varchar | 200 | DEFAULT NULL | 线路分类' |
fengmiantu | varchar | 200 | DEFAULT NULL | 封面图', |
jingdianmingcheng | varchar | 200 | DEFAULT NULL | 景点名称 |
chufadi | varchar | 200 | DEFAULT NULL | 出发地' |
mudedi | varchar | 200 | DEFAULT NULL | ‘目的地 |
jiaotongfangshi | varchar | 200 | DEFAULT NULL | 交通方式’ |
clicknum | int | 11 | DEFAULT NULL | 点击次数 |
表4-8:token信息表 |
列名 | 数据类型 | 长度 | 约束 | 说明 |
---|---|---|---|---|
id | bigint | 20 | PRIMARY KEY | 主键 |
userid | varchar | 20 | DEFAULT NULL | 用户id', |
username | varchar | 100 | DEFAULT NULL | ‘用户名 |
tablename | varchar | 100 | DEFAULT NULL | ‘表名 |
role | varchar | 100 | DEFAULT NULL | 角色 |
token | varchar | 200 | DEFAULT NULL | 密码’, |
第五章 系统的实现
5.1登录界面
登录窗口,用户通过登录窗口可以进行登录或注册。还没注册的用户可以进行填写用户名、密码进行注册操作,如图5-1所示,
图5-2登录窗口界面
5.2管理员功能模块
用户登录成功后,可以进行查看个人中心、用户管理、路线分类管理、旅游路线管理、最新路线管理、系统管理、订单管理等功能模块。进行相对应操作。
旅游路线管理:通过列表可以获取路线名称、路线分类、封面图、景点名称、出发地、目的地、交通方式、出行时间、费用包含、价格等信息,进行查看旅游详情或修改、查看评论操作,或新增、删除,如图5-2所示。
图5-2旅游路线界面
旅游资讯:管理员通过列表可以进行查看标题、简介、图片等信息,进行详情、修改或删除操作,并通过新增进行添加旅游资讯信息或删除操作,如图5-3所示。
图5-3旅游资讯界面
订单管理:管理员通过列表可以进行查看订单编号、商品名称、商品图片、购买数量、价格、折扣价格、总价格、支付类型、地址等信息,进行详情、发货或删除操作,并通过输入进行订单编号、商品名称操作,如图5-4所示。
图5-4订单管理界面
客服管理:管理员通过列表可以进行查看新消息或状态等信息,进行查看或回复操作,如图5-5所示。
图5-5客服管理界面图
5.3用户功能模块
用户登录成功后,可以进行查看旅游路线、最新线路、旅游资讯、个人中心、后台管理、购物车、客服等功能模块。进行相对应操作。如图5-6所示。
图5-6前台首页界面
个人中心:通过列表可以进行查看个人中心、我的订单、我的地址、我的收藏等功能,进行相对应操作,个人中心:通过页面可以进行修改用户名、密码、姓名、头像、性别、联系电话、余额等信息,进行更新信息操作,如图5-7所示。
图5-7个人中心界面
个人中心:通过列表可以进行查看个人中心、我的订单、我的地址、我的收藏等功能,进行相对应操作,个人中心:通过页面可以进行修改用户名、密码、姓名、头像、性别、联系电话、余额等信息,进行更新信息操作,如图5-8所示。我的地址:通过列表可以进行查看联系人、手机号码、默认地址等信息、进行添加地址或重置操作,如图5-9所示。
图5-8个人中心界面
图5-9我的地址界面图
购物车:通过列表可以进行查看购买商品、价格、数量、总价等信息、进行查看或删除操作,如图5-10所示。
图5-10购物车界面图
旅游线路:通过列表可以进行查看路线名称、价格、路线分类、景点名称、出发地、目的地、交通方式、出行时间、费用包含、点击次数等信息、进行添加购物车或立即购买、收藏操作,如图5-11所示。用户通过点击立即购买进入页面可以进行选择收货地址进行查看订单信息,进行在线支付操作,如图5-12所示。
图5-11旅游路线界面图
图5-12购买界面图
我的订单:通过列表可以进行查看订单编号、商品、价格、数量、总价、地址等信息、进行查看订单信息或退款操作,如图5-13所示。
图5-13我的订单界面图
旅游资讯:通过旅游资讯可以进行查看订标题、资讯图片、新出路线、等信息、进行查看查看信息或发布旅游资讯信息操作,如图5-14所示。
图5-14旅游资讯界面图
第六章 系统测试