摘 要
线上作为当前信息的重要传播形式之一,线上辩论系统具有显著的方便性,是人类快捷了解辩论信息、资讯等相关途径。但在新时期特殊背景下,随着网辩的进一步优化,辩论赛结合网络平台融合创新强度也随之增强。本文就网辩平台进行深入探究。
网辩平台的主要功能是:用户、管理员、视频类型、网辩视频展示、视频收藏、视频浏览、用户注册登录等。经过分析,使用B/S架构来开发本网辩平台。此系统采用SSM开发框架,SSM技术具有开发软件的特性,其优点是安全性能高,能减轻用户端浏览器的负担,提高交互速度。系统拟选用的SSM技术开发平台先结合Eclipse编辑器,采用的数据库服务器为MySQL。
关键词:网辩平台;Mysql数据库;SSM框架
1 绪论
1.1 课题研究背景
根据现在网辩平台的状况,设计成一个能提供给用户前台;查看网辩视频展示、首页及轮播展示、登录注册、在线留言等信息;管理员后台;系统用户管理、站内新闻管理、轮播图管理、网辩视频类别管理等;该系统要在方便的同时提供实用性,在具有可行性的前提下,能够做到减少管理人员的相应工作量,并且为用户方面以及管理员方面提供对应的便利。
1.2 课题研究意义
自从新冠肺炎到来之后,高校的许多有意义的人文活动都陷入了停滞,辩论赛即是其中之一。辩论赛可以促进大学生对社会中种种事物的思考,并通过与队友的交流和与对手的碰撞,来丰富自己对世界的看法,以此构建出自己的人生观和价值观。辩论赛在发展学生的辩证思维的同时也可以提高语言表达能力,所以辩论赛在大学生活中备受关注。而疫情使得这种面对面的,需要直接语言互动的比赛没有办法开展,所以线上辩论平台的需求就呼之欲出。此平台可以为正规的辩论赛事和队伍模拟训练提供途径,最大化的将辩论赛移植到线上,以此实现其原本的价值。
1.3 研究现状
本网辩平台为用户提供一个方便易操作的线上辩论平台。该系统不应该仅是实现固有的辩论功能,还应该加入等级及信誉系统,使平台成为一个系统化服务网站。
目前该领域的管理还停留在初级阶段,资源不够透明,各自开发而没有整合到一个系统中的阶段,使其具有一定的局限性,因此必须看清自身存在的优势和劣势,运用面向对象的开发与设计思想,创建高质量的网辩系统。
与此同时,本研究还研制了一套展示加互动评论关系的体系,其特征如下:
(1)实用:便于使用者查询服务展示,展示成果,随时查阅网辩视频信息、资讯等。
(2)系统的运行方式:适用于用户和管理员,系统运行简单,系统结构不复杂、不繁杂。
(3)代码易于阅读:本文所述的程式码易于操作,且易于理解。
2 系统开发工具及技术
2.1 系统开发工具
2.1.1 Eclipse开发工具
Eclipse是一个开源的、跨平台的集成开发环境(IDE)工具,用Java语言开发,主要用于Java程序的开发和调试。它具有丰富的插件和扩展功能,能够支持多种编程语言的开发,包括C、C++、Python、Php等。Eclipse可以帮助开发人员更快且更高效地开发软件,同时也支持各种版本控制系统,如Git、Subversion等。
2.1.2 Tomcat服务器
Tomcat是一个Web服务器软件,它是由Apache组织提供的。其特点是小巧灵活,免费开源,简单易用。Tomcat最初是由Sun的软件架构师詹姆斯·邓肯·戴维森开发的。后来他帮助将其变为开源项目,并由Sun贡献给Apache软件基金会。Tomcat 服务器是一个免费的开放源代码的Web应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试Jsp程序的首选。
2.1.3 Navicat Premium
Navicat Premium是一款强大的数据库管理工具,支持多种数据库,包括MySQL、MariaDB、Oracle、PostgreSQL、SQLite等。它有直观的用户界面,可以方便地进行数据库管理、设计、维护和备份。同时,Navicat Premium还支持数据同步、数据转移、SQL编写、报表生成等功能,让用户能够更加高效地操作和管理数据库。
2.2 系统开发技术
2.2.1 B/S结构
B/S结构即 Browser/Server结构,是一种常见的网络架构模式。它将客户端浏览器作为用户界面,同时将服务器作为数据存储和业务处理的核心,实现客户端和服务端的分离[3]。在B/S结构中,客户端使用浏览器作为用户界面,通过发送Http请求,将请求发送到服务器上。服务器接收到请求后,进行处理并返回相应的结果,客户端再将结果显示在浏览器中供用户查看[4]。B/S结构具有易于维护、易于扩展、安全性高等优点。
2.2.2 Spring框架
Spring框架是一个轻量级的Java开发框架,主要用于解决企业应用开发中的复杂性和困难性。它提供了一系列的模块化功能,包括依赖注入、面向切面编程、数据访问等,让开发人员可以更加关注业务逻辑的实现而不是框架本身的实现细节[17]。Spring框架也可以与其他框架、库和技术无缝集成,如Hibernate、MyBatis、Struts等,可以帮助开发者构建更加健壮和可维护的Java应用程序。Spring框架的到来大大简化了Java开发,为企业级应用提供了强大的支持。
2.2.3 Mybatis框架
Mybatis是一种基于Java的持久化框架,它为开发者提供了SQL映射和自动参数映射等功能,使得数据库操作变得更加简单和高效。Mybatis最大的优势就是可以很好地解决传统JDBC编程的问题,提高了代码的可读性和维护性[16]。Mybatis的核心组件包括:SqlSessionFactory、SqlSession、Mapper以及Mybatis配置文件。其中,SqlSessionFactory是创建SqlSession的工厂类,SqlSession封装了Sql语句的执行方法,Mapper则是用来描述数据操作的接口,而Mybatis配置文件则是用来配置SqlSessionFactory和Mapper的。Mybatis采用XML文件或注解方式进行SQL映射,并且支持动态Sql拼装,可以在运行时根据不同的条件构建出不同的SQL语句,使得开发更加灵活和高效。
2.2.4 Spring MVC
Spring MVC是一个基于Spring框架的Web应用程序开发框架,它是一种轻量级、灵活配置、高效率的Web开发框架。Spring MVC采用MVC(Model-View-Controller)的设计模式来组织Web应用程序的结构,并提供了一系列的组件和工具来简化Web应用程序的开发过程。 Spring MVC的核心组件包括:Controller、Model、View以及DispatcherServlet。其中,Controller用于处理客户端的请求,Model用于封装数据,View则负责呈现数据,而DispatcherServlet则充当了整个应用程序的前置控制器,负责将请求路由到正确的Controller上进行处理,并将处理结果交给View进行渲染[14]。
Spring MVC的优点包括:
- 高度可配置性:通过配置文件和注解,可以灵活地定制Spring MVC应用程序的行为。
- 灵活的请求处理机制:支持多种请求处理方式,如基于注解、基于XML配置等方式。
- 丰富的视图技术:支持多种视图技术,如JSP、FreeMarker、Velocity等。
- 易于测试:Spring MVC的组件独立性,使得对其进行单元测试非常方便。
- 集成Spring框架:可以方便地集成Spring框架的其他功能,如事务管理、安全管理等。
2.2.5 Layui
Layui是一个采用自身模块规范编写的前端UI框架,它简单易用、轻量灵活,且具有丰富的组件和接口。Layui的核心理念是“经典与未来”,通过对传统UI组件的优化与不断创新,推动Web开发领域的发展。Layui提供了包括表格、分页、下拉框、日期选择器、轮播图等众多常用的UI组件,并在这些组件的基础上,提供了丰富的预设样式和主题,同时也支持自定义主题。使用Layui能够快速构建出符合现代Web设计风格的网站和应用程序。Layui的另一个特点是基于模块化开发,它拥有完善的模块化机制,使得开发人员可以方便地按需加载和使用各个模块。同时,Layui也支持ES6语法,可在现代浏览器中直接使用。
2.2.6 MySQL
MySQL是一种高效、可靠、易于使用的关系型数据库管理系统[5],它能够在多个系统平台上运行,并提供了丰富的接口供各种应用程序使用。MySQL支持标准Sql语法和Odbc,拥有强大的网格控制和数据仓库功能,同时具备优秀的安全性和连接性。因此,MySQL被广泛用于中小型和大型网站的开发,是一个非常受欢迎的数据库管理系统[2]。
3 系统分析
3.1 可行性分析
系统的可行性分析有助于我们对系统进行更细致、更深入的理解,并能对研究方向和目的进行系统的分析,找到问题并确定最终的设计方案,使我们对设计有一个清楚的认识,从而使系统设计更好地进行[9]。
3.1.1 技术可行性
通过Eclipse开发工具,利用Java语言、Html、css、SSM及数据库等技术完成对开系统前后端的开发。Eclipse工具使用简单,功能齐全并且可以通过开放的源代码及技术交流群寻求帮助。在大学中都有所学习,并且在网上有许多相关案例可以借鉴。综上所述,该系统的开发在技术上具有可行性。
3.1.2 经济可行性
本系统所采用的软件和技术均是免费开放源代码的,可以有效地减少开发费用,因此在经济上也是具有可行性的。当这个系统发行后,可以通过收取手续费,广告费等形式来获取利润。
3.1.3 操作可行性
本系统以浏览器访问为基础实现,因此操作简单、使用方便,无需下载,无需安装,通过浏览器打开系统即可使用。并且该系统前后端页面简单明了,便于用户使用,因此,本系统在运行中也是可行的[12]。
3.2 功能需求分析
开发本系统主要是为了解决疫情使得这种面对面的,需要直接语言互动的比赛没有办法开展的问题。由此,便可以为正规的辩论赛事和队伍模拟训练提供途径,最大化的将辩论赛移植到线上,以此实现其原本的价值。
通过对用户需求的广泛收集,并进行归纳分析,总结出了其主要的功能:
(1)系统用户管理,包括管理员添加、管理员管理、注册会员管理。
(2)站内新闻管理,包括站内新闻添加、站内新闻查询。
(3)轮播图管理,包括轮播图添加、轮播图查询;
(4)网辩视频类别管理,网辩视频类别添加、网辩视频类别查询;
(5)网辩视频信息管理,网辩视频信息添加、网辩视频信息查询;
(6)系统基本管理:平台简介设置、留言板管理;
(7)首页展示:轮播图管理、视频推送展示;
(8)站内新闻展示:站内新闻列表展示、查看详情;
(9)精彩辩论视频展示:精彩辩论视频列表展示、查看详情、收藏、评论、点赞等;
(10)用户注册、登录。
3.3 性能需求分析
在对该网辩平台开发的过程中,为了使系统性能得到保证,需要考虑的内容主要如下。
(1)安全性。要确保信息系统的可控性与可靠性,使用户信息最大程度的保密。
(2)先进性。与现阶段的趋势相结合,开发出与用户需求相符的各种功能。
(3)可扩展性。在完成整个系统的开发之后,用户可能还会有一些其他需求的提出,因此在具体开发的时候要考虑到应用程序的可扩展性,方便将来系统的升级和更新。
3.4 系统UML分析
UML,也被成为统一建模语言,是用做软件密集型系统的一种可视化建模语言[14]。这是开发人员针对客观事物展开建模的主要标志,同样也作为开发人员对于系统具体功能以及开发当中的实际任务情况需要做哪些了解。然后是针对整个系统展开UML建模分析。
用户用例图具体情况如3-1。
图3-1 用户用例图
管理员用例图具体情况如3-2。
图3-2 管理员用例图
4 系统总体设计
4.1 系统整体功能设计
通过业务流程,我们可以将系统分为两大业务板块,分别是前台用户端和后台管理系统。
(1)前台用户端主要功能有:
①用户注册:第一次使用系统的用户可以注册属于自己的账号。
②用户登陆:账号注册完成后,登陆进入平台首页。
③首页展示:将我们的网辩视频在前台首页向用户呈现,使用户方便快捷的观看、收藏并且评论商品。
④网辩视频详情:点击对应的网辩视频,会展示该视频的详情,方便用户更清楚的了解详细信息。
⑤在线留言:可以点击在线留言,进入在线留言页面发表自己的留言信息。
⑥站内新闻:主要是实现站内新闻的信息列表和信息详情查看。
(2)后台管理系统主要功能有:
①后台登陆:后台管理系统拥有一个拥有所有权限的超级管理员,能够创建普通管理员,从而便于管理和责任追查。
②系统用户管理:是对管理员信息的管理,主要包括管理员添加、管理员管理、注册会员管理。
③站内新闻管理:主要是将站内新闻进行增、删、改、查相关操作管理。
④轮播图管理:主要是对首页轮播图进行增、删、改、查的操作进行管理。
⑤网辩视频类别管理:主要是对网辩视频类别信息进行管理,包括视频类别添加、视频类别查询等功能。
⑥网辩视频信息管理:主要是对网辩视频信息进行统一管理,包括视频信息添加、视频信息查询等操作。
平台主要分为前台功能模块和后台管理功能模块,如图 4.1 所示。
图4.1 整体功能架构图
4.2 数据库设计
计算机信息系统当中的重要基础为数据库。只有数据库系统发挥支持作用,才能够实现数据的收集、存储、整理、更新、检索以及处理等相应的操作[5]。现阶段,计算机系统当中的核心还是属于数据库,且数据库质量直接会影响到整个系统运行的速度以及最终所呈现出的质量。
4.2.1 数据库设计原则
在具体进行概念设计的时候,通常是包括的设计方式有渐进扩张、自上而下、混合策略以及自下而上[13]。在针对局部设计的过程中,主要使用的是自顶向下而下,而物理结构的具体设计主要包括两个阶段:首先是对数据库物理结构进行定义,其次,存取关系模型的方式一定要选择正确。
4.2.2 概念设计
根据需求分析和业务流程,通过对系统中所涉及的用户、视频、管理员等现实世界中存在的事务物所具有的各种属性,进行归类、合并和总结,从而建立起抽象的数据概念模型。根据这个模型可以充分反映现实世界的信息结构、信息流动状况、信息之间的制约关系以及对信息进行增删改查的操作等。如图4.2所示
图4.2 数据库E-R图
4.3 物理设计
在本次项目开发中,一共设计了10张表,主要分为用户端和后台两部分。主要的表包括:管理员表、用户表、新闻表、视频类型表、视频信息表、收藏记录表等。
(1)后台管理员表(allusers)表
用于存储后台管理员用户名、密码、角色、添加时间等基本信息。
表4.1 后台管理员表(allusers)表
字段名称 | 描述 | 数据类型 | 值域 | |
id | 主键 | int | 0 | |
username | 用户名 | varchar | 50 | |
pwd | 密码 | varchar | 50 | |
cx | 角色 | varchar | 50 | |
addtime | 添加时间 | timestamp | 0 |
(2)用户表(yonghuzhuce)表
用于存储前台注册用户的用户名、密码、姓名、性别等基本信息。
表4.2 用户表(yonghuzhuce)表
字段名称 | 描述 | 数据类型 | 值域 |
id | 主键 | int | 0 |
yonghuming | 用户名 | varchar | 50 |
mima | 密码 | varchar | 50 |
xingming | 姓名 | varchar | 50 |
xingbie | 性别 | varchar | 50 |
chushengnianyue | 出生年月 | date | 0 |
| QQ号 | varchar | 50 |
youxiang | 邮箱 | varchar | 50 |
shouji | 手机号 | varchar | 50 |
shenfenzheng | 身份证号 | varchar | 50 |
touxiang | 头像地址 | varchar | 50 |
dizhi | 住址 | varchar | 50 |
beizhu | 备注 | varchar | 500 |
issh | 是否审核 | varchar | 10 |
addtime | 创建时间 | timestamp | 0 |
(3)视频类别表(shipinleibie)表
用于存储视频类别id、名称等信息。
表4.3 视频类别表(shipinleibie)表
字段名称 | 描述 | 数据类型 | 值域 | |
id | 主键 | int | 0 | |
leibie | 类别名称 | varchar | 50 | |
addtime | 创建时间 | timestamp | 0 |
(4)视频信息表(shipinxinxi)表
用于存储网辩视频的编号、名称、关键字等基本信息。
表4.4 视频信息表(shipinxinxi)表
字段名称 | 描述 | 数据类型 | 值域 |
id | 主键 | int | 0 |
bianhao | 编号 | varchar | 50 |
mingcheng | 名称 | varchar | 50 |
guanjianzi | 关键字 | varchar | 50 |
leibie | 类别 | varchar | 50 |
zhutu | 主图地址 | varchar | 50 |
jianjie | 简介 | varchar | 500 |
shipin | 视频地址 | varchar | 50 |
shangchuanren | 上传人 | varchar | 50 |
dianjilv | 点击率 | varchar | 50 |
issh | 是否审核 | varchar | 10 |
dianzan_d | 点赞 | int | 0 |
续表4.4 视频信息表(shipinxinxi)表
dianzan_c | 点赞 | int | 0 |
addtime | 添加时间 | timestamp | 0 |
(5)收藏记录表(shoucangjilu)表
收藏记录表主要包含用户、信息id等基本信息。
表4.5 收藏记录表(shoucangjilu)表
字段名称 | 描述 | 数据类型 | 值域 |
id | 表id | int | 0 |
username | 用户名 | varchar | 50 |
xwid | 选择id | varchar | 50 |
ziduan | 字段名 | varchar | 50 |
biao | 表名 | varchar | 50 |
addtime | 添加时间 | timestamp | 0 |
biaoj | 标记 | varchar | 255 |
(6)新闻统计表(xinwentongzhi)表
新闻统计表主要存储标题、类别、内容、首页图片等基本信息。
表4.6 新闻统计表(xinwentongzhi)表
字段名称 | 描述 | 数据类型 | 值域 |
id | 表id | int | 0 |
biaoti | 标题 | varchar | 50 |
leibie | 类别 | varchar | 50 |
neirong | 内容 | mediumtext | 0 |
shouyetupian | 首页图片 | varchar | 50 |
dianjilv | 点击率 | varchar | 50 |
tianjiaren | 添加人 | varchar | 50 |
addtime | 添加时间 | timestamp | 0 |
(7)友情链接表(youqinglainjie)表
友情链接表主要存储网站名称、网址、添加时间等基本信息。
表4.7 友情链接表(youqinglainjie)表
字段名称 | 描述 | 数据类型 | 值域 |
ID | 表id | int | 0 |
wangzhanmingcheng | 网站名称 | varchar | 50 |
wangzhi | 网址 | varchar | 50 |
addtime | 添加时间 | timestamp | 0 |
LOGO | Logo | int | 0 |
(8)评论表(pinglun)表
评论表主要存储网站名称、网址、添加时间等基本信息。
表4.8 评论表(pinglun)表
字段名称 | 描述 | 数据类型 | 值域 |
ID | 表id | int | 0 |
xinwenID | 新闻id | varchar | 10 |
pinglunneirong | 评论内容 | varchar | 500 |
pinglunren | 评论人 | varchar | 20 |
pingfen | 评分 | varchar | 4 |
biao | 表 | varchar | 20 |
addtime | 添加时间 | timestamp | 0 |
(9)留言板表(liuyanban)表
留言板表主要存储性别、QQ、邮箱、手机号等基本信息。
表4.9 留言板表(liuyanban)表
字段名称 | 描述 | 数据类型 | 值域 |
id | 表id | int | 0 |
cheng | 新闻id | varchar | 50 |
xingbie | 性别 | varchar | 50 |
| | varchar | 50 |
youxiang | 邮箱 | varchar | 50 |
shouji | 手机号 | varchar | 50 |
neirong | 内容 | varchar | 500 |
huifuneirong | 回复内容 | varchar | 500 |
addtime | 添加时间 | timestamp | 0 |
(10)系统简介表(dx)表
留言板表主要存储性别、QQ、邮箱、手机号等基本信息。
表4.10 系统简介表(dx)表
字段名称 | 描述 | 数据类型 | 值域 |
ID | 表id | int | 0 |
leibie | 类别 | varchar | 50 |
content | 内容 | longtext | 0 |
5 系统功能详细设计与实现
(1)注册
(2) 登录
(3) 首页展示
(4) 首页视频列表
(5) 视频详情
(6) 新闻页面效果图
(7) 我要留言
(8)辩论精彩瞬间列表
(9)后台登录
(10)后台功能列表
喜欢的点赞收藏加关注私信作者交流沟通