目录

ssm164学院学生论坛的设计与实现+vue

项目清单 包安装运行 官网地址 http://chenqi1990.site

ssm164学院学生论坛的设计与实现+vue

https://raw.githubusercontent.com/GraduationProject-springboot/.github/main/img/wx.png

github 项目仓库 开源仅有后端代码

点击播放视频 ▼

https://i.sstatic.net/Vp2cE.png

第一章 绪论

1.1研究背景

目前的时代是一个互联网加的时代,所有的信息都被网络覆盖,现在人们查询任何信息都可以随时随地的通过电脑来进行查询,有不懂的问题也可以通过浏览器输入查询得到解决办法,这样的生活方式深受大家的喜爱和接纳。

社会大环境都在变革,对于人们在交流讨论上的方式也应该上升到计算机这一层面,这样人们在日常工作生活中,如果遇到什么问题需要讨论,或者对某个领域不了解的时候,就可以通过专门的平台来进行发布这些话题,进行讨论,也就是在这一的情况下,论坛系统应运而生。

论坛的诞生实现了我们能够在虚拟的网络上与因有共同兴趣爱好或长项而集中的网友进行及时而方便的谈论,论坛系统真正实现了无地域局限,让地球每一个角落都能普及到的重要交流工具。所以我选择学院学生论坛系统的设计与实现这一课题作为毕业设计,目的是为校园用户提供一个便利的交流平台。

1.2 研究现状

国外软件行业起步早,发展迅速,软件开发的各种技术已经走向成熟阶段,国外对BBS论坛信息的管理早已进入信息化管理层面,不管查找帖子信息,修改对应帖子信息或者对某个不良用户进行言论限制或者禁言理由都可以充分进行管理。用户信息还有帖子信息管理便捷化迅速化。

在国内还有很大一部分人们并没有进行过BBS论坛的交流,他们交流方式还是存在一定局限性,只是局限在周边认识的亲戚朋友关系上面,信息沟通还有交流并不存在一定的讨论流程,如今信息流通速度加快,信息闭塞严重的话就会吃亏,因此交流就需要进一步扩大,自己知识面的不充分和缺乏就需要尽快弥补起来,这就需要一款交流软件来改变这样的局面,目前我国对于软件跟开发技术这块也在逐渐进步,研究内容也在不断的深入,开发出一款针对BBS论坛信息的管理的系统并非难事。

1.3 研究目标

本系统主要是设计出学院学生论坛系统,界面风格要美观,不能出现丢失数据,信息呈现混乱等问题。要可以高效地存储和查询数据,从而保证网站可以的正常进行。研究目标如下:

(1) 界面优化:界面简洁、美观,易于用户操作。系统中大部分功能通过控件实现,使得运行界面十分简洁,用户可以方便地完成查贴、发帖、回复等各类操作。

(2)功能设计:学院学生论坛系统主要满足两类用户的需求,即用户以及管理员,实现不同用户的权限登录。

(3)各类信息管理,提高效率。各类信息由管理员及时进行管理。

11

11

第二章 相关技术介绍

2.1Java技术

Java是一种非常常用的编程语言,在全球编程语言排行版上总是前三。在方兴未艾的计算机技术发展历程中,Java的身影无处不在,并且拥有旺盛的生命力。Java的跨平台能力十分强大,只需一次编译,任何地方都可以运行[9]。除此之外,它还拥有简单的语法和实用的类库,让编程人员可以尽可能将精力集中在问题的求解上,并且许多开源项目和科研成果都是采用它实现的。

在1995年这一年的5月份,著名的Sun Microsystems公司在程序开发设计上面郑重推出一种面向对象开发的程序设计语言——Java,最开始的时候Java是由詹姆斯.高斯林这位伟大的JAVA之父来进行主导,但是在后来由于各种原因,让甲骨文公司这个针对商业程序创建了oracle大型数据库的公司收购了Java。Java的平台总共算下来有3个,分别为javaME和javaSE以及javaEE这3个java平台。下面将对其进行分别介绍。

(1)在电脑桌面程序的开发上面需要选择JavaME,这个用得也比较多。

(2)企业也会根据工作以及业务需要开发各种软件,那么就会选用JavcEE这个支持企业版软件的开发的Java平台,JavcEE主攻运用在企业领域上面的web应用,JavcEE也在javaSE的基础上获得了比如jsp技术 ,Servlet技术等程序开发技术的支持。

(3)现在生活中手机的普及化,也使得手机端这样的移动设备的软件的兴起,JavaME这个迷你版java平台就能运用于移动端的软件开发操作。

2.2Vue框架

Vue是当今前端的三大框架之一,主要技术领域运用到的是单页SPA的应用之中。这样很好的提供了用户的浏览网页的交互体验。减少了浏览器的负载。提高浏览器的高效的浏览的速度。

Vue 是一套用于构建用户界面的渐进式框架。Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。另一方面,当与现代化的工具链以及各种支持类库结合使用时,Vue 也完全能够为复杂的单页应用提供驱动。Vue可以在任意其他类型的项目中使用,使用成本较低,更加灵活,主张较弱,在Vue的项目中也可以轻松融汇其他的技术来开发,而且因为Vue的生态系统特别庞大,可以找到基本所有类型的工具在vue项目中使用。其特点:易用(使用成本低),灵活(生态系统完善,适用于任何规模的项目),高效(体积小,优化好,性能好)。

VUE的出现,加快了前后端分离的进程,提高了程序员的工作效率,也减少了工作时间。Vue.js是一套用于构建用户界面的,可以自底向上逐层应用的渐进式前端框架。它相比于其他主流的JavaScript框架例如AngularJS或React都具有运行效率高、语法简洁、自身占用空间小、上手容易等特点。它的核心只关注视图层,是一个允许采用简洁的模板语法来声明式地将数据渲染进DOM的系统,并且所有的这些都是响应式的。

2.3MYSQL数据库

MySQL是典型的关系数据库系统,拥有开源免费、稳定、高效等特点,一直是中小型web项目的最佳数据库选择。MySQL作为当今IT领域使用人数最多的开源关系型数据库软件之一,在2018年的数据库使用率排名中位居第二,仅次于目前为止最成功的商业版数据库Orcle[12]。MySQL最大的优势之一就是无偿使用,这也是它成功的关键。

MySQL支持标准化数据库查询语言SQL。MySQL是一款非常适合个人开发者或小型组织开发团体的数据库管理系统,因为它是开源并且免费的,体积小、速度快、成本低以及其最重要的一点开放源码,深受程序设计人员的喜爱,这也让它成为了许许多多中小型开发网站数据库的首选,同时提供了多种开发的连接API。MySQL将数据的存放按照记录之间的关系存放到了不同的表中,减少了数据的冗余并且提高了开发的工作效率。MySQL支持开发中需要用的大型数据库,并能处理数以万计的记录。因为MySQL是开源的软件,所以在项目的预算中的时候不用花费额外的资金,大大降低了开发的总体成本,这也是MySQL数据库在中小型企业和独立的开发者中广泛流行的原因[11]。

2.4 B/S结构

在早期的程序开发中,使用得最多的莫过于C/S架构了,现在的生活中软件在生活的各个方面落地,使用了C/S架构开发出来的软件也是不在少数的,比如企业日常办公使用到的微软的OFFICE软件,我国自己研发的文档处理软件WPS,还有娱乐软件腾讯的QQ,腾讯的微信,以及电脑上安装的杀毒软件金山杀毒软件,瑞金杀毒软件等都是C/S架构。但是在Internet网络盛行之后,鉴于大家对数据信息共享的需求,在原来的C/S架构上进行了升级改进之后,有了现在的主流架构B/S架构,B/S架构就是在C/S架构上多了一个浏览器,让原来的直接访问服务器的方式,变成了通过浏览器去访问服务器。充分运用到了当下不断成熟的浏览器技术。也让软件的开发成本以及维护成本降低了。可以说B/S这种新型的架构模式让软件的开发变得便利化。

2.5 SSM框架

本学院学生论坛系统基于Spring、SpringMVC、Mybatis框架进行开发设计。

Spring 框架是在2004年首次发布,之后出现了多次的重大修订。Spring框架是由七个不同的模块组成,分别是SpringCore、Spring AOP、Spring ORM、Spring DAO、Spring Web Flow、Spring Context和Spring Web MVC[16]。这些模块提供不同的平台来开发不同的企业应用程序 ,本课题使用Spring Web MVC模块开发基于MVC的应用程序。

Spring Web MVC是基于Servlet API的原始Web框架,从一开始就包含在Spring 框架中。“Spring Web MVC”是该框架的正式名称,但通常被简称为“Spring MVC” [17]。Spring MVC框架提供了模型模块-视图模块-控制器的架构和可用于直接开发的Web应用程序的现成组件。Spring MVC模式将应用程序的不同方面分开,使元素之间形成松散耦合。

MyBatis原名叫做iBatis属于持久层框架,消除了大部分JDBC代码和参数的设置以及结果集的检索。这个框架不仅支持普通SQL查询和存储过程,还支持高级的映射[18]。MyBatis使用.xml和注解来做原始映射和配置,将接口和Java对象映射成数据库记录。

第三章 系统分析

3.1 可行性分析

需要使用大部分精力开发的学院学生论坛系统为了充分降低开发风险,特意在开发之前进行可行性分析这个验证系统开发是否可行的步骤。本文就会从技术角度,经济角度,还有操作角度等进行综合阐述。

3.1.1技术可行性

本文将开发的系统,将采用的关键技术包括JAVA编程语言、B/S架构、MYSQL数据库存储技术等。另外,程序开发需要在自己电脑上安装的软件并不多,在win7操作系统的大环境下,能够完全搭建好程序开发的操作环境,比如开房工具,MYSQL数据库工具,以及处理程序图片的Photoshop工具等都能安装在自己的电脑上。总的说来,开发这个程序在技术上是可以实现的,该项目的开发是有保障的。

3.1.2经济可行性

开发这个程序软件并不会涉及到经济上面的开销,在开发软件的选择上也不会额外付费安装软件,在开发软件的官网上面就可以下载需要的软件,并根据提示的安装步骤安装软件到自己的电脑上面。因此,该项目的实施在经济上完全可行。

3.1.3操作可行性

操作可行性主要是针对系统用户而言,一个系统再完美,技术再先进,用户不去使用,或者用户根本不会使用,该系统存在的价值也是不大的。本系统拟采用的是B/S架构,用户只要通过点击浏览器即可轻松访问,而用户对浏览器操作非常熟练,所以从用户的角度而言,没有任何学习成本,因此,操作上是可行性的。

3.1.4时间可行性

从时间上看,在三个月的时间里学习相关知识,开发本学院学生论坛系统,时间上是有点紧,但是不是不可能实现,在做毕业设计的这几个月里,我通过努力使得功能应该基本可以实现。

从上面几个部分的可行性分析得出,这次开发的学院学生论坛系统在开发上面没有什么大问题,值得开发。

3.2系统性能分析

3.2.1 系统安全性

程序在使用中是不允许其他访问者随意窃取程序里面的隐秘信息,也不允许其他操作者越权操作其他管理用户操作的功能,要真正杜绝这些现象就必须在程序开发之前把程序的安全性给考虑进去。

比如现在很多程序都会把用户注册的功能给考虑进去,让用户在注册页面功能区填写自己的个人信息,这些数据信息涵盖了用户本人的姓名,用户对程序登录设置的密码,用户经常使用的邮箱,用户的常用联系方式还有用户的所住地址等信息,这些信息都是设计到用户本人的隐私,那么这些信息在传输给程序后台时,是需要进行管理并保存至对应的数据库文件里面。要是有人恶意窃取程序的数据信息,也就会让那些注册了此程序软件的用户的个人隐秘信息都会遭到泄露。这些信息落入其他不法分子手里,他们极有可能根据用户的隐私信息去骚扰用户,并把这些信息用于各种商业用途谋取其他非法的利益。所以数据安全性是一个系统能不能使用的首要标准。

3.2.2 数据完整性

数据完整性是确保数据信息是否具有可靠性,是否具有参考价值的一个重要因素,数据信息只描述一部分,或者必有的数据信息反而为空等现象都是代表着这个数据信息不完整,有数据缺陷,这是个很严肃的问题,因为这样的数据信息跟垃圾信息没什么两样。

说到数据完整性,不得不提最常用的程序表单功能。这些表单主要就是提取广大用户的数据信息的,需要广大用户根据表单上的要求,填写自己的姓名信息,以及自己的联系方式信息,有些也会有额外的信息填写要求,有必须要填的选项,也有不需要必填的选项。假如广大用户为了保护自己的隐私,或者不想受到其他人的骚扰,不填写必填项等信息,广大用户在最后提交此表单的时候,往往都是提交不了的。

由于数据表之间也会存在一定的联系,所以同一个数据也会出现在另一个表格里面,那么这两个表格记录的同一个数据应该是一样的。不能够是同样的数据信息在不同表中不一样。

3.2.3系统可扩展性

一切事物都是一直在发展,程序员开发软件也需要带着发展的思维去进行软件开发操作,这样的话,开发出来的程序在应对管理所需时,也会相对应的进行程序升级与更新。不论是功能完善还是数据库升级都能在原来的基础上对原有程序进行迭代升级。让开发出来的程序能够走得越来越远。这也是广大用户对程序软件的使用要求。

3.3系统流程分析

3.3.1注册流程

未有账号的用户可进行注册操作,用户注册流程图如图3.1所示。

/images/0100ssm/ssm164/blog.001.png

图3.1注册流程图

3.3.2登录流程

登录模块主要满足了管理员和用户的权限登录,用户登录流程图如图3.2所示。

/images/0100ssm/ssm164/blog.002.png

图3.2 登录流程图

3.4.3论坛发帖流程

用户论坛发帖前提必须是登录后才能进行,发帖内容不能为空,且合法才能进行提交发表成功。详见图3.3所示。

/images/0100ssm/ssm164/blog.003.png

图3.3 论坛发帖流程图

3.4系统功能分析

本学院学生论坛系统主要分管理员和用户两大功能模块,下面将详细介绍管理员和用户分别实现的功能。

3.4.1用户功能分析

用户在系统前台可查看系统信息,包括首页、校园论坛、系统公告以及留言反馈等,用户要想实现发帖等操作,必须登录系统,没有账号的用户可进行注册操作,注册登录后主要功能模块包括个人中心、我的发布。用户用例图如图3.4所示。

/images/0100ssm/ssm164/blog.004.png

图3.4 用户用例图

3.4.2管理员功能分析

管理员可登录系统后台对系统进行全面管理操作,管理员主要功能模块包括个人中心、用户管理、留言板管理、校园论坛以及系统管理。 管理员用例图如图3.5所示。

/images/0100ssm/ssm164/blog.005.png

图3.5 管理员用例图

第四章 系统设计

4.1系统概要设计

本学院学生论坛系统采用B/S结构来开发,这种结构是在互联网兴起后出现的,是一个适用于互联网环境下的模型结构,用户只要能上网通过浏览器就可以在任何时间、任何地点的使用。系统工作原理图如图4-1所示:

/images/0100ssm/ssm164/blog.006.png

图4.1 系统工作原理图

4.2 系统结构设计

系统整体设计是一个将一个庞大的任务细分为多个小的任务的过程,这些小的任务分段完成后,组合在一起形成一个完整的任务。本学院学生论坛系统主要包括用户功能模块和管理员功能模块,系统功能模块图如图4.2所示。

/images/0100ssm/ssm164/blog.007.png

图4.2 系统功能模块图

4.3 数据库设计

4.3.1数据库E-R图设计

E-R图是一种描述显示数据类型间的关系的数据描述方法,E-R图可以完整地映射出现实模型的关系。E-R图中的三个最为重要的元素就是实体、属性、关系。本学院学生论坛系统的E-R图如下所示:

(1)校园论坛信息实体E-R图如图4.3所示:

/images/0100ssm/ssm164/blog.008.png

图4.3 校园论坛信息实体属性图

(2)管理员信息实体E-R图如图4.4所示:

/images/0100ssm/ssm164/blog.009.png

图4.4 管理员信息实体属性图

(3)留言板信息实体E-R图如图4.5所示:

/images/0100ssm/ssm164/blog.010.png

图4.5 留言板信息实体属性图

(4)系统公告信息实体E-R图如图4.6所示:

/images/0100ssm/ssm164/blog.011.png

图4.6 系统公告信息实体属性图

(5)用户信息实体E-R图如图4.7所示:

/images/0100ssm/ssm164/blog.012.png

图4.7用户信息实体属性图

4.3.2数据库表设计

学院学生论坛系统采用MYSQL数据库作为数据存储,下面介绍数据库中的各个表的详细信息。

表4.1 forum校园论坛信息表

列名 数据类型 长度 允许空 说明
id bigint 20 编号
addtime timestamp 创建时间
title varchar 200 帖子标题
content longtext 帖子内容
parentid bigint 20 父节点编号
userid bigint 20 用户编号
username varchar 200 用户名
isdone varchar 200 状态

表 4.2 users管理员信息表

列名 数据类型 长度 允许空 说明
id bigint 20 编号
username varchar 100 用户名
password varchar 100 密码
role varchar 100 角色
addtime timestamp 新增时间

表 4.3 messages留言板信息表

列名 数据类型 长度 允许空 说明
id bigint 20 编号
addtime timestamp 创建时间
userid varchar 200 留言人编号
username varchar 200 用户名
content longtext 留言内容
reply longtext 回复内容

表4.4 news系统公告信息表

列名 数据类型 长度 允许空 说明
id bigint 20 编号
addtime timestamp 创建时间
title varchar 200 标题
introduction longtext 简介
picture varchar 200 图片
content longtext 内容

表4.5 yonghu用户信息表

列名 数据类型 长度 允许空 说明
id bigint 20 编号
addtime timestamp 创建时间
yonghuming varchar 200 用户名
mima varchar 200 密码
xingming` varchar 200 姓名
touxiang varchar 200 头像
xingbie varchar 200 性别
lianxidianhua varchar 200 联系电话

第五章 系统的实现

5.1 用户功能模块的实现

5.1.1系统主界面

用户进入本系统可查看系统信息,主要包括首页,校园论坛以及系统公告等,系统主界面展示如图5.1所示。

/images/0100ssm/ssm164/blog.013.png

图5.1网站主界面

5.1.2留言反馈界面

用户登录后可进行留言反馈操作,留言反馈界面展示如图5.2所示。

/images/0100ssm/ssm164/blog.014.png

图5.2 留言反馈界面

5.1.3用户注册界面

未有账号的用户可进入注册界面进行注册操作,用户注册界面展示如图5.3所示。

/images/0100ssm/ssm164/blog.015.png

图5.3用户注册界面

5.1.4用户登录界面

用户在登录界面可输入正确的登录信息,点击提交按钮进行登录操作,用户登录界面展示如图5.4所示。

/images/0100ssm/ssm164/blog.016.png

图5.4用户登录界面

5.1.5校园论坛界面

用户在校园论坛界面可查看已有帖子信息,并可查看详情,登录后可进行发帖、评论等,校园论坛界面展示如图5.5所示,发帖界面展示如图5.6所示。

/images/0100ssm/ssm164/blog.017.png

图5.5校园论坛界面

/images/0100ssm/ssm164/blog.018.png

图5.6 发帖界面

5.2 管理员功能模块的实现

5.2.1用户管理界面

管理员可查看、添加、修改和删除用户信息,用户管理界面展示如图5.7所示。

/images/0100ssm/ssm164/blog.019.png

图5.7 用户管理界面

5.2.2留言板管理界面

管理员可查看留言板信息,并可进行回复、修改和删除操作,留言板管理界面展示如图5.8所示,回复界面展示如图5.9所示。

/images/0100ssm/ssm164/blog.020.png

图5.8 留言板管理界面

/images/0100ssm/ssm164/blog.021.png

图5.9 回复信息界面

5.2.3系统公告管理界面

管理员可添加、修改和删除系统公告信息,系统公告管理界面展示如图5.10所示。

/images/0100ssm/ssm164/blog.022.png

图5.10 系统公告管理界面

5.2.4校园论坛管理界面

管理员可管理校园论坛信息,校园论坛管理界面展示如图5.11所示。

/images/0100ssm/ssm164/blog.023.png

图5.11 校园论坛管理界面