基于SSM的考研资料分享论坛的设计与实现.docx
- 文档编号:6511867
- 上传时间:2023-01-07
- 格式:DOCX
- 页数:33
- 大小:3.14MB
基于SSM的考研资料分享论坛的设计与实现.docx
《基于SSM的考研资料分享论坛的设计与实现.docx》由会员分享,可在线阅读,更多相关《基于SSM的考研资料分享论坛的设计与实现.docx(33页珍藏版)》请在冰豆网上搜索。
基于SSM的考研资料分享论坛的设计与实现
基于SSM的考研资料分享论坛的设计与实现
摘要:
近十年,互联网技术在中国飞速发展,网络已经进入千家万户,而且已经深入到人们的日常生活中。
如今,上网是一件非常普遍的事情,人民利用网络来通信、办公、娱乐、学习等等。
互联网的到来极大的开拓了人们的视野,让人们有了更高的目标,因此越来越多的人选择考研深造,这些人不仅仅是在校大学生,还有大量的在工人员,然而在考研学习过程中寻找资料又是一件很困难的事情。
因此,创建一个研究生考生专属的资料分享论坛就显得十分必要和急切了。
本文研究设计的考研资料分享论坛,目的就是为了给研究生考生们提供一个资料分享的网络社区,帮助他们分享学习资料、经验,减少资料搜寻的时间,以便他们在复习的过程少走弯路。
本系统是基于B/S架构和MVC模式开发的,系统采用目前较为流行的SSM(Spring+SpringMVC+Mybatis)开发框架,前端页面使用JSP+jQuery+Bootstrap的技术。
使用的开发工具为IntelliJIDEA和WebStorm,开发语言为java,web服务器为Tomcat9,数据库服务器为Mysql5.7,系统运行在windows10操作系统上。
本论坛系统分为前台和后台两大模块,对应的使用者分别是注册用户和管理员。
其中前台模块的主要功能有:
用户的注册、登陆、注销、查看与修改信息和关注,帖子的浏览、评论、发表与收藏。
后台模块的主要功能有:
用户管理、帖子管理、板块管理。
本文主要对考研资料分享论坛的前端页面呈现和后台逻辑实现的设计以及核心代码的编写做了详尽描述,并对系统进行测试运行分析。
关键词:
SSM开发框架;考研;论坛
DesignandImplementationofGraduateDataSharingForumBasedonSSM
Abstract:
Inthepasttenyears,InternettechnologyhasdevelopedrapidlyinChina.TheInternethasenteredmillionsofhouseholds,andithaspenetratedintopeople'sdailylives.Nowadays,surfingtheInternetisaverycommonthing.Peopleusenetworkcommunication,office,entertainment,studyandsoon.TheadventoftheInternethasgreatlyexpandedpeople'shorizonsandmadepeoplehavehighergoals.Therefore,moreandmorepeoplechoosetopursuepostgraduatestudies.Thesepeoplearenotonlycollegestudents,butalsoalargenumberofpeoplewhoarestillworking.However,Thehardestpartofpreparingforthegraduateentranceexamiscollectingrelevantinformation.Therefore,itisnecessaryandurgenttocreateaforumofdatasharingexclusivelyforcandidatesofgraduateentranceexam.
Thepurposeofthisarticle'sresearchanddesignofthissharingforumistoprovidecandidatesanonlinecommunityforinformationsharing.Throughthisplatform,itcanhelpthemsharelearningmaterialsandexperiences,andreducethesearchtimeformaterials,sothattheywillnottakeadetourinthereviewprocess.
ThissystemisdevelopedbasedontheB/SarchitectureandMVCmode.ThesystemusesthecurrentlypopularSSM(Spring+SpringMVC+Mybatis)developmentframework.Thefront-endpageusesJSP+jQuery+Bootstraptechnology.ThedevelopmenttoolsusedareIntelliJIDEAandWebStorm,thedevelopmentlanguageisjava,thewebserverisTomcat9,thedatabaseserverisMysql5.7,andthesystemrunsontheWindows10operatingsystem.
Theforumsystemisdividedintotwomodules,theforegroundandthebackground.Thecorrespondingusersareregisteredusersandadministrators.Themainfunctionsofthefront-endmoduleare:
login,logout,registration,viewing,modification,commenting,post.Themainfunctionsofthebackgroundmoduleare:
usermanagement,postmanagement,andadministratormanagement.
Thisarticlefocusesontheintroductionofthefrontpageofthisforumandthedesignofthebackgroundlogicimplementation,adetaileddescriptionofthecorecodewriting.
Keywords:
SSMDevelopmentFramework;GraduateResearch;Forum
1绪论
1.1课题背景
近年来,随着我国教育的发展,越来越多的学生甚至是在职人员,愿意继续接受高等教育,因此,报考全国硕士研究生招生考试的人逐年剧增。
现如今,随着网络技术的发展,人们的日常工作学习已经离不开网络,网上论坛也已经诞生几十年了,在飞速发展的计算机技术和Web技术的基础上,原有的简易电子公告板系统已经发展成为一个功能丰富的在线论坛和虚拟社区模型。
在中国,网络论坛其实早已出现在我们身边,只是大家未曾察觉,比如:
专注于书影音的豆瓣社区;专注与生活娱乐的新浪论坛;专注于军事的铁血社区等。
而本课题就是专注于考研资料分享的论坛。
它面向一切准备研究生考试的考生,用户可以通过本论坛不仅可以获取到考研相关的资料和经验,还可以自由地发表自己的意见和观点,在考研的道路上找到志同道合之人。
为此,本文设计并实现了基于SSM的考研资料分享论坛。
1.2国内外研究现状
论坛(简称“BBS”)在西方主要用于会员之间的网络联系和信息交流。
BBS有四个主要的应用功能,即发布新闻、发表个人情感、互动问答、发布交易信息[7]。
随着网络技术、计算机技术和多媒体技术的持续不断的发展,发布新闻、互动问答、发布交易信息这三个功能从BBS慢慢消退,并演变成新闻、博客和电子商务三种不同类型的网站,而发表个人情感这一应用功能则发展成为了一个具有完整服务功能的网站。
自1990年开始,大多数人直接将BBS理解为论坛。
随着互联网技术飞速的发展,在互联网论坛上西方国家所占比重逐渐减小,在美国,BBS论坛主要用于提出问题、解决问题,在其论坛上主要提供一些技术上的帮助或提供一些软件服务。
而同时期中文BBS论坛变得人气极旺,因为没有复杂的舆论调控行为和管理机制,这些BBS论坛更加注重的是发帖和回帖的功能。
中国的第一个BBS论坛是1991年成立的北京长城站。
当时互联网技术在国内并不发达,而且国民中拥有计算机的家庭少之又少,所以用户访问量极少。
后来随着经济的发展,互联网技术开始高速发展,计算机也进入寻常百姓家,而BBS也伴随着互联网的发展而快速的发展,慢慢地人们对BBS有了充分的理解和认识。
在1997年,BBS论坛的发展达到了顶峰,其内容几乎覆盖了各个领域。
而后互联网发展热潮冷却,BBS论坛也受到一定的冲击,大部分论坛走向衰败,剩余部分开始调整和完善。
从此国内的BBS论坛趋于成熟。
1.3本课题研究的意义
国家教育的进步,网络技术的发展都昭示着教育与网络的相互结合。
考研不同于高考,考研没有老师对你面对面教学,一切学习都要依靠自己。
而网络就是一名很好的“老师”,通过网络所有人都可以很方便的学习到很多新东西、新知识、新技能;通过网络还可以结交很多具有共同兴趣的朋友,并分享自己的知识见解。
本论坛设计的目标就是为了方便这些求学的人在网络上学习和交流,遇见自己的“老师”。
考研资料分享论坛就是为用户提供一个网络平台,使用户在该平台上可以交流信息、共享资料,互相学习、共同进步。
1.4本课题的研究方法
考研资料分享论坛是根据论坛系统的具体需求和软件工程开发流程进行设计开发。
主要通过对系统进行需求分析,而后进行系统的总体与详细设计并编写系统,最后运行系统并对系统主要功能进行测试,以此来逐步完善系统。
系统是使用MVC编程思想,采用SSM框架进行封装,基于B/S架构的。
2系统开发技术及平台介绍
2.1系统开发技术
2.1.1Java语言
Java是一个面向对象的高性能的语言,自1995年诞生至今,经过25年的研发历程,Java语言已经十分成熟。
使用Java语言开发的系统具有很高的安全性和可移植性。
2.1.2Bootstrap前端框架
Bootstrap是基于HTML、CSS、JAVASCRIPT的,是目前最受欢迎的前端框架。
选择Bootstrap前端框架是因为Bootstrap支持响应式布局,即系统的页面布局可以随着设备的改变而自动的改变。
这也就意味着,使用Bootstrap前端框架的网页可以在智能手机、平板电脑、电脑上自适应的显示出来,不会出现显示错误,这也是本系统使用该框架的主要原因。
2.1.3SSM框架
SSM框架集由Spring、SpringMVC、MyBatis三个开源框架整合而成[11]。
Spring可以称之为项目架构中的核心,由它整合SpringMVC和MyBatis开发框架。
Spring通过控制反转将对象之间的依赖关系交给Spring控制;SpringMVC负责拦截前端发送的请求,并匹配该请求所需执行的操作;MyBatis封装对数据库的操作,是的对底层数据的操作变得简单。
总得来说,三个框架相互联合从而方便解除耦合,简化开发过程。
2.2系统开发平台
2.2.1IntelliJIDEA开发工具
公认目前最好用的java开发工具就是由JetBrains公司开发的IntelliJIDEA,其使用人数已超Eclipse。
相对于Eclipse它有着以下巨大的优势:
首先是更方便的代码管理助手,提示功能更快速、更便捷,提示范围更广;然后是支持Git、Maven、Spring等的插件;其次是好用的快捷键和代码模版;最后是更精准的搜索。
所以选择IntelliJIDEA作为最主要的开发工具。
2.2.2WebStorm开发工具
WebStorm很好的支持了Web界面的开发,相对于其他界面的开发工具,它具有智能代码补全、代码格式化、HTML提示、联想查询、代码重构、代码检查和快速修复、代码结构浏览、代码折叠、包装或删除外围代码的优点,同时它对程序员也设计了更具人文关怀的UI。
因此,我认为WebStorm是目前市面上最好的Web开发工具之一,本系统也将使用此Web开发工具进行编写。
2.2.3MySQL数据库
MySQL数据库是一个关系型数据库管理系统。
此数据库的主要特点在于速度快、体积小、成本低,同时还提供了多种编程语言的应用程序接口。
所以在满足基性能的前提下为了尽量降低开发成本,很多中小型网站都采用了MySQL数据库,出于同样的考虑,本系统也选择MySQL数据库。
2.2.4Tomcat服务器
Tomcat服务器是一个开源的轻量级Web应用服务器,在中小型系统和并发量小的场合下被普遍使用,是开发和调试Servlet、JSP程序的首选。
3需求分析
需求分析就是详细分析要解决的问题,弄明白问题的要求,包括需要输入哪些数据,将要得到何种结果,最后期望输出什么等。
总之,“需求分析”在软件工程当中就是要确定计算机“做什么”[2]。
3.1系统概述
考研资料分享论坛作为一个论坛系统,首先必须拥有的功能是用户浏览文章、发表帖子和回复帖子,于此同时还需管理员考虑用户所发表的帖子内容是否符合主题。
游客仅能浏览页面内容,只有注册后成为注册用户且在登录状态下才可以发表帖子和回复帖子。
此外,为了方便使用和管理,根据用户需求还需将论坛分为若干板块。
综上,考研资料分享论坛既要实现对于帖子信息的展示,又要实现用户的登录注册和其他功能,以及对其他模块的管理工作。
因此,根据上面的系统概述,本系统将由三大部分组成,分别是用户模块、管理员模块、帖子模块。
本论坛系统的总体需求概述图如图3-1所示。
图3-1基于SSM的考研资料分享论坛总体需求概述图
通过系统概述,考研资料分享论坛的基本功能已具体明了,下面给出此系统的基本功能流程图如图3-2所示。
图3-2基于SSM的考研资料分享论坛基本功能流程图
3.2系统功能需求分析
功能需求这方面的需求是指定系统必须提供的服务。
通过需求分析应该划分出系统必须完成的所用功能[2]。
3.2.1用户模块
用户模块是实现与用户相关的功能,包含了游客的注册,用户的登陆、修改个人信息、与其他用户联系。
其功能用例图如图3-3所示
图3-3用户模块用例图
3.2.2管理员模块
管理员不同于普通注册用户,他用于更高的权限,其职责主要是三部分:
用户管理,删除不符合规定的用户;板块管理,根据现实情况需求对板块信息进行修改或者增删板块;文章管理,主要审核用户发表的帖子是否符合规定,审核不通过的帖子将不能展示在页面上。
其功能用例图如图2-4所示
图3-4管理员模块用例图
3.2.3帖子模块
帖子模块是本论坛系统最重要的部分,它所呈现的内容正是用户所需求的。
帖子模块可由注册用户和管理员共同操作,注册用户通过前台可以编辑帖子、发帖、回帖和浏览等操作,管理员通过后台审核帖子。
其功能用例图如图2-5所示。
图3-5帖子模块用例图
4系统总体设计
总体设计主要是确定系统的具体实现方案和确定软件结构。
4.1系统总体设计及分析
本系统使用MVC编程思想,采用SSM框架,基于B/S体系结构,前端使用JSP+jQuery+Bootstrap技术,后台使用Java编程语言,以Tomcat9作为服务器,MySQL数据库存储,IntelliJIDEA、WebStorm开发工具,选用Windows10作为服务器操作系统进行开发的。
与很多类似的架构软件一样,本系统也是通过浏览器和服务器进行数据交换,从而进行页面动态展现。
系统架构图如图4-1所示。
图4-1帖子模块用例图
本系统使用JSP作为表示层来实现页面展示,SpringMVC主要是用来控制业务之间的跳转,持久层使用的是能灵活使用SQL并全局控制的MyBatis,Spring框架主要是通过注解和映射来实现对SpringMVC和MyBatis的管理,数据库是使用的技术比较成熟的MySQL,数据的业务逻辑实现通过Service完成。
业务逻辑层采用Spring注入的方式,在业务逻辑层的方法中使用MyBatis来对MySQL数据库中的数据进行新增、删除、修改、查询的操作当展现层,MyBatis通过配置文件与数据库映射,将数据写入或取出。
展现层传入参数的值之后,将JSP、JS、CSS等传回浏览器,并通过浏览器进行解析和展现最终视图。
4.2系统功能模块设计
考研资料分享论坛系统按功能需求分为6大模块,分别是用户管理模块、帖子管理模块、评论管理模块、关注管理模块、收藏管理模块,板块管理模块。
用户管理模块包括5个子功能,分别是:
游客注册、用户登陆、查看用户信息、修改用户信息、删除用户信息的功能。
帖子管理模块包括5个子功能,分别是:
新增帖子、修改帖子信息、查看帖子信息、删除帖子信息、帖子审核功能。
评论管理模块包括3个子功能,分别是:
新增评论信息、修改评论信息、查看评论信息功能。
关注管理模块包括3个子功能,分别是:
新增关注信息、查看关注信息、取消关注信息功能。
收藏管理包括3个子功能,分别是:
新增收藏信息、查看收藏信息、取消收藏信息功能。
板块管理包括4个子功能,分别是:
新增板块信息、查看板块信息、修改板块信息、删除板块信息功能。
系统功能模块图如图4-2所示。
图4-2系统功能模块图
4.3数据库设计
4.3.1数据库概念设计
本系统的数据库概念设计如下:
首先是用户与帖子的一对多关系,即一个用户可以发表多条帖子,而一条帖子只能对应一个用户;然后是用户与评论的一对多关系,即一个用户可以发表多条评论,而一条评论只能对应一个用户;然后是帖子与评论的一对多关系,即一条帖子可以有多条评论,而一条评论只能对应一条帖子;其次是用户与关注的多对多关系,即一个用户可以关注多个用户,一个用户可以被多个用户关注;最后是用户与收藏的多对多关系,即一个用户可以收藏多条帖子,一条帖子可以被多个用户收藏;管理员和板块独立存在。
数据库E-R图如图4-3所示。
图4-3数据库E-R图
4.3.2数据库关系设计
由E-R图可分析,考研资料分享论坛系统共有7张表。
user表主要记录用户编号、账号、密码、年龄、性别、邮箱、住址、座右铭、注册时间、头像。
admin表主要记录管理员编号、管理员账号、管理员密码、管理员注册时间。
article表主要记录帖子编号、标题、内容、配图、板块编号、发表时间、发帖人编号、审核状态(0为待审核,1为通过审核,2为未通过审核,默认为0)。
comment表主要记录评论编号、评论内容、评论者编号、评论对应帖子的编号、评论时间。
plate表主要记录板块编号、名称、添加时间。
attention表主要记录关注编号、关注者编号、被关注者编号。
collect表主要记录收藏编号、收藏者编号、被收藏帖子编号。
数据库表关系图如图4-4所示。
图4-4数据库E-R图
4.3.3数据库表详细说明
用户信息(user)表的设计信息如表4-1所示,帖子信息(article)表的设计信息如表4-2所示,评论信息(comment)表的设计信息如表4-3所示,板块信息(plate)表的设计信息如表4-4所示,关注信息(attention)表的设计信息如表4-5所示,收藏信息(collect)表的设计信息如表4-6所示,管理员信息(admin)表的设计信息如表4-7所示。
表4-1用户信息表
名称
类型
是否可为空
说明
备注
user_id
int(10)
否
用户id
主键、自动递增
name
varchar(45)
否
用户账号
age
int(10)
是
年龄
gender
varchar(255)
是
性别
password
varchar(45)
否
密码
varchar(45)
否
邮箱
address
varchar(45)
是
地址
motto
varchar(255)
是
座右铭
creat_time
timestamp
否
注册时间
photo_src
varchar(45)
否
图片地址
表4-2帖子信息表
名称
类型
是否可为空
说明
备注
article_id
int(10)
否
帖子id
主键、自动递增
title
varchar(100)
否
帖子标题
content
varchar(2000)
否
帖子内容
photo
varchar(255)
否
帖子图片
plate
varchar(255)
否
所属板块名字
creat_time
timestamp
否
发帖时间
user_id
int(10)
否
发帖人id
外键
status
int(10)
否
帖子审核状态(0为待审核,1为通过审核,2为审核未通过,默认为0)
表4-3评论信息表
名称
类型
是否可为空
说明
备注
comment_id
int(10)
否
评论id
主键、自动递增
content
varchar(400)
否
评论内容
creat_time
timestamp
否
评论时间
user_id
int(10)
否
发帖人id
外键
article_id
int(10)
否
帖子id
外键
表4-4板块信息表
名称
类型
是否可为空
说明
备注
plate_id
int(10)
否
板块id
主键、自动递增
name
varchar(255)
否
板块名
creat_time
timestamp
否
创建时间
表4-5关注信息表
名称
类型
是否可为空
说明
备注
attention_id
int(10)
否
关注id
主键、自动递增
user_id
int(10)
否
主动关注者id
外键
beiuser_id
int(10)
否
被关注id
外键
表4-6收藏信息表
名称
类型
是否可为空
说明
备注
collect_id
int(10)
否
收藏id
主键、自动递增
user_id
int(10)
否
收藏者id
外键
article_id
int(10)
否
被收藏帖子id
外键
表4-7管理员信息表
名称
类型
是否可为空
说明
备注
admin_id
int(10)
否
管理员id
主键、自动递增
admin_name
int(10)
否
管理员账号
password
int(10)
否
管理员密码
creat_time
timestamp
否
创建时间
5
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 SSM 考研 资料 分享 论坛 设计 实现