【网站项目】木里风景文化管理平台

news2024/11/20 18:40:17

🙊作者简介:拥有多年开发工作经验,分享技术代码帮助学生学习,独立完成自己的项目或者毕业设计。

  1. 代码可以私聊博主获取。🌹
  2. 赠送计算机毕业设计600个选题excel文件,帮助大学选题。
  3. 赠送开题报告模板,帮助书写开题报告。

作者完整代码目录供你选择:

  1. 《Springboot网站项目》400套
  2. 《ssm网站项目》800套
  3. 《小程序项目》300套
  4. 《App项目》500套
  5. 《python网站项目》600套

⚡感兴趣大家可以点点关注收藏,后续更新更多项目资料。⚡

项目演示

摘 要

随着信息化时代的到来,管理系统都趋向于智能化、系统化,基于vue的木里风景文化管理平台也不例外,但目前国内的市场仍都使用人工管理,市场规模越来越大,同时信息量也越来越庞大,人工管理显然已无法应对时代的变化,而木里风景文化管理平台能很好地解决这一问题,轻松应对木里风景文化平时的工作,既能提高人力物力财力,又能加快工作的效率,取代人工管理是必然趋势。

基于vue的木里风景文化管理平台以ssm作为框架,b/s模式以及MySql作为后台运行的数据库,同时使用Tomcat用为系统的服务器。本系统主要包括以下功能模块:首页,个人中心,用户管理,旅游公告管理,景区管理,景区商品管理,门票管理,景区美食管理,旅游交通工具管理,红黑榜管理,我的收藏管理,系统管理等模块,通过这些模块的实现能够基本满足日常木里风景文化管理的操作。

本文着重阐述了木里风景文化管理平台的分析、设计与实现,首先介绍开发系统和环境配置、数据库的设计,接着说明功能模块的详细实现,最后进行了总结。

关键词:木里风景文化管理平台; ssm;MySql数据库;Tomcat;

第一章 绪论

1.1 研究背景

科学技术日新月异的如今,计算机在生活各个领域都占有重要的作用,尤其在信息管理方面,在这样的大背景下,学习计算机知识不仅仅是为了掌握一种技能,更重要的是能够让它真正地使用到实践中去,以创新的视角去不断方便人们的生活,推动对新知识的学习,培养自学能力,锻炼动手实践的本领。现代的风景文化管理平台,也应该摆脱人工管理的模式,使用计算机技术来进行信息管理工作。所以本次系统设计的木里风景文化管理平台结合了文字、图像,并能实现风景文化管理的功能,这也是一般风景文化管理平台的重要的要素。木里风景文化管理平台经过几年的实践和总结正在往更深入的方向发展。由此,人们要改善系统功能迫在眉睫。随着科学技术的飞速发展,木里风景文化管理平台也要不断完善其工作流程的繁杂性、多样化、管理复杂、收缴费用与设备维护繁琐等存在的问题。所以要通过计算机胜任木里风景文化管理的工作,使木里风景文化系统更加准确、方便及快捷。

因此,开发出一套高效率、低差错的基于vue的木里风景文化管理平台是十分必要。本系统主要目的是全面实现木里风景文化管理平台数字化,管理员对于用户的所有信息能够全部掌握,而用户能够对自己的木里风景文化信息能够有一个直观的了解。

1.2 平台的现状

现如今,木里风景文化管理的服务并不全面普及,就是尽管实行了木里风景文化管理,但系统进行的管理力量远远不够,所以有很多市场的风景文化管理工作只停留在传统的服务状态。同时,因资金有限再加上也缺少专业水平的工作人员,所以市场上风景文化的管理手段较为落后,也就很难提高风景文化的管理效率,同时也就不能很好的为市场的用户提供更为完善的服务。现在市场管理都是通过手动来进行管理记录及操作,不但麻烦琐碎,还经常出现错误,给广大用户带来很不便,同时也需要大量的人力、物力和财力,极大的浪费了木里风景文化的资源。木里风景文化管理平台是风景文化行业的一个重要组成部分,随着风景文化行业的快速发展,人们慢慢地来希望木里风景文化管理平台能够提供更为合理及完善的风景文化服务。现在,好的风景文化管理也成为广大用户们选择木里风景文化管理平台的关键。

1.3 系统实现的功能

本次设计任务是要设计一个基于vue的木里风景文化管理平台,通过这个系统能够满足木里风景文化管理平台的管理及用户的功能。系统的主要功能包括:首页,个人中心,用户管理,旅游公告管理,景区管理,景区商品管理,门票管理,景区美食管理,旅游交通工具管理,红黑榜管理,我的收藏管理,系统管理等功能。

管理员可以根据系统给定的账号进行登录,登录后可以进入木里风景文化管理平台对木里风景文化所有模块进行管理。包括查看和修改自己的个人信息以及登录密码。

该系统为每一个用户都分配了一个用户账号,用户通过账号的登录可以在系统中查看木里风景文化信息及对个人信息进行修改等功能。

1.4 系统的特点

本系统提供给管理员对首页,个人中心,用户管理,旅游公告管理,景区管理,景区商品管理,门票管理,景区美食管理,旅游交通工具管理,红黑榜管理,我的收藏管理,系统管理等诸多功能进行管理。本系统对于用户输入的任何信息都进行了一定的验证,为管理员操作提高了效率,也使其数据安全性得到了保障。

1.5 本文的组织结构

本文的组织结构如下:

1、绪论。综述了本文的研究背景,分析了木里风景文化管理平台的结构;更好的从用户的角度出发,发现当今木里风景文化管理平台中的不足,同时要指出本次系统中的特色。

 2、对系统主要的使用技术,开发环境、环境配置的介绍。介绍了本次开发所用的系统开发环境MyEclipse,还介绍了Tomcat环境配置、SSM框架技术和MySql环境配置。

3、系统的设计与实现。介绍了开发木里风景文化管理平台的思路并进行了需求分析,在需求分析的基础上进行了总体设计、详细设计以及数据库等相关方面介绍;该部分是全文的主旨。

4、系统功能模块具体实现。对开发中一些主要具体功能的实现进行描述。涉及到数据库、页面参数传递等相关知识。

5、对系统进行测试。

6、总结与展望。对整个论文及设计过程进行总结,指出系统设计过程的心得以及设计中存在的不足;后期还有待完善的地方等;包括致谢。

第二章开发技术与环境配置

以Java语言为开发工具,利用了当前先进的SSM框架技术 ,以MyEclipse10为系统开发工具,MySQL为后台数据库,开发的一个木里风景文化管理平台。

2.1Vue.js介绍

采用JavaSc‌ri‌pt‌框架‌进行‌构建‌Vu‌e用‌户界‌面。‌这个‌框架‌和其‌他的‌框架‌最大‌不同‌就是‌,V‌ue‌采取‌自下‌而上‌的应‌用。‌Vu‌e比‌较容‌易上‌手,‌可以‌很好‌的进‌行现‌有的‌项目‌结合‌。另‌外一‌个方‌面是‌,和‌当前‌的先‌进的‌各种‌工具‌结合‌起来‌时,‌可以‌很好‌的为‌比较复杂的应用页面进行控制。

Vue.js用来构建用‌户界‌面的‌框架‌。和‌其他‌的框‌架不‌同的‌地方‌是,‌该框‌架主‌要是‌使用‌一种‌从下‌而上‌的开‌发设‌计方‌式。‌其主‌要的‌作用‌是关‌注核‌心图‌层,‌学习起来非常方便,可以和现有的各种系统进行融合。另外,Vue有着强大的驱动能力,可以完全采用单文件整合。

Vue.js 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件。

Vue.js 自身不是一个全能框架——它只聚焦于视图层。因此它非常容易学习,非常容易与其它库或已有项目整合。另一方面,在与相关工具和支持库一起使用时,Vue.js 也能驱动复杂的单页应用。

2.2Java语言简介

Java是由SUN公司推出,该公司于2010年被oracle公司收购。Java本是印度尼西亚的一个叫做爪洼岛的英文名称,也因此得来java是一杯正冒着热气咖啡的标识。Java语言在移动互联网的大背景下具备了显著的优势和广阔的前景,它是面向对象的,分布式的,动态的,具有平台无关性、安全性、健壮性。Java语言的基本语句语法和C++一样,但是它面向对象的技术更加彻底,因为Java要求将所有的内容都必须封装成类,把类作为程序的基本单位。由于不允许类外有变量、方法。 Java语言的分布式体现在数据分布和操作分布,它是面向网络的语言,可以处理TCP/IP协议,它也支持客户机/服务器的计算模式。Java语言的动态性是指类在运行时是动态安装的,使得Java可以动态的维护程序。Java不支持指针,对内存访问的所有操作都是通过对象实例化实现的,这样就避免了指针操作中易产生的错误,同时也预防了病毒对系统的破坏和威胁。

Java语言的编程风格与C语言非常接近,它继承了C++面向对象技术的核心,它面世之后发展迅速,非常流行,对高级C语言形成了很大的冲击。业内人士称之为“一次编译、到处执行”。当然java也有缺点,在每次执行编译后,字节码都需要消耗一定的时间,在某些程度上降低了性能。但是这并不影响java成为此次设计语言的选择。Java语言简单易学,使用它的编程时间短,功能性强,开发者学习起来更简便、更快。Java的主要特性有以下几个:

1.面向对象

面向对象有四个特点:封装、继承、多态、抽象。抽象是指忽略一个问题中的次要部分,关注主要部分。多态是指对同一种消息做出的不同反应。继承是指在原有的父类方法基础上增加自己独有的方法,而不改变原来父类。

2.平台无关性

Java编译出来的是字节码,直接由虚拟机执行。在任何平台上,只要有Java虚拟机,Java代码都能运行。

3.可靠性和安全性

Java对内存的访问都必须通过对象的实例变量来实现,避免了指针中出现的错误。

4.多线程      

Java提供了多线程功能,利用编程实现同一时间同时工作的功能。

2.3 MySQL环境配置

(1)本系统的数据使用的是MySQL,所以要将MySQL安装到指定目录,如果下载的是非安装的MySQL压缩包,直接解压到指定目录就可以了。然后点击C:\Program Files\MySQL\bin\winMySQLadmin.exe这个文件其中C:\Program Files\MySQL是MySQL安装目录。输入winMySQLadmin的初始用户、密码(注:这不是MySQL里的用户、密码)随便填不必在意,确定之后右下角任务的启动栏会出现一个红绿灯的图标,红灯亮代表服务停止,绿灯亮代表服务正常,左击这个图标->winnt->install the service 安装此服务,再左击这个图标->winnt->start the service 启动MySQL服务。

(2)修改MySQL数据库的root密码。用cmd进入命令行模式输入如下命令:

cd C:\Program Files\MySQL\bin

MySQLadmin -u root -p password 123

回车出现Enter password: ,这是要输入原密码. 刚安装时密码为空,所以直接回车,此时MySQL 中账号 root 的密码被改为 123 安装完毕。

2.4 MyEclipse环境配置

安装完MyEclipse后选择myeclipse“Window->Preferences”

(1)配置myeclipse的jre为sun的jdk,不要用myeclipse的默认jdk:

选择“java->Installed JREs”,勾中里面的“jdk1.7”.

(2)配置编译的级别为6.0:

选择“Compiler->Compiler compliance level”的值为“6.0”。

(3)配置myeclipse的默认的文件编码格式为“UTF-8”:

   选择“General->Workspace”,选中“Text file encod”下面的“Other”,设置里面的值为“UTF-8”

4)去掉myeclipseJSP的验证:

选择“MyEclipse->Validation”,“Build”列的所有勾都给去掉,这样在编译时因为避免了jsp的验证,所以编译的速度会快很多.

2.5 mysql数据库介绍

利用MYSQL的数据独立性、安全性等特点,在软件项目中对数据进行操作,可以保证数据准确无误,并降低了程序员的应用开发时间。

MYSQL的特点是支持多线程,能方便的对系统资源充分利用,有效提高速度,还提供多种方式途径来对数据库进行连接;MYSQL的功能相对弱小、规模也小,但本系统要求不高,MYSQL完全可以满足本网站使用。

利用MYSQL建立系统数据库,不仅有利于数据处理业务的早期整合,还能利于发展后两种数据扩展的操作。

2.6SSM框架

当今流行的“SSM组合框架”是Spring + SpringMVC + MyBatis的缩写,受到很多的追捧,“组合SSM框架”是强强联手、各司其职、协调互补的团队精神。web项目的框架,通常更简单的数据源。Spring属于一个轻量级的反转控制框架(IoC),但它也是一个面向表面的容器(AOP)。SpringMVC常常用于控制器的分类工作模式,与模型对象分开,程序对象的作用与自动取款机进行处理。这种解耦治疗使整个系统的个性化变得更加容易。MyBatis是一个良好的可持续性框架,支持普通SQL查询,同时允许对存储过程的高级映射进行数据的优化处理。大型Java Web应用程序的由于开发成本太高,开发后难以维护和开发过程中一些难以解决的问题,而采用“SSM组合框架”,它允许建立业务层次结构,并为这个问题提供良好的解决方案。

2.7 B/S架构

B/S结构是目前使用最多的结构模式,它可以使得系统的开发更加的简单,好操作,而且还可以对其进行维护。使用该结构时只需要在计算机中安装数据库,和一些很常用的浏览器就可以了。浏览器就会与数据库进行信息的连接,可以实现很多的功能,B/S结构是可以直接进行使用的,而且B/S结构在使用中极大的减少了工作的维护。基于B/S的软件,所有的数据库之间都是相互独立的,因此是非常安全的。因为基于B/S结构可以清楚的看到系统正在处理的业务,并且能够及时的让管理人员做出决策,这样就可以避免企业的损失。B/S结构的基本特点是集中式的管理模式,用户使用系统生成数据后,这些数据就可以存储到系统的数据库中,方便日后能够用到,这样就可以满足人们的所有的需求。

图2-1  B/S模式三层结构图

第三章系统分析与设计

3.1 可行性分析

一个完整的系统,可行性分析是必须要有的,因为他关系到系统生存问题,对开发的意义进行分析,能否通过本系统来补充线下木里风景文化管理模式中的缺限,去解决其中的不足等,通过对本系统,不仅能使工作量不断地减少,还能使工作和管理的效率更加高。所以开发该系统能实现更大的意义和价值,系统完成后,能否达到预期效果就要通过可行性分析,分析之后,决定此系统是否开发。该木里风景文化管理平台的开发设计中,对技术、经济、操作方面进行了可行性分析;

3.1.1 技术可行性

本系统开发选择java语言,它被研究的目的就是在于能够为网页创建等可以看到的信息。随着移动互联网技术的不断发展和创新,java俨然已成为下一代互联网的Web标准。所以后台设计选择使用mysql数据库主要用来的建立和维护信息。对于系统开发要求应具备功能完善、易于操作等优点,后台数据库的要求则是能够建立和维护数据信息的统一性和完整性。

3.1.2 操作可行性

现在随着科技的飞速发展,计算机早已经进入了人们的日常生活中,人们的工作环境也不像以前有那么多的要求,需要员工一定要到公司办公,有的工作在家也可以完成。这使得人们的工作效益有了很大的提高。操作的多样性也变高了。因此,管理的计算机化,智能化是社会发展而带来的必然趋势,各种智能的软件层出不穷,不同的软件能完成用户不同的需求,这不仅提高了工作效率还能完成一些客户特定的一些需求。本系统不仅界面简洁明了还采用可视化界面,用户只要用鼠标和键盘就可以完成对相关信息的修改,删除,添加等操作。因为这个系统的操作十分简单,方便上手,对于第一次使用系统的人,只需要很少的时间就可以上手操作。由此可见,本系统在操作上是可行的。

3.1.3经济可行性

基于vue的木里风景文化管理平台,该系统软件开发仅需要一台普通的计算机便可完成实现开发,其成本很低。另外,作为毕业设计作品来讲,开发成本基本上可以忽略不计,且该系统软件的投入使用,可以实现更加快速高效的木里风景文化管理,同时还能实现对人力资源和管理资源的有效节约,基于vue的木里风景文化管理平台在经济上完全可行。

3.2 需求分析

利用ssm、Java、MyEclipse和mysql数据库等知识点,结合相关设计模式、以及软件工程的相关知识,设计一个木里风景文化管理平台,来进行记录用户的信息,以及系统信息的增删改查的功能,根据实现需求,系统需完成这些基本功能:

(1)系统合理显示风景商品界面、景区美食界面、购物车界面等界面。

(2)用户和管理员所有的信息都保存与数据库中。

(3)对木里风景文化信息能够进行查询、修改、删除、添加等操作。

3.3 总体设计

根据木里风景文化管理平台的功能需求,进行系统设计。

前台功能:用户进入系统可以实现首页,旅游公告,景区,景区商品,景区美食,旅游交通工具,红黑榜,个人中心,后台管理,购物车等进行操作;

后台主要是管理员,管理员功能包括首页,个人中心,用户管理,旅游公告管理,景区管理,景区商品管理,门票管理,景区美食管理,旅游交通工具管理,红黑榜管理,我的收藏管理,系统管理等;

系统对这些功能进行整合,产生的功能结构图如下:

图3-1 系统总体结构图

3.4 数据库设计与实现

在每一个系统中数据库有着非常重要的作用,数据库的设计得好将会增加系统的效率以及系统各逻辑功能的实现。所以数据库的设计我们要从系统的实际需要出发,才能使其更为完美的符合系统功能的实现。

3.4.1 数据库概念结构设计

数据库的E-R图反映了实体、实体的属性和实体之间的联系。下面是各个实体以及实体的属性。

用户管理实体属性图如下所示:

图3-2用户管理实体属性图

景区管理实体属性图如下所示:

图3-3景区管理实体属性图

景区商品管理实体属性图如下所示:

图3-4景区商品管理实体属性图

3.4.2 数据库具体设计

根据E-R图,设计每张表的变量名,变量的类型及主键等如下。

表3-1:收藏表

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

userid

bigint

用户id

refid

bigint

收藏id

tablename

varchar

200

表名

name

varchar

200

收藏名称

picture

varchar

200

收藏图片

type

varchar

200

类型(1:收藏,21:赞,22:踩)

1

inteltype

varchar

200

推荐类型

表3-2:门票

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

jingqumingcheng

varchar

200

景区名称

jingdian

varchar

200

景点

renshu

varchar

200

人数

canguanshijian

varchar

200

参观时间

yonghuzhanghao

varchar

200

用户账号

yonghuxingming

varchar

200

用户姓名

lianxifangshi

varchar

200

联系方式

sfsh

varchar

200

是否审核

shhf

longtext

4294967295

审核回复

ispay

varchar

200

是否支付

未支付

thumbsupnum

int

0

crazilynum

int

0

price

float

价格

表3-3:配置文件

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

name

varchar

100

配置参数名称

value

varchar

100

配置参数值

表3-4:订单

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

orderid

varchar

200

订单编号

tablename

varchar

200

商品表名

jingqumeishi

userid

bigint

用户id

goodid

bigint

商品id

goodname

varchar

200

商品名称

picture

varchar

200

商品图片

buynumber

int

购买数量

price

float

价格/积分

0

discountprice

float

折扣价格

0

total

float

总价格/总积分

0

discounttotal

float

折扣总价格

0

type

int

支付类型

1

status

varchar

200

状态

address

varchar

200

地址

tel

varchar

200

电话

consignee

varchar

200

收货人

logistics

longtext

4294967295

物流

表3-5:旅游交通工具

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

gongjumingcheng

varchar

200

工具名称

leixing

varchar

200

类型

jiage

varchar

200

价格

shuliang

varchar

200

数量

tupian

varchar

200

图片

表3-6:购物车表

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

tablename

varchar

200

商品表名

jingqumeishi

userid

bigint

用户id

goodid

bigint

商品id

goodname

varchar

200

商品名称

picture

varchar

200

图片

buynumber

int

购买数量

price

float

单价

discountprice

float

会员价

表3-7:旅游公告

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

biaoti

varchar

200

标题

fengmian

varchar

200

封面

neirongxiangqing

longtext

4294967295

内容详情

fabushijian

date

发布时间

表3-8:地址

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

userid

bigint

用户id

address

varchar

200

地址

name

varchar

200

收货人

phone

varchar

200

电话

isdefault

varchar

200

是否默认地址[是/否]

表3-9:景区商品

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

jingqumingcheng

varchar

200

景区名称

dianpubianhao

varchar

200

店铺编号

shangpumingcheng

varchar

200

商铺名称

dianpuweizhi

varchar

200

店铺位置

shangpinmingcheng

varchar

200

商品名称

tupian

varchar

200

图片

shuliang

varchar

200

数量

price

float

价格

表3-10:景区美食

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

jingqumingcheng

varchar

200

景区名称

shangpumingcheng

varchar

200

商铺名称

shangpuweizhi

varchar

200

商铺位置

meishimingcheng

varchar

200

美食名称

meishileixing

varchar

200

美食类型

tupian

varchar

200

图片

cailiao

varchar

200

材料

fenliang

varchar

200

份量

thumbsupnum

int

0

crazilynum

int

0

price

float

价格

表3-11:景区

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

jingqumingcheng

varchar

200

景区名称

fengmian

varchar

200

封面

jingqujianjie

longtext

4294967295

景区简介

yantushangpu

varchar

200

沿途商铺

tesemeishi

longtext

4294967295

特色美食

lvyoujiaotonggongju

longtext

4294967295

旅游交通工具

shijian

date

时间

thumbsupnum

int

0

crazilynum

int

0

表3-12:红黑榜

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

dianpumingcheng

varchar

200

店铺名称

dianpuweizhi

varchar

200

店铺位置

youkepingyu

varchar

200

游客评语

pingfen

varchar

200

评分

tupian

varchar

200

图片

bangleixing

varchar

200

榜类型

fabushijian

date

发布时间

longitude

float

经度

latitude

float

纬度

fulladdress

varchar

200

地址

表3-13:门票评论表

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

refid

bigint

关联表id

userid

bigint

用户id

nickname

varchar

200

用户名

content

longtext

4294967295

评论内容

reply

longtext

4294967295

回复内容

表3-14:用户

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

yonghuzhanghao

varchar

200

用户账号

yonghuxingming

varchar

200

用户姓名

mima

varchar

200

密码

xingbie

varchar

200

性别

lianxifangshi

varchar

200

联系方式

touxiang

varchar

200

头像

money

float

余额

0

表3-15:景区美食评论表

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

refid

bigint

关联表id

userid

bigint

用户id

nickname

varchar

200

用户名

content

longtext

4294967295

评论内容

reply

longtext

4294967295

回复内容

表3-16:用户表

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

username

varchar

100

用户名

password

varchar

100

密码

role

varchar

100

角色

管理员

addtime

timestamp

新增时间

CURRENT_TIMESTAMP

表3-17:景区评论表

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

refid

bigint

关联表id

userid

bigint

用户id

nickname

varchar

200

用户名

content

longtext

4294967295

评论内容

reply

longtext

4294967295

回复内容

表3-18:token表

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

userid

bigint

用户id

username

varchar

100

用户名

tablename

varchar

100

表名

role

varchar

100

角色

token

varchar

200

密码

addtime

timestamp

新增时间

CURRENT_TIMESTAMP

expiratedtime

timestamp

过期时间

CURRENT_TIMESTAMP

表3-19:红黑榜评论表

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

refid

bigint

关联表id

userid

bigint

用户id

nickname

varchar

200

用户名

content

longtext

4294967295

评论内容

reply

longtext

4294967295

回复内容

第四章 系统功能的具体实现

4.1 系统功能模块

木里风景文化管理平台,用户进入到系统首页,可以查看首页,旅游公告,景区,景区商品,景区美食,旅游交通工具,红黑榜,个人中心,后台管理,购物车等内容进行操作,如图4-1所示。

图4-1系统首页界面图

景区;在景区页面中可以查看景区名称,沿途商铺,时间等内容进行收藏操作;如图4-2所示。

图4-2景区界面图

景区商品;在景区商品页面中可以查看景区名称,价格,店铺编号,商铺名称,店铺位置,商品名称,数量等内容,并进行添加到购物车,立即购买等操作;如图4-3所示。

图4-3景区商品界面图

景区美食;在景区美食页面可以查看美食名称,价格,景区名称,店铺名称,店铺位置,美食类型,材料,份量等内容,并进行添加到购物车,立即购买,收藏等操作;如图4-4所示。

图4-4景区美食界面图

旅游交通工具;在旅游交通工具页面可以查看工具名称,类型,价格,数量等内容;如图4-5所示。

图4-5旅游交通工具界面图

红黑榜;在红黑榜页面可以查看店铺名称,店铺位置,游客评语,评分,榜类型,发布时间,地址等内容进行收藏和评论等操作;如图4-6所示。

图4-6红黑榜界面图

用户注册;在用户注册页面中输入用户账号,用户姓名,密码,再次密码,联系方式等内容进行用户注册操作;如图4-7所示。

图4-7用户注册界面图

个人中心,在个人中心页面中可以对用户账号,用户姓名,密码,性别,联系方式,上传图片,余额等内容进行更新信息,并可以根据需要对我的订单,我的收藏进行相应的操作,如图4-8所示。

图4-8个人中心界面图

4.2 管理员功能模块

管理员登录,通过填写注册时输入的用户名、密码、选择角色等信息进行登录操作,如图4-9所示。

图4-9管理员登录界面图

管理员登录进入系统可以查看首页,个人中心,用户管理,旅游公告管理,景区管理,景区商品管理,门票管理,景区美食管理,旅游交通工具管理,红黑榜管理,我的收藏管理,系统管理等信息进行详细操作,如图4-10所示。

图4-10管理员功能界面图

用户管理;在用户管理页面中可以查看索引,用户账号,用户姓名,性别,联系方式,头像等内容,并进行详情,修改和删除等操作;如图4-11所示。

图4-11用户管理界面图

旅游公告管理:在旅游公告管理页面中可以查看索引,标题,封面,发布时间等内容,并进行详情,修改和删除等操作,如图4-12所示。

图4-12旅游公告管理界面图

景区管理;在景区管理页面中可以查看索引,景区名称,封面,沿途商铺,时间等内容,并进行详情,购票,查看评论,修改和删除等操作;如图4-13所示。

图4-13景区管理界面图

景区商品管理;在景区商品管理页面中可以查看索引,景区名称,店铺编号,商铺名称,店铺位置,商品名称,图片,数量,价格等内容,并进行详情,修改和删除等操作;如图4-14所示。

图4-14景区商品管理界面图

红黑榜管理;在红黑榜管理页面中可以查看索引,店铺名称,店铺位置,游客评语,评分,图片,榜类型,发布时间,地址等内容,并进行详情,修改,查看评论和删除等操作;如图4-15所示。

图4-15红黑榜管理界面图

4.3 用户功能模块

用户登录进入系统可以查看旅游公告管理,景区管理,景区商品管理,门票管理,景区美食管理,旅游交通工具管理,红黑榜管理等信息进行详细操作,如图4-16所示。

图4-16用户功能界面图

景区管理;在景区管理页面中可以查看索引,景区名称,封面,沿途商铺,时间等内容,并进行详情,购票,查看评论等操作;如图4-17所示。

图4-17景区管理界面图

门票管理;在门票管理页面中可以查看索引,景区名称,景点,人数,参观时间,用户账号,用户姓名,联系方式,是否支付,价格,审核回复,审核状态等内容,并进行详情和查看评论等操作;如图4-18所示。

图4-18门票管理界面图

第五章 系统测试

系统测试是软件开发过程中最后一步,但也是不可或缺的重要的一步,没有人可以保证一次性编写完成的系统不会出错,而系统测试就是将自己开发的系统成为成品前的最后一步。在测试过程中需要进行严谨细致的测试,要尽可能全面地在不同情况下运行该系统,排除一切出现错误的可能。

系统测试不仅仅是发现系统潜在的BUG或错误,而更为重要的是为用户提供一个良好的体验和安全可使用的产品服务。而通过发现错误或潜在的问题,将有助于提升产品的竞争力,这也是软件测试的其中的重要目的之一。

软件测试的方法有好几种,但目前主要采用的是包括以功能为主要测试方向的黑盒测试以及以逻辑为主要测试方向的白盒测试,这是两种不同的测试方法,针对的测试侧重点不同,本课题根据实际需求情况,选择以功能为主要的黑盒测试方法,同时测试是要遵循一定的规则来执行的,一个测试要执行其执行的依据一般是由测试用例来规定的,而测试用例一般是依据需求或说明书来综合制定的,测试在硬件出厂前是十分重要的一个过程,本课题由于时间和精力的关系,选择以实现的功能作为测试要点来进行测试。具体测试过程如下:

测试用例1及测试过程:

登录:录入登录信息,账号,密码,权限,然后单击登录进行操作,会出现两种情况:一种情况是登录成功,进入用户相应的功能界面进行下一步操作;另一种情况是提示登录失败,系统会弹出一个对话框要求重新登录操作;

测试用例2及测试过程:

管理员登录:录入登录信息,管理员账号,密码,权限,然后单击登录进行操作,会出现两种情况:登录成功进入管理员具有权限的功能界面和提示登录失败。一种情况是登录成功,进入管理员界面进行下一步操作;另一种情况是提示登录失败,系统会弹出一个对话框要求重新登录操作;

总结

    在这次毕业设计中,我使用了SSM框架,选择MySQL作为后台数据库进行访问及修改。在设计开始之初,我也在苦恼于系统的逻辑功能的具体实现,因为我对于木里风景文化管理的概念还较为模糊,其间我也查询了大量的网上资料,清楚了解实际生活中木里风景文化管理主要面对的对象和管理需要完成的基本功能。

    虽然在这过程中也遇到了许多的困难,主要有系统逻辑功能不合适和系统设计中出错,当在自己查阅资料无法解决之时,我也会与同学和老师进行请教和讨论,所以在这个过程之中,也让我清楚的认识到自己的不足以及团队的力量才是最大,以后不论是在学习还是工作中,都要融入到集体之中,那样自己才会成长的更快。

    当然,在此次设计中,仍然存在着很多的不足,本来之前我想让其系统可以更为完美的实现角色与权限之间的控制,让系统中每一次的权限操作都进行控制,但是也因为时间的不足以及本人的能力有限,并未完成,我希望自己在以后的学习中继续完善,使这个系统更贴近实际的操作。

参考文献

[1] 李兴华. JavaWeb开发实战经典基础篇(第1版)[M].北京:清华大学出版社,2010.8

[2] 程志艳, 张亮. JSP实用简明教程[M].北京:清华大学出版社,2005.12

[3] 陈刚. Eclipse从入门到精通[M].北京:清华大学出版社,2005.6

[4] 李勇平.JSP应用开发详解[M].电子工业出版社,2005.10

[5] 郑自国,邹丰义.Java案例开发集锦[M].北京:电子工业出版社,2005.2

[6] 张孝祥. 深入Java Web开发内幕——核心基础[M]. 北京:电子工业出版社.  2006

[7] 李安渝. Web Services技术与实现[M]. 北京:国防工业出版社,2003 

[8] 孙卫琴,李洪成.Tomcat 与 Java Web 开发技术详解[M].电子工业出版社,2003.6:1-205 

[9] 曹广鑫 编著.JSP数据库项目开发宝典[M].北京:电子工业出版社,2006

[10] 王剑,邓武.基于Web服务面向服务的动态电子商务应用框架研究[J].科学技术与工程,2008,2(3):65-90

[11] 周旌恒.JSP应用开发详解(第三版)[M].北京:电子工业出版社,2004

[12] Shanliang Xue;Qing Yan Wei;Guang Ming Jiao;Dun Wen Zuo. Research Code Management System Based on J2EE[J]. Key Engineering Material.2010,Vol.431-432(188-191)

[13] Yan Ming Li;Li Feng Wan. Design On Framework Structure of College English Learning Management System Based on Struts2[J].Advanced Materials Research.2013,Vol.846-847(1558-1561)

[14]Bruce Eckel. Thinking in Java[M]. Upper Saddle River, New Jersey, USA:  Prentice Hall, 2006

[15] Joshua Bloch. Effective Java[M]. Piscataway, N.J:  IEEE Press, 2009

[16] Juan Lipson Vuong.A semantics-based routing scheme for grid resource discovery[M].E-Science: First

    International Conference on E-Science and GridComputing,2005:58-70,90

核心代码展示

/**
 * 公告通知
 * 后端接口
 * @author 
 * @email 
 * @date 2021-03-09 11:33:59
 */
@RestController
@RequestMapping("/news")
public class NewsController {
    @Autowired
    private NewsService newsService;
    


    /**
     * 后端列表
     */
    @RequestMapping("/page")
    public R page(@RequestParam Map<String, Object> params,NewsEntity news, HttpServletRequest request){
        EntityWrapper<NewsEntity> ew = new EntityWrapper<NewsEntity>();
		PageUtils page = newsService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, news), params), params));

        return R.ok().put("data", page);
    }
    
    /**
     * 前端列表
     */
	@IgnoreAuth
    @RequestMapping("/list")
    public R list(@RequestParam Map<String, Object> params,NewsEntity news, HttpServletRequest request){
        EntityWrapper<NewsEntity> ew = new EntityWrapper<NewsEntity>();
		PageUtils page = newsService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, news), params), params));
        return R.ok().put("data", page);
    }

	/**
     * 列表
     */
    @RequestMapping("/lists")
    public R list( NewsEntity news){
       	EntityWrapper<NewsEntity> ew = new EntityWrapper<NewsEntity>();
      	ew.allEq(MPUtil.allEQMapPre( news, "news")); 
        return R.ok().put("data", newsService.selectListView(ew));
    }

	 /**
     * 查询
     */
    @RequestMapping("/query")
    public R query(NewsEntity news){
        EntityWrapper< NewsEntity> ew = new EntityWrapper< NewsEntity>();
 		ew.allEq(MPUtil.allEQMapPre( news, "news")); 
		NewsView newsView =  newsService.selectView(ew);
		return R.ok("查询公告通知成功").put("data", newsView);
    }
	
    /**
     * 后端详情
     */
    @RequestMapping("/info/{id}")
    public R info(@PathVariable("id") Long id){
        NewsEntity news = newsService.selectById(id);
        return R.ok().put("data", news);
    }

    /**
     * 前端详情
     */
	@IgnoreAuth
    @RequestMapping("/detail/{id}")
    public R detail(@PathVariable("id") Long id){
        NewsEntity news = newsService.selectById(id);
        return R.ok().put("data", news);
    }
    



    /**
     * 后端保存
     */
    @RequestMapping("/save")
    public R save(@RequestBody NewsEntity news, HttpServletRequest request){
    	news.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
    	//ValidatorUtils.validateEntity(news);
        newsService.insert(news);
        return R.ok();
    }
    
    /**
     * 前端保存
     */
    @RequestMapping("/add")
    public R add(@RequestBody NewsEntity news, HttpServletRequest request){
    	news.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
    	//ValidatorUtils.validateEntity(news);
        newsService.insert(news);
        return R.ok();
    }

    /**
     * 修改
     */
    @RequestMapping("/update")
    public R update(@RequestBody NewsEntity news, HttpServletRequest request){
        //ValidatorUtils.validateEntity(news);
        newsService.updateById(news);//全部更新
        return R.ok();
    }
    

    /**
     * 删除
     */
    @RequestMapping("/delete")
    public R delete(@RequestBody Long[] ids){
        newsService.deleteBatchIds(Arrays.asList(ids));
        return R.ok();
    }
    
    /**
     * 提醒接口
     */
	@RequestMapping("/remind/{columnName}/{type}")
	public R remindCount(@PathVariable("columnName") String columnName, HttpServletRequest request, 
						 @PathVariable("type") String type,@RequestParam Map<String, Object> map) {
		map.put("column", columnName);
		map.put("type", type);
		
		if(type.equals("2")) {
			SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
			Calendar c = Calendar.getInstance();
			Date remindStartDate = null;
			Date remindEndDate = null;
			if(map.get("remindstart")!=null) {
				Integer remindStart = Integer.parseInt(map.get("remindstart").toString());
				c.setTime(new Date()); 
				c.add(Calendar.DAY_OF_MONTH,remindStart);
				remindStartDate = c.getTime();
				map.put("remindstart", sdf.format(remindStartDate));
			}
			if(map.get("remindend")!=null) {
				Integer remindEnd = Integer.parseInt(map.get("remindend").toString());
				c.setTime(new Date());
				c.add(Calendar.DAY_OF_MONTH,remindEnd);
				remindEndDate = c.getTime();
				map.put("remindend", sdf.format(remindEndDate));
			}
		}
		
		Wrapper<NewsEntity> wrapper = new EntityWrapper<NewsEntity>();
		if(map.get("remindstart")!=null) {
			wrapper.ge(columnName, map.get("remindstart"));
		}
		if(map.get("remindend")!=null) {
			wrapper.le(columnName, map.get("remindend"));
		}


		int count = newsService.selectCount(wrapper);
		return R.ok().put("count", count);
	}
	


}

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

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

相关文章

电脑装了两个Win10系统,怎么修改其名称方便识别?

前言 有小伙伴在上一期的双系统教程上留言说怎么修改双系统引导时候显示的名称 不然看起来两个系统好像都没啥分别&#xff0c;如果是Windows10Windows11的方案还好说&#xff0c;但如果是两个Windows10或者是两个Windows11&#xff0c;有时候还真的很不好分辨。 万一想要启动…

【stomp 实战】Spring websocket 用户订阅和会话的管理源码分析

通过Spring websocket 用户校验和业务会话绑定我们学会了如何将业务会话绑定到spring websocket会话上。通过这一节&#xff0c;我们来分析一下会话和订阅的实现 用户会话的数据结构 SessionInfo 用户会话 用户会话定义如下&#xff1a; private static final class Sessio…

第三节课,功能2:开发后端用户的管理接口-- postman--debug测试

一、如何使用postman 网址&#xff1a; https://www.postman.com/downloads/ 【Postman小白教程】五分钟学会如何使用Postman~_哔哩哔哩_bilibili postman安装使用_bowser agent在postman哪里-CSDN博客 二、下载后 登录&#xff0c;开始测试 2.1 关于postman 报错&#…

IOT-9608I-L 的GPIO应用

目录 概述 1 GPIO接口介绍 2 板卡上操作IO 2.1 查看IO驱动 2.2 使用ECHO操作IO 2.2.1 端口选择 2.2.2 查看IO 2.2.3 echo操作IO 3 C语言实现一个操作IO的案例 3.1 功能介绍 3.2 代码实现 3.3 详细代码 4 测试 测试视频地址&#xff1a; IOT-9608I-L的一个简单测试&a…

探索APP分发的新趋势 - 内容包括小猪APP分发平

APP分发探索APP分发的新趋势 - 内容包括小猪APP分发平台的重要性 APP分发是移动互联网的核心环节探索APP分发的新趋势 - 内容包括小猪APP分发平台&#xff0c;它链接探索APP分发的新趋势 - 内容包括小猪APP分发平台了开发者和用户探索APP分发的新趋势 - 内容包括小猪APP分发平…

区块链 | 由外部实体导致的 NFT 安全问题

&#x1f98a;原文&#xff1a; Understanding Security Issues in the NFT Ecosystem &#x1f98a;警告&#xff1a; 本文只记录了原文的第 6 节。 1 问题描述 NFT 所指向的数字资产&#xff08;图片、视频等&#xff09;必须是可以访问的&#xff0c;这样 NFT 才具有意义…

牛客网刷题 | BC70 计算单位阶跃函数

目前主要分为三个专栏&#xff0c;后续还会添加&#xff1a; 专栏如下&#xff1a; C语言刷题解析 C语言系列文章 我的成长经历 感谢阅读&#xff01; 初来乍到&#xff0c;如有错误请指出&#xff0c;感谢&#xff01; 描述 KiKi最近学习了信号…

慧言AIVoceChat实现在线客服及社区频道

原文链接&#xff1a;小回博客 慧言AI&VoceChat实现在线客服及社区频道 一、VoceChat 简介 官网&#xff1a;https://voce.chat VoceChat 是一款支持独立部署的个人云社交媒体聊天服务。15MB 的大小可部署在任何的服务器上&#xff0c;部署简单&#xff0c;很少需要维护…

VS2022 .Net6.0 无法打开窗体设计器

拿Vs2022 建了个Demo&#xff0c;运行环境是net6.0-windows&#xff0c;无论双击或是右键都打不开窗体设计器 打开项目目录下的*.csproj.user <?xml version"1.0" encoding"utf-8"?> <Project ToolsVersion"Current" xmlns"htt…

变电站综合自动化系统:Modbus-PLC-645转IEC104网关方案

前言 电力行业作为关系国计民生的重要基础产业&#xff0c;是关系千家万户的公用事业。但是要做好电力行业安全保障工作的前提&#xff0c;是需要对应的技术人员详细了解电力工业使用的系统、设备以及各类协议的安全特性&#xff0c;本文将主要介绍IEC 104协议的定义和钡铼技术…

动手学深度学习——softmax分类

1. 分类问题 回归与分类的区别&#xff1a; 回归可以用于预测多少的问题&#xff0c; 比如"预测房屋被售出价格"&#xff0c;它是个单值输出。softmax可以用来预测分类问题&#xff0c;例如"某个图片中是猫、鸡还是狗&#xff1f;"&#xff0c;这是一个多…

Springboot+Vue项目-基于Java+MySQL的入校申报审批系统(附源码+演示视频+LW)

大家好&#xff01;我是程序猿老A&#xff0c;感谢您阅读本文&#xff0c;欢迎一键三连哦。 &#x1f49e;当前专栏&#xff1a;Java毕业设计 精彩专栏推荐&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb; &#x1f380; Python毕业设计 &…

Tomact安装配置及使用(超详细)

文章目录 web相关知识概述web简介(了解)软件架构模式(掌握)BS&#xff1a;browser server 浏览器服务器CS&#xff1a;client server 客户端服务器 B/S和C/S通信模式特点(重要)web资源(理解)资源分类 URL请求路径(理解)作用介绍格式浏览器通过url访问服务器的过程 服务器(掌握)…

Python | Leetcode Python题解之第57题插入区间

题目&#xff1a; 题解&#xff1a; class Solution:def insert(self, intervals: List[List[int]], newInterval: List[int]) -> List[List[int]]:left, right newIntervalplaced Falseans list()for li, ri in intervals:if li > right:# 在插入区间的右侧且无交集…

ASP.NET数据存储与交换系统设计

摘 要 该系统以Microsoft Visual Studio 2003作为开发工具&#xff0c;选用SQL Server 2000数据库来实现数据存储&#xff0c;并设计开发了一种基于B/S模式的数据存储与交换系统。该系统完成了用户注册管理、后台管理和用户空间管理功能&#xff1b;为每个用户提供了个人的存…

企业家必须提升演讲口才的原因(3篇)

企业家必须提升演讲口才的原因&#xff08;3篇&#xff09; **篇&#xff1a;企业家必须提升演讲口才的原因——建立品牌影响力 一、引言 在当今竞争激烈的市场环境中&#xff0c;企业家作为企业的灵魂和代表&#xff0c;其个人形象和品牌影响力对于企业的成功至关重要。而演…

【大语言模型LLM】-基于ChatGPT搭建客服助手(1)

&#x1f525;博客主页&#xff1a;西瓜WiFi &#x1f3a5;系列专栏&#xff1a;《大语言模型》 很多非常有趣的模型&#xff0c;值得收藏&#xff0c;满足大家的收集癖&#xff01; 如果觉得有用&#xff0c;请三连&#x1f44d;⭐❤️&#xff0c;谢谢&#xff01; 长期不…

Java File类

1. File类概述 1.1 什么是File类 File是java.io包下作为文件和目录的类。File类定义了一些与平台无关的方法来操作文件&#xff0c;通过调用File类中的方法可以得到文件和目录的描述信息&#xff0c;包括名称、所在路径、读写性和长度等&#xff0c;还可以对文件和目录进行新建…

C语言 | Leetcode C语言题解之第61题旋转链表

题目&#xff1a; 题解&#xff1a; struct ListNode* rotateRight(struct ListNode* head, int k) {if (k 0 || head NULL || head->next NULL) {return head;}int n 1;struct ListNode* iter head;while (iter->next ! NULL) {iter iter->next;n;}int add n…

c#数据库: 9.删除和添加新字段/数据更新

先把原来数据表的sexy字段删除,然后重新在添加字段sexy,如果添加成功,sexy列的随机内容会更新.原数据表如下: using System; using System.Collections.Generic; using System.Data; using System.Data.Common; using System.Data.SqlClient; using System.Linq; using System.…