ssm118亿互游在线平台设计与开发+vue(论文+源码)_kaic
毕业设计(论文) | ||
| ||
亿互游在线平台的设计与开发 | ||
学生姓名 | XXX | |
学 号 | XXXXXXXX | |
分院名称 | XXXXXXXX | |
专业班级 | XXXXX | |
指导教师 | XXXX | |
填写日期 | XXXX年XX月 |
摘 要
随着旅游业的迅速发展,传统的旅游资讯查询方式,已经无法满足用户需求,因此,结合计算机技术的优势和普及,特开发了本亿互游在线平台。
本文研究的亿互游在线平台基于SSM框架,采用JSP技术、Java语言和MYSQL数据库设计开发。通过本系统,满足了不同权限用户的需求,包括管理员、用户和前台,用户通过本系统可查看旅游信息,注册登录后还可进行酒店预订、美食购买等,前台注册登录后可实现景点信息管理、路线规划管理、景点美食管理以及住宿信息管理功能,管理员可登录系统后台对系统进行全面管理,确保系统正常稳定运行,更好的为用户服务。
本系统经过测试,运行效果稳定,操作方便、快捷,是一个功能全面、实用性好、安全性高,并具有良好的可扩展性、可维护性的亿互游在线平台。
关键字:亿互游在线平台;SSM框架;JSP技术;MYSQL数据库
Abstract
With the rapid development of the tourism industry, traditional travel information query methods have been unable to meet the needs of users. Therefore, combined with the advantages and popularization of computer technology, an online platform of Benyi Interactive has been specially developed.
The Yihuyou online platform studied in this paper is based on the SSM framework and is designed and developed using JSP technology, Java language and MYSQL database. Through this system, the needs of users with different permissions are met, including administrators, users, and front desks. Users can view travel information through this system. After registering and logging in, they can also make hotel reservations and food purchases. After logging in, the front desk can realize scenic spot information. With the functions of management, route planning management, scenic spot food management, and accommodation information management, the administrator can log in to the system background to fully manage the system to ensure the normal and stable operation of the system and better serve users.
The system has been tested and has stable operation effect, convenient and fast operation. It is an online platform with comprehensive functions, good practicability, high safety, and good scalability and maintainability.
Key words:Yihuyou online platform; SSM framework; JSP technology; MYSQL database
摘 要
Abstract
1 绪论
1.1研究背景
1.2设计原则
1.3论文主要内容
2 相关技术简介
2.1 JSP技术
2.2 B/S结构
2.3 MYSQL数据库
2.4 JAVA技术
2.5 Tomcat简介
3 系统分析
3.1 可行性分析
3.1.1 技术可行性
3.1.2 经济可行性
3.1.3 操作可行性
3.1.4 时间可行性
3.2 系统性能分析
3.3 系统功能分析
3.4 系统流程分析
3.4.1注册流程
3.4.2登录流程
4 系统设计
4.1 系统架构设计
4.2 系统结构设计
4.3 数据库设计
4.3.1数据库E-R图设计
4.3.2数据库表设计
5 系统实现
5.1 用户功能模块的实现
5.1.1用户注册界面
5.1.2用户登录界面
5.1.3景点美食详情界面
5.1.4景点详情界面
5.1.5住址详情界面
5.1.6留言反馈界面
5.1.7我的订单界面
5.2管理员功能模块的实现
5.2.1管理员登录界面
5.2.2前台管理界面
5.2.3用户管理界面
5.2.4邀请信息管理界面
5.2.5留言板管理管理界面
5.3前台功能模块的实现
5.3.1前台注册界面
5.3.2景点信息管理界面
5.3.3景点美食管理界面
5.3.4住宿信息管理界面
6 系统测试
6.1 测试定义
6.2 性能测试
6.3 测试原理
6.4 测试分析
总结
参考文献
致谢
1 绪论
1.1研究背景
时代的发展,我们迎来了数字化信息时代,它正在渐渐的改变着人们的工作、学习以及娱乐方式。计算机网络,Internet扮演着越来越重要的角色,人们已经离不开网络了,大量的图片、文字、视频冲击着我们的视觉。
随着社会生产力的发展,人们的生活水平越来越高。旅游,越来越成为人们一种休闲娱乐的方式。喧嚣的都市,高强度的工作与生活,让很多人身心疲惫[2]。而旅游,则可以调节身心、恢复疲惫和增加人们的阅历。在旅游度假区,既可以了解当地的人文情怀,又可以在碧水蓝天间忘却烦恼[7]。所以,旅游越来越受人民的欢迎。根据联合国世界旅游组织最新发布的《世界旅游晴雨表》,2015年国际游客人数相比2014年增长了4.4%,达到11.84亿人次[5]。随着社会和经济的发展,旅游业已成长为世界经济中发展势头最强劲和规模最大的产业之一。
因此,为了给用户提供一个便利的查看旅游信息、酒店预订以及美食购买的平台,开发了本亿互游在线平台。
1.2设计原则
在开始开发项目之前,必须要先考虑项目的实用性、科学性,以及该项目是否能够真正让用户受益并尽可能的发挥项目的作用。因此,在开发前,通过以下几条原则对项目进行判断:
(1)可行性原则。项目需要保证经济可行性和技术可行性,这包括了项目在浏览端、服务端等方面上的经济和技术上是可以达成的。
(2)适应性原则。项目要保证可维护性和可扩展性,这是每个非短期项目都需要考虑的,并且不论是维护还是扩展,都必须要建立在适应用户的正常需求的基础上。
(3)安全性及保密性原则。要充分保证用户信息的安全性和保密性,不能因为开发上的疏忽,导致用户的信息泄露。
(4)系统工程原则。为了确保项目的整体性,在项目调查、项目分析、项目设计、项目开发的过程中,都需遵从项目工程的方法和步骤逐步进行。
(5)统一规划、分期实施、逐步完善原则。项目开发的过程中,要按照规划、分期实施,特别是要注意在项目开发过程中要有条理,从点到面,一步步完善,不要贪图进度,要循环渐进的对项目进行开发。
1.3论文主要内容
(1)绪论:文章第一个部分从程序开发背景和设计原则进行多方面阐述
(2)开发技术介绍:简单介绍程序开发需要的技术,有语言技术、数据库技术,系统结构介绍,能够对程序开发技术有个大概了解
(3)需求分析:分析系统开发的可行性,降低不必要的损失,从法律,经济,操作等内容讲解程序开发的可行性,还有系统执行过程需要的软硬件环境等内容
(4)系统设计:根据前面需求最后设计出系统功能模块结构图,各个大的功能板块下面具有什么小功能板块,都能够一目了然,数据库里面的数据表设计以表格形式体现,数据库概念结构设计部分通过ER图表示出来,描述部分实体具有的属性等内容
(5)系统实现:程序编码完成阶段,看看系统具有什么样的功能,做出来的系统界面效果图,每个版块部分功能操作的详细实现,都用界面的形式表示,更加明白和了解系统功能
(6)系统测试:程序做出来都要经过多方面的内容测试,本次系统开发测试原理以文字形式阐述,程序最终通过测试,可以给用户投入使用,本程序质量还是有一定保障,后期维护也便捷
2 相关技术简介
2.1 JSP技术
JSP(JavaServer Pages)主是一种动态网页技术标准。 JSP技术有点类似于ASP技术。它将Javascripts(Scriptlets)和JSP标记(标记)插入到传统的网页HTML文件(* .htm,* .html)中,以形成JSP文件(* .jsp)[8]。使用JSP开发的Web应用程序是跨平台的,也就是说,它们可以在Linux下运行并在其他操作系统上运行。
JSP技术使用Java编程语言编写类似XML的标记和scriptlet来封装用于生成动态网页的处理逻辑。 JSP将Web逻辑与Web设计和显示分离,支持可重用的基于组件的设计,并使基于Web的应用程序开发变得快速而简单[9]。与Java Servlet一样,JSP在服务器端执行。通常,客户端返回HTML文本,因此只要它有浏览器,客户端就可以浏览。 JSP页面由HTML代码和嵌入其中的Java代码组成。服务器在客户端请求页面后处理Java代码,然后将生成的HTML页面返回到客户端的浏览器。 JSP易于使用Java技术,完全面向对象,平台无关且安全,主要用于Internet。
2.2 B/S结构
目前软件项目的开发存在两种架构模式,就是B/S模式和C/S模式,C/S模式就是较早流行的客户端和服务端模式,要使用新版应用需要暂停使用更新升级,就好比现在手机上的各种APP应用。而这次课题项目使用的是基于B/S,就是浏览器/服务端而开发的web项目。应用的更新都在服务端上进行,而且项目维护方便,不需要安装,只需要有浏览器和网络就可以了,越来越多的web项目被开发出来,也得到用户的认可。
B/S架构这种只需要用户在浏览器上运行不需要再下载客户端的模式,使用浏览器就可以实现和下载客户端的一样复杂的功能。给管理系统的用户带来了很大的方便,节约了大量的成本。现在B/S架构已经在Web开发上被广泛运用,它的基础内容也在不断的完善更新。
图2-1 B/S模式三层结构图
2.3 MYSQL数据库
本次开发的系统后台采用MySQL数据库来存放数据,MySQL实质是RDBMS(关系型数据库管理系统),源代码开放性比较高,数据库管理的语言采用SQL(结构化查询语言)进行数据管理[14],下面我们就简单介绍SQL语句的一些常用用法。通常我们要创建一个数据库时就会使用“CREATE DATABASE ”命令开头,使用某个数据库时就会以“use+数据库名称”命令,如果想要查看数据库里面数据表就会使用到“SHOW TABLES”命令,当然我们在操作数据表内容时也会使用到某些命令,比如删除就用“drop”,清空就用“delete from”,更新数据就用“update”,需要加入数据的话可以用“insert into ”等命令,这些就是SQL查询语句的惯用语法。这次采用mysql数据库还是源于它备受关注的实用性和可靠性,它里面的大部分功能一般的系统都还用不完,况且mysql小巧但它功能比较齐全,是一般系统软件的开发首选。MySQL开放的源代码通过360安全浏览器可以快速下载下来,程序员可以对这些免费的代码根据自身需求进行个性化定制操作。为了我们能够更好地使用MySQL,平时我们需要多加维护,有空的时候还是多多查看一些二进制日志、错误日志、常规查询日志等日志,它们能够帮助我们进行性能分析以及DBA检查,除了这个还需要注意每间隔一定时间就要更新缓冲区和缓存,这样能够降低碎片,利用OPTIMIZETABLE命令让数据表进行重新组织,还能节省许多空间避免空间浪费。
2.4 JAVA技术
Java是一门伟大的纯面向对象的编程语言和编程语言。同时,它还是Java语言从嵌入式开发到企业级开发的平台。Java凭借其一次编译,任何地方执行的优点,使得盛行的web应用程序有大量的Java编译,很好地支持网络发展跨平台开发所需的功能,成为服务器端主要流行的语言。Java EE至今仍然是企业发展最重要的服务器平台[6]。
鉴于Java语言是一种引用,它可以自动地收集浪费,编程人员不必担心面向对象的内存特性的管理,它具有一系列类别和类型的支持、多个接口和接口的继承,以及一种实现的机制关于类和接口之间的。
此外,Java语言支持Internet上的应用程序开发,Java的接口是Java net,它提供了一个类库,用于编程Web应用程序,可以是一种强大的异常处理机制和自动垃圾收集机制[7]。
编程语言Java的一个目标是适应动态环境。Java程序要求,可以动态加载执行环境或网络,它也有助于软件升级。而且,能进行运行时间的实现,对运行时间类型的控制。
2.5 Tomcat简介
Tomcat在JSP 程序调试中应用广泛,它本身就是一款轻量级的源代码开放的能够支持jsp和servlets的目前比较主流的Web 服务器。普遍适用于中小型开发系统以及同时访问系统的用户数量比较少的场景。Tomcat默认模式实际上是Servlet容器,另外Tomcat服务器它能够处理html文件的功能,这点跟Web服务器和IIS同样。只是在处理html文件上,Tomcat服务器没有Apache服务器优越。Tomcat发展以来,目前已经更新到9.0版本了。之所以选择Tomcat服务器来源于它的先进技术,稳定性能等优点,当然最主要的还是Java程序开发者对Tomcat服务器的接纳和认可,Tomcat服务器也深受某些软件开发商的喜爱。
3 系统分析
3.1 可行性分析
可行性分析是该平台系统进行投入开发的基础第一步,必须对其进行可行性分析才能够降低不必要的需要从而使资源合理利用,更具有性价比和降低成本,同时也是系统平台的成功的未雨绸缪的一步[1]。
3.1.1 技术可行性
大学期间我自己利用空闲时间学习了java编程语言,通过图书馆查阅资料以及利用宿舍电脑上网了解了开发平台,熟悉并研究了jsp开发技术,对web服务器Tomcat有了比较系统的认识,数据库像mysql和sqlserver自己在平时作业中也有一定的接触,基本的操作流程还是很熟悉。对于开发软件基础知识自身还是具备,所以技术上面还是不用担心。
3.1.2 经济可行性
这次我打算开发的系统,源代码我已经在网上找好了,利用360安全浏览器就可以下载,不需要收费,加上我自己上学期间已经配置好的一台笔记本电脑就能进行开发,目前我已经在准备在自己电脑上安装开发平台和mysql数据库等开发软件。这些软件也是自己在网上下载的,不用花钱,这样看来开发亿互游在线平台经济上不需要太多支出,开发出来的系统能为用户提供一个便利的查看旅游资讯的平台,还可以实现旅游线路的预订,所以开发这样的软件很有必要。
3.1.3 操作可行性
在设计之初,我在网上参考了许多相关网站的界面布局设计,发现该系统界面展示比较简单,功能罗列齐全,操作流程简单明了,系统用户不用担心不会操作,系统各个功能模块都会有相应的提示,一看就明白,实在不知道的话,稍微指点就能上手,上手速度很快,时间不会耽误太多。
3.1.4 时间可行性
这次毕业设计学校预留的时间比较充分,从去年10月到今年5月几乎都是毕业设计制作阶段,从完成程序设计、编码、测试,到完成程序配套的论文,时间上面还有剩余,这点上是完全没有压力。
经过上面的分析,此次开发的系统从经济上、从技术上、从操作上、从时间上考虑都能过关。说明自己要开发的亿互游在线平台可行性是完全可行,操作简单,时间、金钱上面毫无压力,该系统开发是完全可行。
3.2 系统性能分析
从性能方面本亿互游在线平台必须能够进行正常高速的运行,在开发过程中必须要保证系统绝对的安全性和实效性。
(1)安全性:对于任意一个系统来说,必须有独立的密码进行系统的管理,用户、前台和管理员权限划分明确。管理员才能查看系统后台数据,外人不可随意查看。
(2)可扩展性:每个项目不可能一次就能完善,因此该项目也预留了功能和数据的接口,以便于解决该项目在后期开发中可能发生的业务或功能的变化,为该项目提供更加快速的新增或更改功能。
(3)数据完整性:本亿互游在线平台数据设计全部完整,部分采用自动生成,信息的所有录入都是需要后台进行添加,信息空不可以进行录入到系统。数据之间要联系起来,不能出错。
(4)数据存储性
该项目采用了目前主流的MySQL数据库,在安全系数和稳定性有了拥有了很高的保证。
3.3 系统功能分析
本亿互游在线平台主要满足3种类型用户的需求,这3种类型用户分别为用户、前台和管理员,他们分别实现的功能如下。
用户进入网站后可查看系统信息,包括首页、景点信息、路线规划、景点美食、住宿信息以及留言反馈等,用户要想实现酒店预订、美食购买等操作,必须登录系统,未有账号的用户可进行注册操作,注册登录后主要功能模块包括购物车、个人中心、我的订单、我的地址、我的收藏、邀请信息管理。
用户用例图如图3-1所示。
图3-1 用户用例图
管理员可登录系统后对系统进行全面管理,管理员登陆后主要功能模块包括个人中心、用户管理、前台管理、景点信息管理、旅游规划管理、景点美食管理、住宿信息管理、邀请信息管理、留言板管理、系统管理以及订单管理十一大部分。
管理员用例图如图3-2所示。
前台注册登录后主要功能模块包括个人中心、景点信息管理、路线规划管理、景点美食管理以及住宿信息管理。
前台用例图如图3-2所示。
图3-3 前台用例图
3.4 系统流程分析
3.4.1注册流程
未有账号的用户和前台均可进行注册操作,用户注册流程图如图3-4所示。
3.4.2登录流程
用户、前台和管理员均可进行登录操作,用户登录流程图如图3-5所示。
图3-5 登录流程图
4 系统设计
4.1 系统架构设计
B/S系统架构是本系统开发采用的结构模式,使用B/S模式开发程序以及程序后期维护层面需要的经济成本是很低的,用户能够承担得起。使用这样的模式开发,用户使用起来舒心愉悦,不会觉得别扭,操作很容易就熟练了。而且方便管理。采用B/S体系结构开发的应用软件仅仅需要在客户端安装谷歌浏览器或者其他浏览器就可以操作,对于维护和升级操作则在服务器端就能完成,不用在客户端进行操作,这样就节省了许多开销,B/S模式能够保证软件应用的跨平台性和通用性,采用它开发软件是最佳选择。B/S模式示意图如图4-1所示。
图4-1 B/S模式示意图
4.2 系统结构设计
系统结构设计是整个系统设计中重要的一部分,在结构设计过程中,首先对系统进行需求分析,然后进行系统初步设计,将系统功能模块细化,具体分析每一个功能模块具体应该首先哪些功能,最后将各个模块进行整合,实现系统结构的最终设计。
本亿互游在线平台由用户功能模块、前台功能模块和管理员功能模块三大部分构成,系统的结构图如图4-2所示。
图4-2系统结构图
4.3 数据库设计
4.3.1数据库E-R图设计
数据库在系统中扮演这很重要的角色,在这次设计的程序中我运用的是Mysql数据库。Sql语句是访问数据库的最常用的标准化语言。使用数据库,可以使整个系统的数据更加的整洁、明了。数据库在整个系统中,就是这个系统的基础。一个好的数据库设计,更有利于后期的维护,功能的扩建。如果数据库的设计出现问题,那么将是非常麻烦的事情。
每张数据表都有其字段信息,如何直观的看出一张表的结构和数据间的关系,可以通过E-R图进行查看。E-R图灵活的表达了数据中实体和属性间的关系,使得数据关系更简单明了。每个系统数据库都需要提前进行设计规划,使整体数据库更统一规范化,也体现出开发人员的专业性。本亿互游在线平台的E-R图如下图所示:
(1)景点信息实体E- R图,如图4-5所示:
(2)前台信息实体E- R图,如图4-6所示:
(3)订单实体E- R图,如图4-7所示:
图4-7 订单实体图
(4)管理员实体E- R图,如图4-8所示:
图4-8 管理员实体图
(5)用户实体E- R图,如图4-9所示:
图4-9 用户实体图
4.3.2数据库表设计
本亿互游在线平台需要数据库,采用的是MYSQL这一数据库管理系统,各个数据库表的设计结果如下:
表4-1 jingdianxinxi景点信息表
列名 | 说明 | 类型 ( 长度 ) | 备注 |
id | 编号 | bigint(20) | 不允许空,主键 |
addtime | 添加时间 | timestamp | 允许空 |
jingdianmingcheng | 景点名称 | varchar(200) | 允许空 |
jingdianleixing | 景点类型 | varchar(200) | 允许空 |
jingdiandengji` | 景点等级 | varchar(200) | 允许空 |
jiaotongzhuangkuang | 交通状况 | varchar(200) | 允许空 |
lianxiren | 联系人 | varchar(200) | 允许空 |
lianxidianhua | 联系电话 | varchar(200) | 允许空 |
jingdianfengmian | 景点封面 | varchar(200) | 允许空 |
jingdiandizhi` | 景点地址 | varchar(200) | 允许空 |
jingdianxiangqing | 景点详情 | longtext | 允许空 |
`yingyeshijian | 营业时间 | varchar(200) | 允许空 |
thumbsupnum | 赞数 | int(11) | 允许空 |
crazilynum | 踩数 | int(11) | 允许空 |
clicktime | 最近点击时间 | datetime | 允许空 |
clicknum | 点击次数 | int(11) | 允许空 |
`price` | 价格 | float | 允许空 |
表4-2 qiantai前台信息表
列名 | 说明 | 类型 ( 长度 ) | 备注 |
id | 编号 | bigint(20) | 不允许空,主键 |
addtime | 添加时间 | timestamp | 允许空 |
qiantaizhanghao | 前台账号 | varchar(200) | 允许空 |
mima | 密码 | varchar(200) | 允许空 |
qiantaixingming` | 前台姓名 | bigint(20) | 允许空 |
zhiwei | 职位 | bigint(20) | 允许空 |
xingbie | 性别 | varchar(200) | 允许空 |
shouji | 手机 | varchar(200) | 允许空 |
youxiang | 邮箱 | varchar(200) | 允许空 |
zhaopian` | 照片 | varchar(200) | 允许空 |
`dizhi | 地址 | varchar(200) | 允许空 |
money | 余额 | float | 允许空 |
表4-3 orders订单信息表
列名 | 说明 | 类型 ( 长度 ) | 备注 |
id | 编号 | bigint(20) | 不允许空,主键 |
addtime | 添加时间 | timestamp | 允许空 |
orderid | 订单编号 | varchar(200) | 允许空 |
tablename | 商品表名 | varchar(200) | 允许空 |
userid | 用户编号 | bigint(20) | 允许空 |
goodid | 商品编号 | bigint(20) | 允许空 |
goodname | 商品名称 | varchar(200) | 允许空 |
picture | 商品图片 | varchar(200) | 允许空 |
buynumber | 购买数量 | int(11) | 允许空 |
price | 价格 | float | 允许空 |
discountprice | 折扣价格 | float | 允许空 |
total | 总价格 | float | 允许空 |
discounttotal | 折扣总价格 | float | 允许空 |
type | 支付类型 | int(11) | 允许空 |
status | 状态 | varchar(200) | 允许空 |
address | 地址 | varchar(200) | 允许空 |
表4-4 users管理员信息表
列名 | 说明 | 类型 ( 长度 ) | 备注 |
id | 编号 | bigint(20) | 不允许空,主键 |
username | 用户名 | varchar(100) | 允许空 |
password | 密码 | varchar(100) | 允许空 |
role | 角色 | varchar(100) | 允许空 |
addtime | 添加时间 | timestamp | 允许空 |
表4-5 yonghu`用户信息表
列名 | 说明 | 类型 ( 长度 ) | 备注 |
id | 编号 | bigint(20) | 不允许空,主键 |
addtime | 添加时间 | timestamp | 允许空 |
zhanghao | 账号 | varchar(200) | 允许空 |
`mima` | 密码 | varchar(200) | 允许空 |
xingming | 姓名 | bigint(20) | 允许空 |
xingbie | 性别 | bigint(20) | 允许空 |
shouji | 手机 | varchar(200) | 允许空 |
youxiang | 邮箱 | varchar(200) | 允许空 |
zhaopian | 照片 | varchar(200) | 允许空 |
`dizhi | 地址 | varchar(200) | 允许空 |
money | 余额 | float | 允许空 |
5 系统实现
5.1 用户功能模块的实现
用户进入本系统可查看系统信息,系统前台主界面展示如图5-1所示。
图5-1系统主界面图
5.1.1用户注册界面
未有账号的用户可进入注册界面进行注册操作,用户注册界面展示如图5-2所示。
图5-2用户注册界面图