基于springboot地方旅游系统的设计与实现

news2024/11/24 17:07:53

摘    要

本次设计内容是基于Springboot的旅游系统的设计与实现,采用B/S三层架构分别是Web表现层、Service业务层、Dao数据访问层,并使用Springboot,MyBatis二大框架整合开发服务器端,前端使用vue,elementUI技术,开发采用了Idea编辑工具、Tomcat服务器和MySQL数据库。

此系统包括了前台用户端、后台管理员端两大模块。前台用户端主要是供用户浏览、查看景区、美食、旅游路线、新闻等信息,并在线进行预订、下单等操作。后台管理员端主要供管理员维护系统前台用户端信息,包括美食发布、用户账号管理、景区信息发布、预订订单查看管理、新闻发布等管理,便于维护用户端各类信息。

关键词:旅游系统;springboot框架;MySQL数据库;Java Web;vue

1 绪论

1.1课题的开发背景

随着旅游业的发展,越来越多的人开始重视旅游观光网站的作用。旅游观光网站是旅游业的重要组成部分,也是当今世界旅游业发展的趋势之一。旅游观光网站作为旅游服务平台,不仅可以提供旅游信息,还能为用户提供旅游预订、旅游指南等一系列服务,方便用户的旅游体验。

“海岛渔乡”是一种新型的旅游形态,也是当前旅游业中备受关注的热点之一。它结合了海岛的自然风光和渔乡文化的特色,为游客提供了独特的旅游体验。随着旅游市场的不断扩大,越来越多的旅游观光网站开始关注“海岛渔乡”这一旅游形态的发展。

本研究旨在探究“海岛渔乡”旅游观光网站的发展现状、特点和趋势,分析其对旅游业的影响和未来的发展方向,从而为旅游观光网站的建设和发展提供一定的参考。

1.2课题研究的目的与意义 

一方面,许多旅行社在组织、分类和保存信息方面不够好,大多仍使用传统的纸质书籍进行保存。对于少量的信息,仍然可以处理,但一旦信息量变大,就非常不方便进行排序和保存,人力和物质资源的成本也会增加。这种人为的过程也更容易出现疏忽、遗漏或错误。这种方法并不适合长期的数据保存。此外,游客获取旅游信息的方式也不是非常方便和高效。使用计算机技术是一个非常明智的选择。

另一方面,许多旅游广告采取统一的推广方式,既不突出景区的特色,也没有把握自己的优势。如今,旅游业发展迅速,各地旅行社的数量日益增多,旅游业之间的竞争加剧。然而,对于如此多的旅行社,其实际质量参差不齐,游客无法区分好坏。许多旅行社推出了各种低价旅游团以提高竞争力和吸引客户。然而,对于一些低价旅游团,在实际旅行中,旅行社与旅游目的地的各种供应商勾结,导游使用各种名目向客户销售一些不必要的物品,并强迫他们购买。如果有人提出反对意见,他们必然会面临个人攻击,甚至忽视游客的安全并将他们赶下旅游大巴。这种现象现在层出不穷,也不鲜见。旅游目的地周围的地区也受到不良商家的困扰,甚至连最基本的服务问题都无法保证。这些事件和现象不仅影响各种旅游景点的声誉,而且严重阻碍了旅游业的整体发展,这也将影响经济发展。如今,由于上述原因,许多游客会因基本的信任问题而失去对旅行社的信任,并选择自助旅游。因此,各地旅游信息的组织特别重要。无论是想参加团体旅游的游客还是计划选择自助游的游客都需要了解关于目的地及其周围的各种信息。然而,仅通过纸质材料获取信息已成为新的问题,主要原因是处理各种信息的方法不当。如果这些旅游相关信息可以以全面、安全、高效的方式存储,并可以方便快捷地让游客访问,那么问题就可以轻松解决。如今,随着科技的发展,许多行业都使用计算机和互联网技术将信息存储在虚拟的网络空间,并高效地运作。考虑到社会的当前发展趋势,这是旅游业的一个好方法。

2 系统开发环境及技术

2.1 系统开发环境

硬件平台:CPU:2.50GHz;内存:8G。

软件平台:操作系统:Windows10;数据库:MySQLServer5.7

开发工具包:IDEA+jdk1.8;应用服务器:tomcat9.0;浏览器:GoogleChrome

2.2 系统开发技术

2.2.1  SpringBoot框架

Spring Boot是在原来Spring的基础上进行开发的,并且它可以快速创建一个应用框架。它的设计思想是简化Spring应用的搭建和开发过程,提供一种“开箱即用”的方式来创建单独的、生产级别的Spring应用程序[10]。

Spring Boot为了降低开发Spring应用程序的复杂性,提供了如下的一些特性。例如:

  1. 配置自动化:该框架包含了很多默认的配置,让开发者在不需要进行手动配置的情况下还能够使用非常多的常见功能。
  2. 快速开发:通过使用Spring Starter项目快速开始一个项目,并利用Spring Boot的自动配置特性快速搭建应用。

3. 内嵌式Web容器:Spring Boot内置了Tomcat、Jetty或Undertow,使得开发者无需手动部署和配置Web服务器。

4. 应用监控:Spring Boot提供了丰富的指标和监控工具,作为开发者诊断应用和理解程序的工具。

2.2.2  Mybatis框架

Mybatis它是持久化框架中的一种。给开发者提供的有SQL映射、参数自动映射等功能,让数据库的各类操作变得更加简单和高效。Mybatis最大的优势就是可以很好地解决传统JDBC编程的问题,提高了代码的可读性和维护性。 Mybatis的核心组件包括:SqlSessionFactory、SqlSession、Mapper以及Mybatis配置文件[11]。 其中,SqlSessionFactory是创建SqlSession的工厂类,SqlSession封装了sql语句的执行方法,Mapper则是用来描述数据操作的接口,而Mybatis配置文件则是用来配置SqlSessionFactory和Mapper的。 Mybatis采用XML文件或注解方式进行SQL映射,并且支持动态SQL拼装,可以在运行时根据不同的条件构建出不同的SQL语句,使得开发更加灵活和高效[15]。

2.2.3  Vue、ElementUI前端框架

Vue是一种轻量级的框架,被设计为构建大规模的高性能Web应用程序。Vue具有易于学习和使用、高效、灵活和可组件化等优点。

ElementUI其实就是基于Vue框架进行开发的组件库,它可以快速来构建Web应用程序的UI界面。它包含了诸如按钮、表格、日期选择器、对话框、提示框等几十个组件,并且都具有可自定义样式和可组合性的特点。使用ElementUI可以使得构建Web应用程序的UI界面更加简单、快捷和美观。

综上所述,Vue和ElementUI可以一起使用,以构建快速、高效、可组件化、美观的Web应用程序。

2.2.4  MYSQL数据库

MySQL是一种开源的关系型数据库管理系统,它是最流行的开源数据库之一,也是Web应用程序开发中最常用的数据库之一[2]。MySQL能够支持Windows、Linux等多类型的操作系统,也可以支持Java等各种编程语言。

该数据库的应用范围非常广泛,包括Web应用程序、电子商务、金融、游戏、媒体等领域。MySQL具有高性能、可扩展性、安全性、易用性和开源性等特点,可以满足不同规模和复杂度的应用需求。随着大数据和云计算技术的发展,MySQL也将继续发挥重要作用,为各种应用场景提供高效、可靠的数据管理服务。

2.2.5  Tomcat服务器

Tomcat是一个基于Java的开源Web应用程序服务器,由Apache软件基金会维护。它支持Java Servlet、JavaServer Pages(JSP)、JavaServer Faces(JSF)和其他一些Java技术来创建动态Web类型的应用。Tomcat是用来运行Web应用,获取客户端的请求进行处理,然后把响应后的结果再返回给客户端。它具有良好的安全性和稳定性[12],易于配置和管理,它特支持在不同平台上使用,能够支持Windows、Linux等多类型操作系统。同时,Tomcat也具有高度的灵活性和可扩展性,可以通过插件和扩展支持其他的Web开发技术和框架。它是Java Web应用程序开发和部署的首选Web容器之一。

3 系统可行性研究

3.1 操作可行性分析

本系统开发的开发宗旨是以便捷为中心开发后的系统应具有美观、大方、简单、易操作等优点,即使是不懂计算机的人员也可以根据系统提示使用和管理本系统,它的操作简单的特点使本系统在操作上可行[15]。

3.2 经济可行性分析

该系统开发用到的开发工具IDEA、数据库MySQL等都是能够从网上找到不需要付费的破译版本的,包括用到的开发技术都是开源的。因此,没有任何需要付费的成本。等到开发完成后,也不需要多余的宣传成本,所以说该系统的经济可行性无问题。

3.3 技术可行性分析

本系统采用的模式是B/S框架、MVC开发模式,里面主要包括了前台用户端和后台管理员端两大模块部分、数据库的内容维护等。系统开发用到的开发工具是IDEA,MySQL数据库,SpringBoot、Mybatis后端框架,前端页面开发用到了vue、elementUI新技术[7]。这些技术都是学习过,在网上也可以找到免费学习资料,因此技术上无难点且可行。

4 系统需求设计

4.1 旅游前台功能需求

前台功能是给用户使用的,主要提供给用户的功能大体上有:用户的注册登录、系统首页展示宣传、新闻资讯展示、景点景区介绍展示、地方特色美食展示推荐、出游路线推荐展示、留言入口提供、个人相关信息查看修改、线路预定管理等。

4.2 旅游后台功能需求

后台管理系统是为管理员使用的,目的是为前台用户展示端做数据维护管理的。主要提供给管理员的功能有管理员系统登录,前台用户管理,景区展示信息发布、地方特色美食发布、推荐旅游线路维护、用户订单查看处理、展示新闻推送,系统设置等管理功能。

5 系统概要设计

5.1 系统总体功能结构

此系统包括了前台用户端、后台管理员端两大模块。前台用户端主要是供用户浏览、查看景区、美食、旅游路线、新闻等信息,并在线进行预订、下单等操作。后台管理员端主要供管理员维护系统前台用户端信息,包括美食发布、用户账号管理、景区信息发布、预订订单查看管理、新闻发布等管理,便于维护用户端各类信息。系统总体功能结构图如下图5.1、5.2所示:

图5.1  前台功能结构图

图5.2  后台功能结构图 

5.2 系统功能模块设计

5.2.1  旅游前台模块设计

前台用户端主要是供用户浏览、查看景区、美食、旅游路线、新闻等信息,并在线进行预订、下单等操作。

(1)用户注册模块

提供用户注册功能,用户需要注册账号才能登录

(2)用户登录模块

提供用户登录功能,用户需要登录才能进行下单操作

(3)首页模块

展示分类导航菜单和人气景点、地方美食、旅游线路、旅游资讯,方便用户选购

(4)旅游新闻模块

用户可以搜索站内或者行内新闻信息

(5)景区信息模块

用户可以根据地区选择景点信息

(6)美食信息模块

用户可以根据分类和名称搜索美食信息

(7)旅游线路模块

用户可以根据出发点、终点、途径地搜索旅游线路

(8)在线留言模块

用户可以提交留言信息

(9)个人中心模块

用户可以修改个人资料、修改密码、查看自己收藏、查看自己留言信息

5.2.2  旅游后台模块设计

后台管理员端主要供管理员维护系统前台用户端信息,包括美食发布、用户账号管理、景区信息发布、预订订单查看管理、新闻发布等管理,便于维护用户端各类信息。

(1)管理员登录模块

后台管理员用分配给自己的账号、密码登录到该后台,完成自己的管理维护工作。此部分仅供内部人员使用,不公开。

(2)账号管理模块

管理员账号管理:查询、修改、删除、添加

用户管理:查询、修改、删除、添加

修改密码。

(3)地区管理模块

地区添加、查询、修改、删除等。

(4)景点信息管理模块

旅游景点添加、修改、删除、查询等

(5)地方美食管理模块

地方美食添加、修改、删除、查询等

(6)旅游线路管理模块

旅游线路添加、修改、删除、查询等

(7)订单信息管理模块

查询用户下的订单信息等

(8)新闻管理模块

新闻添加、查询、修改、删除等

(9)系统管理模块

友情链接添加、查询

(10)轮播图添加、查询

留言管理:修改、删除、详情等

5.3 数据库设计

5.3.1  数据库表结构设计

该系统根据前台、后台的功能划分规划,设计出的业务逻辑表一共有15个,详细表结构设计如下所示:

后台管理员用户表admins,如下表5.1所示:

表5.1  管理员表admins

名称

类型

默认值

备注

id

int(30)

no

主键

username

varchar (20)

yes

NULL

帐号

pwd

datetime

yes

NULL

密码

addtime

int(30)

yes

NULL

添加时间

地方美食表difangmeishi,如下表5.2所示:

表5.2  地方美食表difangmeishi

名称

类型

默认值

备注

id

int(10)

no

主键

meishibianhao

varchar (20)

yes

NULL

美食编号

mingcheng

varchar (20)

yes

NULL

名称

fujinjingdian

varchar (20)

yes

NULL

附近景点

fenlei

int(10)

yes

NULL

分类

tupian

text

yes

NULL

图片

jiage

decimal

yes

NULL

价格

meishijianjie

text

yes

NULL

美食简介

addtime

timestamp

yes

NULL

添加时间

 地区表diqu,如下表5.3所示:

表5.3  地区表diqu

名称

类型

默认值

备注

id

varchar (50)

no

主键

diqumingcheng

varchar (50)

yes

NULL

地区名称

addtime

datetime

yes

NULL

添加时间

景点信息表jingdianxinxi,如下表5.4所示:

表5.4  景点信息表jingdianxinxi

名称

类型

默认值

备注

id

varchar (11)

no

主键id

jingdianbianhao

varchar (11)

yes

NULL

  景点编号

jingdianmingcheng

datetime

yes

NULL

景点名称

suoshudiqu

int(50)

yes

NULL

所属地区

tupian

varchar (11)

yes

NULL

图片

kaifangshijian

datetime

yes

NULL

开放时间

fujinmeishi

varchar (11)

yes

NULL

附近美食

dizhi

varchar (11)

yes

NULL

地址

piaojia

varchar (11)

yes

NULL

票价

liulanliang

varchar (11)

yes

NULL

浏览量

miaoshu

varchar (11)

yes

NULL

描述

addtime

int(50)

yes

NULL

添加时间

留言板表liuyanban,如下表5.5所示:

                             表5.5  留言板表liuyanban

名称

类型

默认值

备注

ID

varchar(50)

no

主键

xingming

varchar(50)

yes

NULL

姓名

lianxidianhua

datetime

yes

NULL

联系电话

liuyanneirong

int(50)

yes

NULL

留言内容

liuyanren

varchar (11)

yes

NULL

留言人

huifuneirong

datetime

yes

NULL

回复内容

addtime

varchar (11)

yes

NULL

添加时间

 轮播图表lunbotu,如下表5.6所示:

表5.6  轮播图表lunbotu

名称

类型

默认值

备注

ID

Int(11)

no

主键

title

varchar (11)

yes

NULL

标题

image

varchar (11)

yes

NULL

图片

url

varchar (11)

yes

NULL

连接地址

addtime

timestamp

yes

NULL

添加时间

旅游线路表lvyouxianlu,如下表5.7所示:

表5.7  旅游线路表lvyouxianlu

名称

类型

默认值

备注

ID

int(11)

no

主键

xianlubianhao

varchar(11)

yes

NULL

线路编号

xianlumingcheng

varchar(11)

yes

NULL

线路名称

Tupian

text

yes

NULL

图片

chufadi

varchar(11)

yes

NULL

出发地

tujingdi

varchar(11)

yes

NULL

途经地

zhongdian

varchar(11)

yes

NULL

终点

jiage

decimal

yes

NULL

价格

liulanliang

int(11)

yes

NULL

浏览量

xianlutese

longtext(11)

yes

NULL

线路特色

xianlujianjie

longtext(11)

yes

NULL

线路简介

addtime

timestamp

yes

NULL

添加时间

美食分类表meishifenlei,如下表5.8所示:

表5.8  美食分类表meishifenlei

名称

类型

默认值

备注

ID

varchar (50)

no

主键

fenleimingcheng

varchar (50)

yes

NULL

分类名称

addtime

datetime

yes

NULL

添加时间

收藏记录表shoucangjilu,如下表5.9所示:

表5.9  收藏记录表shoucangjilu

名称

类型

默认值

备注

ID

int(11)

no

主键

username

varchar (50)

yes

NULL

收藏用户

xwid

int(11)

yes

NULL

对应模块id

biao

varchar (50)

yes

NULL

收藏得模块

biaoti

varchar (50)

yes

NULL

显示的标题

url

varchar (50)

yes

NULL

收藏URL

ziduan

varchar (50)

yes

NULL

对应模块字段

addtime

timestamp

yes

NULL

添加时间

token表,如下表6-10所示:

表5.10  token表

名称

类型

默认值

备注

token

varchar (50)

no

唯一值

session

varchar (50)

yes

NULL

保存得数据

cx

datetime

yes

NULL

登录权限

login

int(11)

yes

NULL

登录模块

username

varchar (50)

yes

NULL

登录用户

valueid

datetime

yes

NULL

用户id

token_time

varchar (50)

yes

NULL

当前时间

新闻分类表xinwenfenlei,如下表6-11所示:

表5.11  新闻分类表xinwenfenlei

名称

类型

默认值

备注

ID

Int(10)

no

主键

fenleimingcheng

varchar (50)

yes

NULL

分类名称

addtime

timestamp

yes

NULL

添加时间

闻信息表xinwenxinxi,如下表5.12所示:

表5.12  新闻信息表xinwenxinxi

名称

类型

默认值

备注

ID

Int(10)

no

主键

Biaoti

varchar (50)

yes

NULL

标题

fenlei

Int(10)

yes

NULL

分类

tupian

varchar (50)

yes

NULL

图片

tianjiaren

varchar (50)

yes

NULL

添加人

dianjilv

Int(10)

yes

NULL

点击率

neirong

longtext

yes

NULL

内容

addtime

timestamp

yes

NULL

添加时间

用户表yonghu,如下表5.13所示:

表5.13  用户表yonghu

名称

类型

默认值

备注

ID

Int(10)

no

主键

yonghuming

varchar (50)

yes

NULL

用户名

mima

varchar (50)

yes

NULL

密码

xingming

varchar (50)

yes

NULL

姓名

xingbie

varchar (50)

yes

NULL

性别

shouji

varchar (50)

yes

NULL

手机

youxiang

varchar (50)

yes

NULL

邮箱

shenfenzheng

varchar (50)

yes

NULL

身份证

touxiang

varchar (50)

yes

NULL

头像

addtime

timestamp

yes

NULL

添加时间

友情链接表youqinglianjie,如下表5.14所示:

表5.14  友情链接表youqinglianjie

名称

类型

默认值

备注

ID

Int(10)

no

主键

wangzhanmingcheng

varchar (50)

yes

NULL

网站名称

wangzhi

varchar (50)

yes

NULL

网址

addtime

timestamp

yes

NULL

添加时间

预定表yuding,如下表5.15所示:

表5.15  预定表yuding

名称

类型

默认值

备注

ID

Int(10)

no

主键

lvyouxianluid

Int(10)

yes

NULL

旅游线路id

xianlubianhao

varchar (50)

yes

NULL

线路编号

xianlumingcheng

varchar (50)

yes

NULL

线路名称

chufadi

varchar (50)

yes

NULL

出发地

tujingdi

varchar (50)

yes

NULL

途经地

zhongdian

varchar (50)

yes

NULL

终点

jiage

decimal

yes

NULL

价格

dingdanhao

varchar (50)

yes

NULL

订单号

yudingshijian

varchar (50)

yes

NULL

预订时间

yudingrenxingming

varchar (50)

yes

NULL

预订人姓名

lianxifangshi

varchar (50)

yes

NULL

联系方式

zhuangtai

varchar (50)

yes

NULL

状态

beizhu

text

yes

NULL

备注

yudingren

varchar (50)

yes

NULL

预订人

addtime

timestamp

yes

NULL

添加时间

iszf

varchar (50)

yes

NULL

是否支付

5.3.2  数据库数据表实现

系统开发数据库选择的是MySQL,选择了Navicat Premium可视化连接数据库工具进行操作数据库。以下是用连接工具完成数据库创建的实现过程:

后台管理员用户表admins创建效果如图5.3所示:

 图5.3  管理员表admins


地方美食表difangmeishi如下图5.4所示:

 图5.4  地方美食表difangmeishi

地区表diqu如下图5.5所示:

 图5.5  地区表diqu

景点信息表jingdianxinxi如下图5.6所示:

 图5.6  景点信息表jingdianxinxi

留言板表liuyanban如下图5.7所示:

 图5.7  留言板表liuyanban

轮播图表lunbotu如下图5.8所示:

图5.8  轮播图表lunbotu

旅游线路表lvyouxianlu如下图5.9所示:

图5.9  旅游线路表lvyouxianlu

美食分类表meishifenlei如下图5.10所示:

图5.10  美食分类表meishifenlei

收藏记录表shoucangjilu如下图5.11所示:

 图5.11  收藏记录表shoucangjilu

token表如下图5.12所示:

图5.12  token表

新闻分类表xinwenfenlei如下图5.13所示:

图5.13  新闻分类表xinwenfenlei

新闻信息表xinwenxinxi如下图5.14所示:

 图5.14  新闻信息表xinwenxinxi

用户表yonghu如下图5.15所示:

 图5.15  用户表yonghu

友情链接表youqinglianjie如下图5.16所示:

 图5.16  友情链接表youqinglianjie


预定表yuding如下图5.17所示:

 图5.17  预定表yuding

6 系统详细设计与实现

6.1 系统功能实现的Springboot框架

Springboot框架的本质就是把Spring、SpringMVC整合在一起再进行简化优化的框架,它也是标准的MVC模式。在开发过程中把系统分成了表现层、业务逻辑层、数据访问层,从而缩短开发系统的周期时间[10]。

6.1.1 SpringBoot配置文件

spring.datasource.username=root

spring.datasource.password=root

spring.datasource.url=jdbc:mysql://localhost:3306/tourism?useUnicode=true&chara cterEncoding=UTF-8&useOldAliasMetadataBehavior=true

#以下为mysql8.0以上使用

#spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

#spring.datasource.url=jdbc:mysql://localhost:3306/spbootvue07987lyxxtjxtsjysx? useUnicode=true&characterEncoding=UTF-8&useSSL=FALSE&serverTimezone=UTC&useOldA liasMetadataBehavior=true

spring.datasource.driver-class-name=com.mysql.jdbc.Driver

spring.datasource.initial-size=10

spring.datasource.max-idle=20

spring.datasource.min-idle=5

spring.datasource.max-active=50

spring.datasource.log-abandoned=true

spring.datasource.remove-abandoned=true

spring.datasource.remove-abandoned-timeout=180

spring.datasource.max-wait=1000

spring.datasource.test-while-idle=true

spring.datasource.validation-query=select 1

spring.datasource.test-on-borrow=true

spring.datasource.min-evictable-idle-time-millis=600000

spring.datasource.time-between-eviction-runs-millis=300000

spring.mvc.view.prefix=/

spring.mvc.view.suffix=.jsp

spring.mvc.pathmatch.use-suffix-pattern=false

spring.mvc.pathmatch.use-registered-suffix-pattern=true

spring.mvc.contentnegotiation.favor-path-extension=false

server.port=8088

server.servlet.context-path=/

mybatis.type-aliases-package=com.spring.boot.entity

mybatis.mapper-locations=classpath:mapper/*.xml

mapper.mappers=com.base.MapperBase

mapper.not-empty=false

mapper.identity=MYSQL

pagehelper.reasonable=true

pagehelper.supportMethodsArguments=true

pagehelper.params=count=countSql

spring.servlet.multipart.maxFileSize=-1

spring.servlet.multipart.maxRequestSize=-1

以上是springboot配置文件主要配置的参数,主要配置端口和连接数据库的数据源、mybatis配置等信息。

6.2 前台功能模块实现

前台用户端主要是供用户浏览、查看景区、美食、旅游路线、新闻等信息,并在线进行预订、下单等操作。使用vue,elementUI技术,开发采用了Idea编辑工具、Tomcat服务器和MySQL数据库。

6.2.1 用户登录

用户登录,如下图6.1所示:

 图6.1  用户登录

6.2.2 用户注册页面

用户注册如下图6.2所示:

图6.2  用户注册页面

6.2.3 首页页面

首页页面如下图6.3所示:

图6.3  首页页面

 6.2.4 旅游新闻页面

旅游新闻页面如下图6.4所示:

图6.4  旅游新闻页面

6.2.5 景区信息页面

景区信息页面如下图6.5所示:

图6.5  景区信息页面

6.2.6 美食信息页面

美食信息页面如下图6.6所示:

图6.6  美食信息页面

6.2.7 旅游线路页面

旅游线路页面如下图6.7所示:

图6.7  旅游线路页面

 6.2.8 在线留言页面

在线留言页面如下图6.8所示:

图6.8  在线留言页面

6.2.9 个人中心页面

个人中心页面如下图6.9所示:

图6.9  个人中心页面

6.2.10 线路预订管理页面

线路预订管理如下图6.9所示:

图6.9  线路预订管理页面

6.3 后台功能模块实现

后台管理员端主要供管理员维护系统前台用户端信息,包括美食发布、用户账号管理、景区信息发布、预订订单查看管理、新闻发布等管理,便于维护用户端各类信息。使用vue,elementUI技术,开发采用了Idea编辑工具、Tomcat服务器和MySQL数据库。

6.3.1 管理员登录页面

管理员登录页面,如下图6.10所示:

图6.10  管理员登录页面

 6.3.2 账号管理页面

账号管理页面,如下图6.11所示:

图6.11  账号管理页面

 6.3.3 地区管理页面

地区管理页面,如下图6.12所示:

图6.12  地区管理页面

6.3.4 景点信息管理页面

景点信息管理页面,如下图6.13所示:

图6.13  景点信息管理页面

6.3.5 地方美食管理页面

地方美食管理页面,如下图6.14所示:

图6.14  地方美食管理页面 

6.3.6 旅游线路管理页面

旅游线路管理页面,如下图6.15所示:

图6.15  旅游线路管理页面

6.3.7 订单信息管理页面

订单信息管理页面,如下图6.16所示:

图6.16  订单信息管理页面 

6.3.8 新闻管理页面

新闻管理页面,如下图6.17所示:

图6.17  新闻管理页面

6.3.9 系统管理页面

系统管理页面,如下图6.18所示:

图6.18  系统管理页面

7 系统测试

7.1 软件测试目的

软件测试的目的是为了发现并纠正软件中的错误、缺陷和漏洞,以确保软件产品的质量和稳定性,提高用户的满意度和信任度。同时,软件测试也可以帮助开发团队发现潜在的问题,并为软件产品的改进提供支持。

7.2 软件测试步骤

(1)模块化测试,该测试需将整体的系统功能拆分成一个一个小模块,然后按照模块化进行测试,在测试过程中将每个小模块里面的问题找出来并记录好,从而把问题都一一解决并完善好。

(2)整体性测试,系统按照模块化把功能都测试完成后,再把小模块的内容全部整合到一起测试,按照需求整理好系统整体流程,梳理好整体流程。按照整体确定的流程完成系统整体测试,使各个模块有密切联系,这样做才可完成确定的操作流程;

(3)测试结果验收,在项目验收之前多次测试,在确保没问题情况下即可交付客户。

7.3 系统测试过程和结论

以下对后台的登录功能测试用到的是黑盒测试,在后台系统的登录页面输入错误的用户名、密码,会提示账号密码有错误,具体效果如图7.1所示:

图7.1  后台登录验证账号密码

(1)在登录的页面上输入正确的用户名、密码,提示系统登录成功。实现效果如下图7.2所示:

在识别到用户名、密码都输入正确后,系统会进行跳转至系统主页面。

图7.2  后台登录页面验证账号密码 

由此可见,通过黑盒测试方式测出后台系统成功。

结    论

本次毕业设计基于springboot的旅游系统的设计与实现开发结束,已经完全满足了此系统的用户、管理员的使用需求。从系统的展示页面上来看简洁大方,从用户操作上来说方便,已经尽量多次测试避免出现错误。但是,因为时间原因系统确实存在不足,系统的界面、逻辑设计、数据库设计等都需要不断优化完善。做这次的毕业设计和论文,已经将我大学四年学习到的Java知识、数据库知识、开发框架等都进行了应用,也把我所学内容进行了巩固和提升,加强了自己的编程能力。在编码的时候,自己需要不断去测试代码、寻找问题,思考自己的需求等问题,也需要反复测试已经完成的功能和修改里面测试出来的bug,让自己解决问题的能力也得到了了快速的提升,并且对开发有了深层次的了解与认识。现在,自己的编码能力确实得到了提升,也理解了大家说的代码是调试出来的不是一气呵成写出来的。通过这次的毕业设计完成,我也全方位发现了自己的问题与需要提升的方向,这可能就是这次毕业设计最重要的目的。

参 考 文 献

[1] 李乐.Java语言应用研究[J].智慧中国,2022(09):80-81.

[2] 郑戟明,董云朝,柳青.MySQL数据库数据导入导出方法的探讨[J].电脑知识与技术,2022,18(22):24-25.

[3] 宋旸.使用Java语言开发Web应用软件的知识探讨[J].中国设备工程,2022(14):121-123.

[4] 王仲科.Web程序设计中数据库获取编程技巧与方法[J].电脑编程技巧与维护,2022(07):68-70.

[5] 陈晓刚.计算机数据库技术在信息管理中的应用[J].无线互联科技,2022,19(13):123-125.

[6] 李璋,赵鸿皓,黄震,陈逸凡,杨洲.Java在程序设计语言课程中的应用[J].长江信息通信,2022,35(07):108-111.

[7] 季焕淑.基于HTML5技术的移动Web前端设计与开发[J].电脑编程技巧与维护,2022(10):74-76+169.

[8] 曹方玲.HTML5在Web前端开发中的应用[J].长江信息通信,2022,35(10):106-108+111.

[9] 吴晓霞.服装企业ERP管理信息系统的设计与实现[J].当代会计,2021(01):177-178.

[10] 小马哥. Spring Boot编程思想(核心篇)[M]. 电子工业出版社,2019.

[11] 李刚.轻量级javaEE企业应用实战[M].北京:电子工业出版社,2014:190-600.

[12] 张跃平、耿祥义. JSP程序设计(第2版)[M].清华大学出版社, 2015.

[13] 张海藩.软件工程[M].清华大学出版社,2009.

[14] 蔡剑、景楠.Java Web应用开发[M]. 清华大学出版社,2005.

[15] 杨开振.java ee互联网轻量级框架整合开发SSM框架[M]. 电子工业出版社,2017.

[16] 疯狂软件.Spring+MyBatis企业应用实战[M]. 电子工业出版社,2017.

[17] 埃克尔. JAVA编程思想(第4版)[M]. 机械工业出版社, 2007.

[18] 周志明. 深入理解JAVA虚拟机 JVM高级特性与最佳实践[M].机械工业出版社,2013.

[19] 许令波. 深入分析Java Web技术内幕[M]. 电子工业出版社,2014.

喜欢的点赞收藏加关注私信作者沟通交流

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/600981.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

vue-admin-template刷新侧边栏数据丢失

使用vue-admin-template时,刷新页面侧边栏消失😒,仔细查看代码后找到原因,使用的路由与vuex有关,而在刷新页面时vue会重新加载vue实例,vuex中的数据会被初始化,所以看不到侧边栏是因为数据被重置…

虚拟现实 VR 智慧办公室可视化

“虚拟现实”是来自英文“Virtual Reality”,简称 VR 技术,其是通过利用计算机仿真系统模拟外界环境,主要模拟对象有环境、技能、传感设备和感知等,为用户提供多信息、三维动态、交互式的仿真体验。 图扑软件基于自研可视化引擎 H…

containerd 容器概述

containerd 容器概述 官方文档: https://containerd.io在 2016 年 12 月 14 日,Docker 公司宣布将 containerd 从 Docker 中分离,由开源社区独立发展和 运营。Containerd 完全可以单独运行并管理容器,而 Containerd 的主要职责是镜像管理和…

K8S-解决报错--总结日记

问题一:etcd和apiserver无法正常启动 问题查看nodes节点发生报错 解决方法/步骤 步骤一:K8S集群节点异常重启后,再终端执行kubectl get nodes命令,出现报错dial tcp 10.200.18.100:6443: connect: connection refused。 步骤二…

elementPlus 二次封装 el-upload

此案例是区分上传的文件还是图片&#xff1b; 需要注意的是 before-upload 事件&#xff0c;如果是返回了 false&#xff0c;也会默认走on-remove&#xff0c;需要在 remove事件里做file 的状态判断。 <template><el-upload class"upload-box" ref"…

python3a 之 循环与加速(for循环,list 简化,iterrows, enumerate )

1. map 的用法&#xff1a; 替代for循环&#xff0c;辅助加速 map(function, list) 简写 map(lambda x: x ** 2, [1, 2, 3, 4, 5]) # 使用 lambda 匿名函数 [1, 4, 9, 16, 25] 提供了两个列表&#xff0c;对相同位置的列表数据进行相加 >>> map(lambda x, y: x y, …

做电商数据分析报表做到废?BI平台试过了?

层出不穷的临时分析需求、大量的重复性操作、眨眼流失的时间&#xff0c;那是电商数据分析人员才都懂的感受。每日一问&#xff0c;今天你做电商数据分析报表做到废了吗&#xff1f;怎么改变这种情况&#xff1f;或许BI大数据分析平台可以一试。 BI大数据分析平台&#xff1a;…

activiti和flowable如何迁移到camunda

一、activiti如何迁移到camunda 将 流程引擎Activiti 迁移到工作流平台Camunda 需要考虑以下几个方面&#xff1a; 1、流程定义的兼容性&#xff1a;Camunda 支持 BPMN 2.0 规范&#xff0c;因此 Activiti 定义的流程需要进行检查和调整以确保与 Camunda 兼容。 2、数据库兼容…

什么是ChatGPT,原理是什么?看完这篇还不懂,我直播吃屏!!福利:中文版CHAT GPT镜像纯分享

目录 福利&#xff1a;文末纯分享中文版CHAT GPT镜像&#xff0c;不存在魔法&#xff0c;纯分享免费使用 前言&#xff1a; 1. 概率从何而来&#xff1f; 2、什么是模型 3、类人的任务模型 3、神经网络 4 、机器学习和神经网络的训练 5、神经网络训练的实践与理论 6、嵌…

BGA和QFP有什么区别?引脚设计有哪些方法?

CPU是中央处理器&#xff0c;Central Processing Unit 英文的缩写&#xff0c;电脑中一个最重要&#xff0c;最核心的东西&#xff0c;相当一个人的大脑&#xff0c;是用来思考、分析和计算的。目前市面上比较常见的CPU来自两个品牌&#xff0c;一个是intel公司生产的&#xff…

Layui源码解读之use函数(模块加载)

一、layui.use 用法 layui.use() 函数用于模块加载 layui.use([mods], callback) mods&#xff1a;如果填写(选填)&#xff0c;必须是一个 layui 合法的模块名&#xff08;不能包含目录&#xff09;。 从 layui 2.6 开始&#xff0c;若 mods 不填&#xff0c;只传一个 callbac…

StarRocks案例3: 通过[broadcast] 优化慢SQL

文章目录 一. 问题描述二. 解决方案三. 一些拓展 一. 问题描述 最近在使用StarRocks的时候&#xff0c;发现一个问题 table_a 10W 左右数据&#xff0c;通过where条件过滤数据后 剩下 10行数据。 table_b 5亿左右数据&#xff0c;通过where过滤条件后 剩下 5kw 数据。 table…

java物流快递寄件配送信息管理系统springboot+vue

物流信息管理系统分为管理员功能模块、配送员功能模块和用户功能模块三大部分&#xff0c;下面将对这三大功能模块分别进行介绍。 管理员功能模块&#xff1a;管理员登录后可对系统进行全面管理&#xff0c;管理员登录后主要实现的功能模块包括个人中心、用户管理、配送员管理、…

Deno:下载安装示例和打包为可执行文件

Deno&#xff1a;一个 安全的 JavaScript 和 TypeScript 运行时环境 目录 文档安装DenoHello World将程序打包成可执行程序 文档 官方文档 https://deno.com/manual 安装Deno Deno的解释器是一个可执行的单文件&#xff0c;下载解压即可使用 1、下载Deno 下载地址&#xf…

NFC无源标签协议

1、NFC写图片数据命令 无源NFC接口基于ISO/IEC 14443-3 A类标准&#xff1b; 命令起始地址结束地址数据 11164 67字节,每次写入的命令和地址都是一样的&#xff1b; 第一包数据必须发送该字符串数据"picksmart&M1&H128&W296&S1&C1"&#xff…

【C++】C++ 中的 IO 流

文章目录 一、C语言的输入输出二、什么是流三、C IO 流1、C 标准 IO 流2、C 文件 IO 流 四、stringstream 介绍 一、C语言的输入输出 在C语言中我们使用最频繁的输入输出方式是 scanf () 与 printf()&#xff1a; scanf()&#xff1a;从标准输入设备 (键盘) 读取数据&#xf…

数据库优化之常用的show table status及ALTER TABLE 重建表

文章目录 ⭐️ MySQL优化-碎片优化一、show table status from db_name【 如何判断是否有碎片&#xff1f;】1、碎片查询分析2、产生碎片的原因 二、MySQL 的表空间设置和优化策略【 如何清理碎片&#xff1f;】1、innodb_file_per_table 参数设置为 ON&#xff08;基本上是默认…

从小白到大佬,入门Linux系统收发网络数据包的秘密/

Linux 服务器收到网络数据包&#xff0c;需求经过哪些处置&#xff0c;一步步将数据传给应用进程的呢&#xff1f;应用进程发送数据包时&#xff0c;Linux 又是如何操作将数据包发送进来的呢&#xff1f;今天我们就来聊聊这个话题。 在准备好接纳网络数据包之前&#xff0c;Li…

python---基础小总结

1.常量和布尔值相加 当常量和布尔值相加的时候,如果是True就视为1来和常量相加. 反之,如果是False的话就视为0和常量相加. 但是这样的操作是没有任何意义的! 2.EG:以下情况是会报错的! 3.EG:加不加分号都可以,但是最好不加

相机的格式

图片的格式大体上可以分为yuv格式和RGB格式&#xff0c;以及png,jpg格式&#xff1b; 其中yuv格式对应的摄像头的格式可以是YUYV、UYVV、YVYU、VYUY&#xff1b; rgb格式的图片对应的摄像头格式为RGB,BGR,ARGB8888格式&#xff1b; 一、RGB8888和ARGB8888像素格式如果搞混了…