SSM+mysql游戏百科系统-计算机毕业设计源码20227

摘 要

随着国民生活水平的逐渐提高,每逢假期或空闲时节走出家门游山玩水已渐渐成为人们生活的一部分。互联网的普及给人们带来的便利不需多说,因此如果把游戏产业与互联网结合起来,利用java技术建设游戏百科系统,实现游戏资讯交流管理的网络化。则对于进一步提高国民经济发展,丰富人们的精神生活定能起到不少的促进作用。

根据游戏百科平台的研究现状和发展趋势,系统从需求分析、结构设计、数据库设计,在到系统实现,并且可以将系统分为前端实现和后端实现。本系统力求结合实际找出一种切实可行的开发方案,经过反复研究和学习,借助java开发语言、后端基于java的ssm框架,MySQL数据库和Apache服务器来完成系统的所有功能,主要根据用户需求来完成用户管理、游戏百科、系统管理、个人中心等功能,最后进行系统测试,来检测系统的权限和漏洞,从而将系统完善,达到符合标准。

关键词:游戏百科;ssm框架;MySQL数据库;Apache服务器

Design and Implementation of a Game Encyclopedia System Based on SSM

ABSTRACT

With the gradual improvement of national living standards, going out to visit mountains and rivers during holidays or leisure time has gradually become a part of people's lives. The popularity of the Internet has brought convenience to people, so it goes without saying that if we combine the gaming industry with the Internet, and use Java technology to build a game encyclopedia system, we can achieve networked game information exchange and management. It will definitely play a significant role in further improving the development of the national economy and enriching people's spiritual life.

According to the research status and development trend of the game encyclopedia platform, the system can be divided into front-end implementation and back-end implementation from demand analysis, structural design, database design to system implementation. This system strives to find a practical and feasible development solution based on reality. After repeated research and learning, it utilizes the Java development language, backend Java based SSM framework, MySQL database, and Apache server to complete all functions of the system. It mainly completes user management, game encyclopedia, system management, personal center, and other functions according to user needs. Finally, system testing is conducted to detect system permissions and vulnerabilities, Thus, the system will be improved to meet the standards.

Keywords: Game Encyclopedia; SSM framework; MySQL database; Apache server

目  录

第1章 绪论

1.1 研究背景与意义

1.2 开发现状

第2章 系统开发技术的介绍

2.1 ssm框架介绍

2.2 B/S结构

2.3 java脚本语言

2.4 MySQL数据库

2.5 Apache简介

第3章 系统分析

3.1 功能需求分析

3.2 业务流程分析

3.3 数据流程分析

第4章 系统设计

4.1 系统设计思想

4.2 系统总体设计

4.3 系统功能模块设计

4.4 数据库设计

4.4.1概念模型设计

4.4.2数据库表设计

第5章 系统的实现

5.1 前台首页的实现

5.2 登录模块的实现

5.3 公告模块的实现

5.4 评论模块的实现

5.5 游戏词条管理模块的实现

第6章 系统测试

6.1 测试目的

6.2 界面测试

6.3 功能测试

6.4 测试结果

第7章 总结

参考文献

致 谢

  1. 绪论
    1. 研究背景与意义

ENIAC的诞生使得信息不再被单调地记录在纸质传统媒介上;ARPANET的出现让人类看到了计算机间信息共享的希望;而Web技术的发展,让人们可以方便快捷地在桌面上完成信息交互。近年来,计算机参与到了人类衣食住行的各个方面,也改善了人们的生活品质。在获取外界信息方面,传统的报纸杂志等渠道已经远远不够,尤其是生活节奏越来越快、信息量越来越大、资讯内容形形色色,传统的资讯发布和管理工作日趋繁重复杂。因此基于java技术的游戏百科系统应运而生。

对于游戏平台的用户来说,游戏百科就像是玩家互动的一种功能扩展,这个互动是整个游戏的玩家互动,已经不再被服务器这个框架给局限。平常要看一款游戏是否火爆,往往通过游戏百科就可以得知一二了。在论坛中,玩家可以查找各种自己所需的资料,可以找到志同道合的其他玩家,另外还可以反馈或者吐槽各种问题。游戏百科的本质是连接游戏与玩家之间的桥梁,而这个桥梁的连接是双向的,通过平台建设和内容管理形成良好的社区氛围,并对游戏进行反哺,增加用户的粘性。

    1. 开发现状

西方发达国家步入互联网时代的时间较早,国外的新媒体已经由功能单一向初具规模发展,其掌握的相关技术也比较成熟。中国在这方面发展较晚,经历了不断的摸索和实践,目前国内的网络硬件设施基本上已经覆盖了大部分地区,国内的发展重点在于学习先进的互联网技术,使新媒体更好地为人们服务。

在国外,新媒体技术经历了十几年甚至更多年的发展,他们的核心功能基本上已经能够适应社会的飞速发展和人们更高的要求。另外,他们会把客户的实际需求作为最基本的考虑因素,尽量实现易操作高集成化的系统,从资讯的采集工作开始,资讯的提交,审核,修改,发布等各个环节都实现无缝对接。网络资讯会涉及到多领域的实时动态,也可以完成和用户的交互,还可以将传统媒体的文字转化为声音、图像、视频,使用户一目了然。美国的BuzzFeed通过网络从大量资讯博客中搜集资讯,为用户提供最新热门事件;美国有线电视资讯网Cable News Network全天候无休息直播资讯报道,CNN的用户还可以通过评论或电子邮件进行投稿,经编辑审核通过的稿件可在资讯网呈现;英国最大的资讯广播公司BBC的资讯服务BBC News会在各资讯版块显示出最受欢迎领域的最新消息;澳大利亚ABC资讯系统也会特别注重为公众提供最新的实时资讯。

以往的系统,一部分采用静态页面,需要管理人员必须手动制作新的网页,上传新的网页之后还需要修改链接;对于用户来说,管理人员发布新的网页时,用户无法访问系统。随着中国经济实力和科技实力的增强,资讯网站的技术也在不断进步,现在的技术已经可以解决静态网页的问题了。

  1. 系统开发技术的介绍
    1. ssm框架介绍

SSM(Spring+SpringMVC+MyBatis)框架集由Spring、MyBatis两个开源框架整合而成(SpringMVC是Spring中的部分内容)。常作为数据源较简单的web项目的框架。

2.1.1 Spring
Spring就像是整个项目中装配bean的大工厂,在配置文件中可以指定使用特定的参数去调用实体类的构造方法来实例化对象。也可以称之为项目中的粘合剂。
Spring的核心思想是IoC(控制反转),即不再需要程序员去显式地`new`一个对象,而是让Spring框架帮你来完成这一切。
2.1.2 SpringMVC
SpringMVC在项目中拦截用户请求,它的核心Servlet即DispatcherServlet承担中介或是前台这样的职责,将用户请求通过HandlerMapping去匹配Controller,Controller就是具体对应请求所执行的操作。SpringMVC相当于SSH框架中struts。
2.1.3 mybatis
mybatis是对jdbc的封装,它让数据库底层操作变的透明。mybatis的操作都是围绕一个sqlSessionFactory实例展开的。mybatis通过配置文件关联到各实体类的Mapper文件,Mapper文件中配置了每个类对数据库所需进行的sql语句映射。在每次与数据库交互时,通过sqlSessionFactory拿到一个sqlSession,再执行sql命令。

页面发送请求给控制器,控制器调用业务层处理逻辑,逻辑层向持久层发送请求,持久层与数据库交互,后将结果返回给业务层,业务层将处理逻辑发送给控制器,控制器再调用视图展现数据。

    1. B/S结构

在系统的开发上采用了B/S结构,在B/S结构中,统一采用浏览器,而不需要去开发任何的用户界面,Web浏览器向处理它的Web服务器发送请求,并一步一步地将处理结果返回给客户端。B/S结构主要采用了各种脚本语言和ActiveX技术,降低了系统的开发难度并简化了系统维护以及使用[4]。

B/S结构有如下特点:B/S结构建立在广域网上,不需要专门为其配置硬件环境,比C/S结构的适应范围更强;由于其基于广域网,所以其对安全的控制能力相对较弱;B/S的多种结构要求构造相对独立的函数,这样才能可以更好地重用;B/S结构组成简单,便于对个别构件进行更换,降低了系统的维护成本B/S信息流向与C/S不同,B/S信息流向可变化[5]。 

    1. java脚本语言

java是在94年由Rasmus Lerdorf创建的一款程序设计语言,其能够在多个平台内应用,具有良好兼容性,进而其凭借自身优势在数据中心、个人PC与科技超级计算机等平台内广泛应用,具有目前最为庞大的开发者专业社群[6]。

java可以放在在html里使用,也可以独自使用,它同时也具备有很多种优点,可以讲,Web脚本技术的先驱是java。现代编程语言(像C,Java和Perl等)的一些最好的特点都融合在java里,Web服务器里的一些配置标准是由java、Apache和数据库等的组合在一起的[7] 

    1. MySQL数据库

MySQL经过多次的更新,功能层面已经非常的丰富和完善了,从Mysql4版本到5版本进行了比较大的更新,在商业的实际使用中取得了很好的实际应用效果。最新版本的MySQL支持对信息的压缩,同时还能进行加密能更好的满足对信息安全性的需求。同时经过系统的多次更新,数据库自身的镜像功能也得到了很大的增强,运行的流畅度和易用性方面有了不小的进步,驱动的使用和创建也更加的高效快捷。最大的变动还是进行了空间信息的显示优化,能更加方便的在应用地图上进行坐标的标注和运算。强大的备份功能也保证了用户使用的过程会更加安心,同时支持的Office特性还支持用户的自行安装和使用。在信息的显示形式上也进行了不小的更新,增加了两个非常使用的显示区,一个是信息区,对表格和文字进行了分类处理,界面的显示更加清爽和具体。第二是仪表的信息控件,能在仪表信息区进行信息的显示,同时还能进行多个信息的比对,为用户的实际使用带来了很大的便捷[8][9]。

针对本文中设计的游戏百科在实际的实现过程中,最终选择MySQL数据库的主要原因在于在企业的应用系统应用及开发的过程中会存在大量的数据库比较频繁的操作,而且数据的安全性要求也是非常的高。综合这些因素,最终选择安全性系数比较高的MySQL来对游戏百科后台数据进行存储操作[10][11]。

数据库管理系统的总体结构图如下图所示。

图2-1 数据库组成结构

    1. Apache简介

Apache是开发源代码,使用者可根据个人习惯、系统的需求对Apache进行配置;另外对于系统的发布和运行是非常简单的[10],开发人员只需要在开发工具中导入Apache,服务器的配置就算完成了;这是非常适合java程序的。对于程序人员开发程序经常可能会遇到乱码的问题,而使用Apache作为服务器,只需要在Apache的安装目录下找到配置文件夹conf下的服务器配置文件server.xml,打开后改动端口号为8080的接收环节与请求处理环节的连接器Connector为相对应的编码,运行项目后,就不会出现中文乱码问题。本系统的设计和实现编码使用的是UTF-8,所以需要在端口号为8080的连接器中设置编URIEncoding="UTF-8"[12] [13]。

  1. 系统分析
    1. 功能需求分析

本系统主要分为前端和后端两大板块,其中包括了首页、轮播图、公告栏、资源管理(游戏资讯、资讯分类)系统用户(管理员、注册用户)模块管理(游戏分类、游戏词条、留言板)等功能模块。

表3-1功能需求列表

编号

功能名称

功能描述

输入内容

输出内容

前台登录

保证注册用户通过身份验证进入系统前台进行操作

用户名、密码

用户登录是否成功和用户登录状态

用户注册

对注册用户进行检测,信息通过检测之后成为本系统的用户

用户名,密码、性别、QQ、邮箱等

注册的结果(提醒“用户注册成功”或者“用户注册失败”)

站内搜索

用户可以通过标题和类别搜索站内信息

输入标题、选择类别,点击搜索按钮

搜索出来的列表信息

增加留言

未登录系统的游客用户无法使用留言功能,登录后的用户增加留言

留言人、留言内容、呢称、头像等

系统提示留言成功,并显示新增的留言

留言回复

系统管理员查询已有的留言,并回复未回复的留言

留言的回复内容、回复人等

系统提示回复成功,并显示已回复的留言

留言管理

系统管理员查看所有的留言信息,并可以对其删除

选择某条留言,点击该条留言的删除按钮

系统提示是否删除,点击是则将该条留言删除

评论添加

注册用户选择要评论的信息进行添加评论

评论信息包括评语、评分等

评论是否成功及评论列表

评论管理

管理员对用户的评论信息进行管理,包括删除、修改

评论列表

删除是否成功或者修改是否成功

添加收藏

注册用户可以选择信息添加收藏

收藏信息表单

收藏是否成功

收藏管理

个人用户可以对自己的收藏记录进行管理包括删除、修改

收藏记录列表

删除是否成功或者修改是否成功

添加游戏资讯

管理员添加游戏资讯记录

游戏资讯的相关信息

游戏资讯列表

添加游戏词条信息

管理员添加游戏词条信息

游戏词条的相关信息

游戏词条信息列表

编辑游戏游戏词条信息

管理员修改游戏词条信息

游戏词条相关信息

是否编辑成功

删除游戏词条信息

管理员删除游戏词条信息

游戏词条信息

游戏词条信息删除成功或失败

    1. 业务流程分析

业务流程图基本符号如下图所示。

                                  图3-1业务流程图基本符号

系统业务流程图具体如下图所示。

图3-2总体业务流程图

总体业务流程:首先在系统前台,游客用户可以经过账号注册,管理员审核通过后,用账号密码登录系统前台,查看公告消息、游戏资讯、游戏词条等栏目信息,进行留言反馈、在线评论,在前台用户可以通过标题和类别进行前台信息的搜索,用户可以登录个人中心进行游戏词条发布、官方论坛查询、论坛文章添加等功能。后台主要由管理员使用,以管理员的身份在登录页面输入账号和密码,经过数据库身份验证,验证成功后登录系统主页,可以使用用户管理、游戏词条、系统管理、个人中心等功能操作。

    1. 数据流程分析

本系统根据上节所设计的各个业务流程图,采用逐层细化的方法,画的每一部分各层的数据流图如下:

层数据流图

注册用户和管理员都可以通过登录系统的界面来进入系统,如下图所示:

图3-3 底层数据流图

系统根据登录的数据,判断是该用户是哪种角色,仍然后跳转至相应的功能页面,系统用户在系统内进行数据操作,此时数据流的有效数据流流向数据库中心执行相应的数据sql语句,反馈结果到显示页面上。

2.顶层数据流图

顶层为系统的详细数据流图。如下图所示:

图3-4 顶层数据流图

顶层数据流中,数据实体包括普通用户和管理员,普通用户数据流程包括留言反馈、在线评论;管理员用户数据流程包括个人中心、用户管理、游戏百科、系统公告、关于我们、系统简介、轮播图管理等。

3.系统数据流图

管理员操作后台数据流图,用户可以分别通过添加、修改和删除来对系统进行管理,如下图所示:

图3-5 系统数据流图

系统数据流图中,数据流实体主要是管理员,数据流程包括留言管理;数据流包括添加信息、删除信息、修改信息、查询信息、浏览信息、提示信息;数据表包括资讯表、游戏词条表。

系统设计

  1. 系统设计思想

本课题的目的是设计一款基于java的游戏百科系统以实现游戏攻略交流和论坛管理。本系统采用B/S模式不仅可以避免用户必须安装专业软件才能开发系统或者访问系统的局限性,而且更加便利。该系统在不改变和影响用户操作习惯的前提下主要完成对有用信息的记录。

本游戏百科系统的架构设计主要分为可以3层,主要有Web层,业务层,Model层。其中web层还包括View层和Controller层,Model层包括元数据扩展层和数据访问层。

系统架构如下图所示。

图4-1 系统架构

    1. 系统总体设计

    根据前面的各项设计分析,按照系统开发的基本理念对系统进行分解,从模块上主要可分为前台模块和后台模块。

前台模块只要是让普通用户和游客用户使用,包括首页、公告消息、游戏资讯、游戏词条,后台可以对数据进行添加、删除、修改及查询等操作。

系统总体功能结构图如下图所示。

图4-1系统功能结构图

    1. 系统功能模块设计
  1. 系统登录:系统登录是用户访问系统的路口,设计了系统登录界面,包括用户名、密码和验证码,然后对登录进来的用户判断身份信息,判断是管理员用户还是普通用户。
  2. 页面打印:设计系统时,在代码中连接打印机,进行系统的一些页面的打印。
  3. 导出报表:用户可能需要将某些数据列表提取出来,在代码中调用导出至excel中的函数,并开启连接excel的驱动,实现导出报表的功能。
  4. 系统用户管理:不管是超级管理员还是普通管理员都需要管理系统用户,包括普通管理员的添加、删除、修改、查询,修改管理员的登录密码,新添加的管理员用户可以登录系统。
  5. 注册用户管理:游客在前台首页注册后,经过管理员后台,不管是超级管理员还是普通管理员都需要管理注册用户,包括注册用户审核、删除、修改、查询,审核通过后,注册用户既可以通过账号和密码登录系统。
  6. 修改密码:系统所有用户(管理员和注册用户)应该都要能修改自己的登录密码,修改后需要重新登录。
  7. 增加留言:设计留言信息表,包含留言标题、留言内容、回复内容、留言人等字段,留言标题、留言内容用来存储用户增加的留言,回复内容用来存储管理员回复的留言内容。
  8. 留言管理:系统管理员对留言信息表的删除、查询等操作,回复留言则将回复内容存储在留言表的回复内容字段里,删除不需要的留言,使用户有足够的空间进行留言。
  9. 在线评论:注册用户在系统前台登录个人账号后,可以选择某个游戏百科,进行评论,查看别人的评论信息。
  10. 评论管理:在系统后台,管理员进行游戏百科的评论管理,每条游戏百科对应自己的评论,管理员可以删除、修改、查询。
  11. 游戏词条信息管理:用户录入游戏词条信息,跳转至添游戏词条页面,填写游戏词条信息,提交后,游戏词条信息存储数据库的游戏词条信息表中,包括帖子标题、帖子封面、游戏类型、上传时间、发布人等信息。
    1. 数据库设计

4.4.1概念模型设计

建立数据库之前,要对系统的数据进行概念模型设计,设计实体包含哪些属性,实体和实体直接的关系是怎么样的,根据概念设计,得到下图的系统总体ER图。

图4-2系统总体ER图

4.4.2数据库表设计

在服务器上建立的数据库,其中包括以下表:

表access_token (登陆访问时长)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

token_id

int

10

0

N

Y

临时访问牌ID

2

token

varchar

64

0

Y

N

临时访问牌

3

info

text

65535

0

Y

N

4

maxage

int

10

0

N

N

2

最大寿命:默认2小时

5

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

6

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

7

user_id

int

10

0

N

N

0

用户编号:

表article (文章:用于内容管理系统的文章)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

article_id

mediumint

8

0

N

Y

文章id:[0,8388607]

2

title

varchar

125

0

N

Y

标题:[0,125]用于文章和html的title标签中

3

type

varchar

64

0

N

N

0

文章分类:[0,1000]用来搜索指定类型的文章

4

hits

int

10

0

N

N

0

点击数:[0,1000000000]访问这篇文章的人次

5

praise_len

int

10

0

N

N

0

点赞数

6

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

7

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

8

source

varchar

255

0

Y

N

来源:[0,255]文章的出处

9

url

varchar

255

0

Y

N

来源地址:[0,255]用于跳转到发布该文章的网站

10

tag

varchar

255

0

Y

N

标签:[0,255]用于标注文章所属相关内容,多个标签用空格隔开

11

content

longtext

2147483647

0

Y

N

正文:文章的主体内容

12

img

varchar

255

0

Y

N

封面图

13

description

text

65535

0

Y

N

文章描述

表article_type (文章分类)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

type_id

smallint

5

0

N

Y

分类ID:[0,10000]

2

display

smallint

5

0

N

N

100

显示顺序:[0,1000]决定分类显示的先后顺序

3

name

varchar

16

0

N

N

分类名称:[2,16]

4

father_id

smallint

5

0

N

N

0

上级分类ID:[0,32767]

5

description

varchar

255

0

Y

N

描述:[0,255]描述该分类的作用

6

icon

text

65535

0

Y

N

分类图标:

7

url

varchar

255

0

Y

N

外链地址:[0,255]如果该分类是跳转到其他网站的情况下,就在该URL上设置

8

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

9

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表auth (用户权限管理)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

auth_id

int

10

0

N

Y

授权ID:

2

user_group

varchar

64

0

Y

N

用户组:

3

mod_name

varchar

64

0

Y

N

模块名:

4

table_name

varchar

64

0

Y

N

表名:

5

page_title

varchar

255

0

Y

N

页面标题:

6

path

varchar

255

0

Y

N

路由路径:

7

position

varchar

32

0

Y

N

位置:

8

mode

varchar

32

0

N

N

_blank

跳转方式:

9

add

tinyint

3

0

N

N

1

是否可增加:

10

del

tinyint

3

0

N

N

1

是否可删除:

11

set

tinyint

3

0

N

N

1

是否可修改:

12

get

tinyint

3

0

N

N

1

是否可查看:

13

field_add

text

65535

0

Y

N

添加字段:

14

field_set

text

65535

0

Y

N

修改字段:

15

field_get

text

65535

0

Y

N

查询字段:

16

table_nav_name

varchar

500

0

Y

N

跨表导航名称:

17

table_nav

varchar

500

0

Y

N

跨表导航:

18

option

text

65535

0

Y

N

配置:

19

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

20

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表collect (收藏)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

collect_id

int

10

0

N

Y

收藏ID:

2

user_id

int

10

0

N

N

0

收藏人ID:

3

source_table

varchar

255

0

Y

N

来源表:

4

source_field

varchar

255

0

Y

N

来源字段:

5

source_id

int

10

0

N

N

0

来源ID:

6

title

varchar

255

0

Y

N

标题:

7

img

varchar

255

0

Y

N

封面:

8

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

9

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表comment (评论)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

comment_id

int

10

0

N

Y

评论ID:

2

user_id

int

10

0

N

N

0

评论人ID:

3

reply_to_id

int

10

0

N

N

0

回复评论ID:空为0

4

content

longtext

2147483647

0

Y

N

内容:

5

nickname

varchar

255

0

Y

N

昵称:

6

avatar

varchar

255

0

Y

N

头像地址:[0,255]

7

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

8

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

9

source_table

varchar

255

0

Y

N

来源表:

10

source_field

varchar

255

0

Y

N

来源字段:

11

source_id

int

10

0

N

N

0

来源ID:

表game_classification (游戏分类)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

game_classification_id

int

10

0

N

Y

游戏分类ID

2

game_category

varchar

64

0

Y

N

游戏类型

3

recommend

int

10

0

N

N

0

智能推荐

4

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

5

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表game_entry (游戏词条)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

game_entry_id

int

10

0

N

Y

游戏词条ID

2

user_account

int

10

0

Y

N

0

用户账号

3

term_name

varchar

64

0

Y

N

词条名

4

game_name

varchar

64

0

Y

N

游戏名称

5

game_category

varchar

64

0

Y

N

游戏类型

6

cover

varchar

255

0

Y

N

封面

7

listing_time

date

10

0

Y

N

上架时间

8

platform

varchar

64

0

Y

N

平台

9

price

int

10

0

Y

N

0

价格

10

game_links

varchar

255

0

Y

N

游戏链接

11

brief_introduction

text

65535

0

Y

N

简介

12

entry_content

longtext

2147483647

0

Y

N

词条内容

13

hits

int

10

0

N

N

0

点击数

14

praise_len

int

10

0

N

N

0

点赞数

15

examine_state

varchar

16

0

N

N

未审核

审核状态

16

recommend

int

10

0

N

N

0

智能推荐

17

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

18

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表hits (用户点击)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

hits_id

int

10

0

N

Y

点赞ID:

2

user_id

int

10

0

N

N

0

点赞人:

3

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

4

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

5

source_table

varchar

255

0

Y

N

来源表:

6

source_field

varchar

255

0

Y

N

来源字段:

7

source_id

int

10

0

N

N

0

来源ID:

表message_board (留言板)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

message_board_id

int

10

0

N

Y

留言板ID

2

term_name

varchar

64

0

Y

N

词条名

3

game_name

varchar

64

0

Y

N

游戏名称

4

game_category

varchar

64

0

Y

N

游戏类型

5

platform

varchar

64

0

Y

N

平台

6

title

varchar

64

0

Y

N

标题

7

related_pictures

varchar

255

0

Y

N

相关图片

8

message_content

text

65535

0

Y

N

留言内容

9

user_name

varchar

64

0

Y

N

用户姓名

10

contact_number

varchar

64

0

Y

N

联系电话

11

recommend

int

10

0

N

N

0

智能推荐

12

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

13

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表notice (公告)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

notice_id

mediumint

8

0

N

Y

公告id:

2

title

varchar

125

0

N

N

标题:

3

content

longtext

2147483647

0

Y

N

正文:

4

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

5

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表praise (点赞)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

praise_id

int

10

0

N

Y

点赞ID:

2

user_id

int

10

0

N

N

0

点赞人:

3

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

4

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

5

source_table

varchar

255

0

Y

N

来源表:

6

source_field

varchar

255

0

Y

N

来源字段:

7

source_id

int

10

0

N

N

0

来源ID:

8

status

bit

1

0

N

N

1

点赞状态:1为点赞,0已取消

表registered_user (注册用户)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

registered_user_id

int

10

0

N

Y

注册用户ID

2

user_no

varchar

64

0

N

N

用户编号

3

gender

varchar

64

0

Y

N

性别

4

examine_state

varchar

16

0

N

N

已通过

审核状态

5

recommend

int

10

0

N

N

0

智能推荐

6

user_id

int

10

0

N

N

0

用户ID

7

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

8

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表slides (轮播图)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

slides_id

int

10

0

N

Y

轮播图ID:

2

title

varchar

64

0

Y

N

标题:

3

content

varchar

255

0

Y

N

内容:

4

url

varchar

255

0

Y

N

链接:

5

img

varchar

255

0

Y

N

轮播图:

6

hits

int

10

0

N

N

0

点击量:

7

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

8

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表upload (文件上传)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

upload_id

int

10

0

N

Y

上传ID

2

name

varchar

64

0

Y

N

文件名

3

path

varchar

255

0

Y

N

访问路径

4

file

varchar

255

0

Y

N

文件路径

5

display

varchar

255

0

Y

N

显示顺序

6

father_id

int

10

0

Y

N

0

父级ID

7

dir

varchar

255

0

Y

N

文件夹

8

type

varchar

32

0

Y

N

文件类型

表user (用户账户:用于保存用户登录信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

user_id

mediumint

8

0

N

Y

用户ID:[0,8388607]用户获取其他与用户相关的数据

2

state

smallint

5

0

N

N

1

账户状态:[0,10](1可用|2异常|3已冻结|4已注销)

3

user_group

varchar

32

0

Y

N

所在用户组:[0,32767]决定用户身份和权限

4

login_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

上次登录时间:

5

phone

varchar

11

0

Y

N

手机号码:[0,11]用户的手机号码,用于找回密码时或登录时

6

phone_state

smallint

5

0

N

N

0

手机认证:[0,1](0未认证|1审核中|2已认证)

7

username

varchar

16

0

N

N

用户名:[0,16]用户登录时所用的账户名称

8

nickname

varchar

16

0

Y

N

昵称:[0,16]

9

password

varchar

64

0

N

N

密码:[0,32]用户登录所需的密码,由6-16位数字或英文组成

10

email

varchar

64

0

Y

N

邮箱:[0,64]用户的邮箱,用于找回密码时或登录时

11

email_state

smallint

5

0

N

N

0

邮箱认证:[0,1](0未认证|1审核中|2已认证)

12

avatar

varchar

255

0

Y

N

头像地址:[0,255]

13

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

表user_group (用户组:用于用户前端身份和鉴权)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

group_id

mediumint

8

0

N

Y

用户组ID:[0,8388607]

2

display

smallint

5

0

N

N

100

显示顺序:[0,1000]

3

name

varchar

16

0

N

N

名称:[0,16]

4

description

varchar

255

0

Y

N

描述:[0,255]描述该用户组的特点或权限范围

5

source_table

varchar

255

0

Y

N

来源表:

6

source_field

varchar

255

0

Y

N

来源字段:

7

source_id

int

10

0

N

N

0

来源ID:

8

register

smallint

5

0

Y

N

0

注册位置:

9

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

10

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

系统的实现

  1. 前台首页的实现

本系统设计的是一个游戏百科系统。该系统总共分为首页、公告消息、游戏资讯、游戏词条等多个模块。通过对此系统的开发,达到了用户对系统了解。实现系统的实用性和易管理性。

系统首页如下图所示。

图5-1系统首页

前台首页集成了普通用户的注册页面,注册的独立页面为userreg.jsp,通过框架嵌入系统前台首页,用户填写好注册信息后,通过<form  action="userreg.jsp?f=f"  method="post" name="f1"  οnsubmit="return checkform();">方式提交表单,会通过javasrcript验证格式,如果格式有错误,则用户小窗口提示错误的地方,如果格式都正确,则跳转至dao的注册方法,实现注册用户,提示注册成功,并将注册的信息加入用户表中。

用户注册流程图如下图所示。

图5-2用户注册流程图

用户注册界面如下图所示。

图5-3用户注册界面

    1. 登录模块的实现

系统的登录是使用该系统的第一关卡,用户在登录界面输入账号和密码后,系统判断该账号密码是否能在数据库中存在并且匹配,返回登录成功或登录失败的信息,登录成功后才能使用系统的功能。

登录流程图如下图所示。

图5-4登录流程图

用户登录界面如下图所示。

图5-5用户登录界面

随着系统规模的壮大,系统发布更新的信息及对普通用户量会越来越多,只有超级管理员负责系统后台恐怕任务艰巨,本系统考虑到这一问题后开发了超级管理员有权限可以增加管理员的模块。管理员角色不同对应权限亦不相同。

系统用户管理界面如下图所示。

图5-6系统用户管理界面

    1. 公告模块的实现

    在系统前台界面上点击公告动态中每个标题都自动跳转到公告界面,这样就可以查看有关公告的详细内容。并可以添加信息、删除信息、编辑信息等操作。在xinwentongzhilist.jsp实现视图层上公告的展示,在xinwentongzhi_list.jsp实现视图层上公告的管理。

前台公告展示如下图所示。

图5-7前台公告展示界面

公告管理后台操作界面如下图所示。

图5-8公告管理后台操作界面

后台公告发布界面如下图所示。

图5-9后台公告发布界面图

    1. 评论模块的实现

添加游戏百科评论是在“查询游戏百科信息 “的前提下操作的。当页面显示查询的游戏百科信息后,可以点击“添加评论”超级链接,既可跳转到pinglunadd.jsp页添加评论。管理员在pinglun_list.jsp进行评论管理,pinglun_ list.jsp通过查询数据库的评论表列出所有评论信息,每条评论对应一个删除按钮和修改按钮,当管理员点击删除按钮,直接在数据库删除评论信息,并重定向当前页面,当管理员选择点击修改,则进入pinglun_update.jsp页面,进行评论信息的修改。

评论添加流程图如下图所示。

图5-10评论添加流程图

添加评论界面设计效果如下图所示。

图5-11添加评论界面

    1. 游戏词条管理模块的实现

管理员添加游戏词条信息是在点击添加按钮的前提下操作的,当页面跳转至youxicitiao_add.jsp,添加成功后,管理员在youxicitiao_list.jsp进行游戏词条管理,youxicitiao_ list.jsp通过查询数据库的游戏词条表列出所有游戏词条信息,每条游戏词条对应一个删除按钮和修改按钮,当管理员点击删除按钮,直接在数据库删除游戏词条信息,并重定向当前页面,当管理员选择点击修改,则进入youxicitiao_update.jsp页面,进行游戏词条信息的修改。

游戏词条管理流程图如下图所示。

图5-12游戏词条管理流程图

游戏词条添加页面设计效果如下图所示。

图5-13游戏词条添加界面

游戏词条管理页面效果如下图所示。

图5-14游戏词条管理界面

  1. 系统测试
    1. 测试目的

软件测试能够识别项目风险,为开发人员和程序经理提供软件测试的反馈结果,为风险评估提供必要的信息。再者,软件测试确保在上线日前达到上线标准。包括持续追踪项目进度和严格把控各个开发阶段的论坛文章质量。

本系统主要测试客户端的使用和后台服务器的使用。客户端主要是测试用户注册、用户登录、用户完善信息、页面是否进行跳转、留言反馈、在线评论等功能是否实现。后台主要是测试用户管理、留言管理、游戏分类管理、论坛文章管理、游戏词条管理、官方账号管理、官方论坛管理、系统管理的功能是否实现。

    1. 界面测试

使用黑盒测试方法测试本系统的界面,测试界面是否正常、可用。

用户界面测试检查表如下表。

表6-1用户界面测试表

测试项

测试人

测试结果

窗口切换、移动、改变大小时正常吗?

本人

正常

各种界面元素的文字正确吗?(如标题、提示等)

本人

正常

各种界面元素的状态正确吗?(如有效、无效、选中等状态)

本人

正常

各种界面元素支持键盘操作吗?

本人

正常

数据项能正确回显吗?

本人

正常

执行有风险的操作时,有“确认”、“放弃”等提示吗?

本人

正常

各种界面元素的布局合理吗?

本人

正常

    1. 功能测试

依据黑盒测试的方法和步骤,对系统做了相关测试,主要功能测试用例如下表所示。

6-3主要功能测试用例

模块

用例描述

预期结果

备注

用户注册

用户名文本框中不输入任何数据

提示“请填写完整的信息”

测试用户名是否为空

在密码文本框中输入“123”三个字符

提示“密码长度最少为6位”

测试密码位数是否正确

在密码文本框和确认密码文本框中分别输“123456”和“258769”

提示“两次输入的密码不匹配”

测试用户两次输入的密码是否匹配

密码修改

在用户管理中修改密码,原始密码若输入不正确

提示“原始密码错误”

测试原始密码是否正确

在线留言

留言内容为空

系统提示留言内容为空,留言失败

测试留言是否为空

输入呢称和留言内容

系统提示留言成功,留言板显示新留言

测试留言是否成功

在线评论

用户未登录时,点击评论按钮

系统提示请先登录

测试是否能不用登录用户发表评论

用户登录后,评论内容为空

系统提示评论内容不能为空

测试评论内容是否能为空

添加收藏

用户未登录时,点击收藏按钮

系统提示请先登录

测试是否能不用登录用户添加收藏

用户登录后,点击收藏按钮

系统提示收藏成功

测试收藏功能是否可用

游戏词条管理

必填文本框中不输入任何数据,如标题和类别

提示“请填写完整的信息”

测试标题和类别是否为空

在图片栏输入非图片格式数据

提示“图片必须为图片格式

测试图片是否能为非图片格式

输入完整的游戏词条信息”

提示“游戏词条添加成功”

测试游戏词条录入是否可用

公告管理

必填文本框中不输入任何数据,如标题和类别

提示“请填写完整的信息”

测试标题和类别是否为空

在图片栏输入非图片格式数据

提示“图片必须为图片格式

测试图片是否能为非图片格式

输入完整的公告信息”

提示“公告添加成功”

测试公告录入是否可用

    1. 测试结果

游戏词条系统经测试和调试后能够按照需求正常运行,基本没有错误,能够满足开发者和用户的需求。在系统整体测试过程中,系统功能相对来说比较简单,数据源的配置,需进一步改善。

  1.  总结

本次毕业设计的开发是借助java开发语言、后端基于java的ssm框架,MySQL数据库和Apache服务器来完成系统的所有功能。文中详细分析了游戏词条的研究背景、研究目的和意义、开发工具和相关技术以及系统需求、系统详细设计和系统测试等等一系列内容。主要完成了以下的任务:

(1)正确分析了游戏词条目前的发展形势,特别是对社会影响方面的发展进行了深入的调查和研究。

(2)深入明确了系统的总体架构,在技术选型上选取了三个主流的框架,对三者的功能,整合做了详细的描述。

(3)系统项目的开发严格遵循软件的开发规范,制定了详细的系统开发步骤,开发之前做了大量的工作包括:需求分析、技术选型、架构设计等。

(4)完成了预期赋予系统的功能的实现。

本系统的缺陷也是明显的,如安全性,效率问题等等。由于时间,能力,国内编程技术资料有限等原因,有些功能实现的并不完美,在已经完成的程序中,也存在许多不尽人意的地方,也没有统一优化,网站有待进一步改善,而这些问题也让我充分认识到了软件开发的困难。

本次毕业设计虽然完成了预期研究和目标,但后期还有很多工作需要完成,不光需要对系统框架进行深入学习和研究,还要对系统的架构进行研究。另外,目前客户端技术正在崛起,需要做出能让用户体验度更好的论坛文章,接下来会继续深入研究并作进一步的完善和设计开发。

参考文献

[1]朱真真,王柯梦. java在动态网站开发中的优势与具体应用分析[C]//广东省教师继续教育学会.广东省教师继续教育学会第六届教学研讨会论文集(一).[出版者不详],2023:2036-2038.DOI:10.26914/c.cnkihy.2023.000662.

[2]蒋先梅.基于java的学生信息管理系统的设计与实现[J].无线互联科技,2023,20(01):45-47.

[3]Josh Luckenbaugh. Czech Company Unveils Mixed Reality Apache Trainer[J]. National Defense,2023,107(830).

[4]谭彦.高职院校“java动态网站开发”课程教学改革探索[J].现代信息科技,2022,6(18):175-177.DOI:10.19850/j.cnki.2096-4706.2022.18.043.

[5]张黎平.“互联网+”背景下java动态网站开发技术研究[J].无线互联科技,2022,19(16):154-156.

[6]赵婉彤.基于java与MySQL的动态网站设计与实现[J].电脑编程技巧与维护,2022(08):103-105+109.DOI:10.16184/j.cnki.comprg.2022.08.022.

[7]颜春艳.基于ssm框架的资讯类网站后台管理系统设计研究[J].信息记录材料,2022,23(06):111-114.DOI:10.16009/j.cnki.cn13-1295/tq.2022.06.046.

[8]Jingyuan Li. Construction of training platform for teachers professional ability of normal students based on ssm[J]. Frontiers in Educational Research,2021,4.0(15.0).

[9]苏盈文,刘佳园,张向远.基于分布优化模型的穿越沙漠游戏攻略[J].科学技术创新,2021(19):104-105.

[10]张新宇. 某高校电影交流论坛系统的设计与实现[D].北京邮电大学,2021.DOI:10.26969/d.cnki.gbydu.2021.000968.

[11]鲍鲳. “场景”视域下青少年的网游日常生活研究[D].苏州大学,2021.DOI:10.27351/d.cnki.gszhu.2021.000127.

[12]Marufovich Aripov Masud,Horun Yahya,Usmon Nuriy Topbosh,Aripov M. M.,Normatov R. N.,Siddikov I. M.,Oripova U.,Ilya Golubev,Abdullaeva N. B.,Nurmatova M. A.,Yokubovna Y. H.. Encryption of the quran and forecasting events[J]. ACADEMICIA: AN INTERNATIONAL MULTIDISCIPLINARY RESEARCH JOURNAL,2021,11(2).

[13]张东冉. 中学生手机游戏信息交流模型及实证研究[D].河北大学,2020.DOI:10.27103/d.cnki.ghebu.2020.000642.

[14]杨艳艳, 校园论坛系统. 河南省,郑州师范学院,2020-05-01.

[15]熊建宇.文学网站的设计与开发[J].技术与市场,2019,26(12):89-90.

[16]李鹏飞. 基于Web技术的校园论坛设计与实现[D].内蒙古科技大学,2019.DOI:10.27724/d.cnki.gnmgk.2019.000570.

[17]吕宇璇. 基于语域视角的“网络游戏攻略”语篇分析[D].华中师范大学,2019.DOI:10.27159/d.cnki.ghzsu.2019.000844.

[18]曾姝韵. 网络游戏社区中粉丝内容生产初探[D].西南政法大学,2019.

[19]Shrikant Pawar,Harshul Batra. Online electronic laboratory notebook: A secured cloud storage system scripted in Hypertext Pre-processor (java) programming language[J]. Journal of Engineering and Technology Research,2018,10(1).

[20]Nelita Apriyani,Aldy Atmadja,Rifqi Fuadi,Yana Gerhana. The Detector of Plagiarism in Autograder for java Programming Languages[P]. Selected Papers from the 1st International Conference on Islam, Science and Technology, ICONISTECH-1 2019, 11-12 July 2019, Bandung, Indonesia,2020.

致 谢

大学的学习生活总是感觉短暂的,总感到知识还没有学够,但大学毕业就在我们面前,即毕业设计即将的结束,意味着我们的大学生涯即将结束。毕业设计是我们在大学所学知识的一次总结,更是对我们过去所学知识的提炼和升华,通过毕业设计,我们认识到大学学习过程中还有那些知识没有掌握,那些知识需要我们进入深入研究。这次毕业设计让我学到了很多新的知识,研究了一些新的以前自己不熟悉的领域,使我处理问题的能力得到了一定的提升,同时也为今后的继续深造或踏入社会大门提供了很好的锻炼机会。

在本次毕业设计过程中,得到了老师的指导与支持。在此特别感谢我的指导老师。指导老师的悉心指导和大力支持,在总体结构、功能的把握上给予了非常大的帮助,同时根我提供了非常优越的设计环境,并对我在编程、数据库设计等细节工作上给予了耐心的指导,对于我顺利完成这次毕业设计起到了关键性的作用。

我还要感谢我的母校,以及在大学生活中给予我关心和帮助的老师和同学,是他们教会了我专业的知识和做人的道理。通过这次毕业设计我还明白了我们要会的不仅仅是编写代码,更重要的是要有整体把握系统设计的能力。我会在以后的工作和学习中不断完善自己,为我最热爱的母校争光,为自己翻开辉煌的新篇章。

免费领取项目源码,请关注❥点赞收藏并私信博主,谢谢~

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值