资源描述
精品论文基于 MVC 模式的校园 BBS 系统的设计与实现汤磊 河海大学商学院,江苏南京(210098) E-mail:angletang559摘要::近些年来,随着校园网建设的发展,大学校园网 BBS 也越来越旺.本文对校园 BBS系统需求、功能模块与数据库设计、界面设计等方面进行了详尽的分析,构建了一个完整的BBS 系统结构,并对实现系统的关键技术进行了介绍,并在 MVC 设计模式下实现了整个系 统。本系统成功地与校园网连接,对师生交流起到了良好的推动作用。 关键字:BBS;MVC;系统分析;系统设计中图分类号:TP393.181. 引言BBS 是 Bulletin Board System 的简称,意即电子公告牌。BBS 是 Internet 上最知名的服 务之一,提供了 Internet 上信息交流的强有力手段,是具有强大实时交互功能的信息交流平 台。通过 BBS,用户可以在 BBS 某个讨论区上提出问题,发表自己的见解,也可回复他人 的问题,还可以针对某个话题和他人展开讨论等等。校园 BBS 作为学校师生相互交流的信 息平台,近年来原来越火,在 BBS 上,各位站友能及时了解校内外的信息发布,进行教学 和科学研究问题的探索、讨论,艺术文化体育的欣赏、进行网友间的交流等等。将 BBS 融 入教学活动中,将有利于培养学习者的创新能力与团体合作精神,促进信息化教育发展。2. BBS 系统的功能需求分析一个典型的网上论坛 BBS 系统一般都应提供诸如会员管理、论坛分类主题管理、论坛 文章管理、论坛公告管理等功能1,同时也应该为论坛管理的人员,例如:版主、网页维护 人员提供对应后台管理的功能,包括删除一些文章、发布论坛公告等。本 BBS 系统从功能 上分为以下八个主要模块:(1)师生管理系统:该 BBS 系统是实名制,所以需要有师生的真实信息才能注册成功。 河海大学每年都有新生入学,老生毕业,老师调职等人事变动,开发该管理系统是为了方便 地管理会员的信息,为实名注册服务。(2)会员管理系统:本 BBS 只有本学校的师生,才能注册,注册采取实名制。本 BBS系统管理员对注册用户有删除,屏蔽的功能。(3)新闻管理系统:本 BBS 从本质上讲都是新闻管理系统,用户注册后发布帖子,回 复帖子都为新闻。本站管理员可以对会员发布的新闻进行删除操作,屏蔽等操作。(4)计数系统:统计网站的流量,包括在线人数,日访问量,月访问量,总访问量。(5)日志系统:为了确保系统的安全,以及事后可以查明问题发生在什么地方,凡是 对数据库做操作的地方,都要记录到日志表中。(6)权限管理:对注册用户的权限进行管理,根据用户发布的帖子数量,确定其能够 对本 BBS 享有的特殊权力。(7)论坛设置管理:对论坛的风格,论坛数据备份和还原,脏话过滤进行管理。(8)网站的安全处理:对用户的信息保密,以及对网站的信息安全进行特殊的处理。- 8 -3. BBS 系统的设计3.1 总体设计此 BBS 系统由三部分组成,按照浏览用户的权限划分,可分为四部分。(1)匿名用户访问的页面:供未注册的用户浏览,这类用户没有发帖和回复帖子的权 限,只有浏览的权限。(2)注册用户访问的页面:这类用户访问的页面和匿名用户访问的页面是相同的,只 是他们多了发帖和回复帖子的权限。(3)各版主访问的页面:这类用户可以对普通用户发布的帖子进行管理,他们登陆后 的页面与以上两类用户访问的页面略有不同,显示的信息是各版块发布的帖子以及相关信 息,并具有删除操作。(4)BBS 超级管理员访问的页面:该类用户访问的页面,包含了所有注册用户的信息, 以及他们发布的帖子,该用户可以封锁某些不法用户,甚至删除某些用户的信息。对用户发 布的帖子也可以进行管理。根据用户访问的权限不同,建立不同用户的活动关系图,如前台用户的活动关系图如 下图 1 所示:图 1 BBS 前台用户活动关系图3.2.主要模块详细设计3.2.1. 师生管理系统该系统为实名制服务,显示了全校师生的基本信息,以及 BBS 的使用情况。该子系 统的使用者是 BBS 的超级管理员。管理系统的首页列出所有的信息,显示全校师生的姓名, 性别,年龄,工号/学号,身份证号等常见信息。另外显示,改注册用户发帖数量,已经注册 帐号的次数。所有师生信息分页显示,顶上有查询功能,按照名字,学号,工号等信息查询。 对于每年人员的变动,由于人数较多,采取直接读取源数据文件智能添加的功能。如,从人 事处拿到数据文件,编程读取改文件,自动存入数据库。方便实现管理功能。处理的流程如下图 2 所示:图 2 添加师生的流程图点击相应的链接进入师生管理系统,列出所有成员的列表,点击新增人员,弹出窗口选择数据文件所在,读取文件,读取成功后直接显示在页面中。如读取失败,提示失败。3.2.2.新闻管理系统 新闻管理主要由帖子管理系统,本站公告管理,友情链接管理,版块管理。(1)帖子管理系统:点击某个链接进入某一个版块,列出该版块下的所有主题。点击主题显示关于该主题的相关信息。点击发布帖子可以发布新的帖子。在详细页面,有回复链 接,同样有发布新贴的链接,而且回复可以针对某个用户回复。由于本站是高校 BBS,出 于安全性和文明性的考虑,发布帖子时,不提供文件或是图片的无限上传功能,但是可以引 用图片或文件的地址,以达到同样的效果。但是为了方便资源共享,还是提供上传的功能, 但是只能上传一个文件。而且大小和扩展名都有限制。帖子发布以后,用户就不能再修改, 版主对不法帖子具有删除功能。用户可以对自己感兴趣的帖子加入到收藏列表中,以方便自 己查询,进入控制面板后显示有新回复的帖子。收藏主题,看到的帖子可以收藏进来,省去 再次查找的时间。处理流程如下图 3 所示:图 3 帖子访问流程图图 4 权限处理流程图(2)本站公告:由系统超级管理员发布一些 BBS 的一些公告信息。它将显示系统的主界面供用户查看。(3)友情链接管理:添加一些链接到其他网站的超链接以供用户快速访问。(4)版块管理:管理可以对某个大版块或者小版块进行相关的维护操作。3.2.3.权限管理 对网站所有注册用户的访问和操作权限进行管理,此处的访问权限是由管理员设置的,并不是登陆后自动判断的。这个地方的权限管理主要是处理用户想当版主的申请,一般用户如果想当版主,需要提出申请,自动判断依据,如果提出者的等级还没到本科生,提出的请 求,将被系统自动驳回,如果到了本科生的级别,才能进入提交申请的详细页面,填写相关 的申请信息,用户提交申请后,通过管理员的审核,就升级为版主,享有一定的管理权,处 理流程如上图 4 所示。3.2.4.论坛设置管理 论坛设置管理主要是网站的风格,论坛数据备份和还原,批量删除,脏话过滤等进行管理。(1)网站风格:包括论坛的欢迎页面,横幅图片,样式。实现原理,针对 CSS 样式进 行管理。更换风格的目的是为了迎合现实世界中的节日,以及一些突发性的特殊事件,风格 迎合这些事情发生而改变能体现出一个网站的活力。由于网站的同时只能应用一个样式,所 以这里不需要存储数据。(2)论坛数据备份和还原,批量删除:为了防止数据丢失,要定期地对数据库进行备 份,当数据遭遇黑客的攻击而丢失的时候,就可以利用备份的数据,还原。我们并不排除需 要一次性删除某一个版面甚至全部数据的可能性。批量删除为的就是实现这样的功能。(3)脏话过滤:除了一般的脏话,还要防止一些敏感的政治话题,如宣传等。 用户提交信息的同时,检查提交的信息中是否包含这些敏感内容,如果有则,提交不成功, 并提示用户原因。脏话存库,管理员可以增加或修改脏话。3.3.数据库设计实现一个专业的系统,必然会涉及到后台数据库对系统数据信息的保存和维护,考虑到 本 BBS 系统对用户并行处理数据库中数据的需求,系统采用了 MySQL 作为后台数据库, 涉及的主要数据库表有:论坛会员基本信息表:存放论坛会员所有的基本信息,如表 1 所示。由于篇幅限制, 后面表将不列出具体字段。表 1 论坛会员基本信息表编号字段名类型标识外键默认值非空备注1TUserIDIntege(r 自增长)帐号标识2TPersonIDVarchar(50)身份证号 码3TUserNameVarchar(50)帐号名4TUserPwdvarchar(500)帐号密码5TPassKeyinteger密码密钥6TUserSexVarchar(10)性别7TUserPicvarchar(500)用户头像8TUserLevelInteger用户等级编号9TUserBirthdatetime用户出生日期10TUserBirthDisvarchar(3)1是否显示生日11TUserFromVarchar(50)来源地12TUserMailVarchar(50)邮箱13TUserQuestionVarchar(50)用户安全提问,用于 找回密码14TUserAnswerVarchar(50)安全提问答案15TUserIntroduceVarchar(500)自我介绍16TUserSignVarchar(500)个性签名17TUserRegTimedatetime注册时间18TUserStatusInteger1用户状态19TOnLineInteger1在线状态20TSystemPowerIDInteger1所处系统组 ID21TCreditInteger0积分论坛版块基本信息表:存放论坛不同版块的分类信息。论坛主题文章基本信息表:存放论坛会员所发表文章的基本信息。论坛回复文章信息表:存放论坛会员回复文章的基本信息。 表与表之间的关系是主表与子表之间确立的约束,用于实现表与表之间的数据参照完整性,这些关系的建立可以避免由于误操作导致数据库的崩溃,保证各表之间数据的统一性。 例如:文章所属的讨论区类别一定是与论坛讨论区分类表相关的,如果讨论区分类表中有关 分类的信息改变时,文章所属类别的信息也应该进行相应的更新修改。以用户为中心各表之 间的对应关系如下图 5 所示:图 5 以用户为中心各表之间的对应关系图3.4 界面设计整个 BBS 系统的界面风格以浅绿色为基调,用户输入用户名,密码及验证码以后,可 以进入到主界面,如下图 6 所示:页面的左侧显示导航树,可以进入不同的版块进行讨论, 中间部分显示最新发布的帖子和学校的最新讲座信息,右面部分显示了用户最新回复的内容 和热门版块的排行榜。图 6 BBS 系统主界面4. BBS 系统的实现4.1. MVC 设计模式图 7 MVC 设计模式图 8 Ajax 技术的 Web 应用模型本 BBS 系统的实现使用了 J2EE 架构的核心 MVC 思想,MVC 是 Model-View-Controller 的简称,即把一个应用的输入、处理、输出流程按照 Modal、View、Controller 的方式进行 分离、这样一个应用被分成模型、试图和控制器三部分。模型层表示数据和业务逻辑,视图 层提供数据显示和用户输入,控制层负责派遣用户请求和控制流程。图 7 显示了这几个模块 各自功能以及他们之间的相互关系2:业务逻辑和表示蹭分离,同一模型可以被不同的试图 重用,大大提高了代码的可重用性。此外,控制器提高了应用程序的灵活性和可配置性。在 此系统中,前台用户访问的 web 页面(视图层)通过 JSP 实现,同时在 JSP 嵌入了 JavaScript, 并引入了 XMLHttpRequest 对象以实现用户与服务器的动态交互;在控制层通过 Servlet 实现 页面的重定向,不同的用户请求跳转到不同地方,在模型层,实现了对数据库表的封装,数 据库中每一张表都对应一个 JavaBean 和一个与该 JavaBean 相关的 java 类以实现相关的业务 逻辑3,通过以上三个方面,很好的实现了 MVC 的思想。使得代码显得很有条理、易于维 护。4.2.系统实现的关键技术4.2.1.系统整体界面实现 ExtJS 风格ExtJS 是一个 Ajax 框架,是一个用 javascript 写的,用于在客户端创建丰富多彩的 web 应用程序界面。ExtJS 可以用来开发 RIA 也即富客户端的 AJAX 应用,也可以把 ExtJS 用 在.Net、Java、Php 等各种开发语言开发的应用中。在此的 BBS 系统中,大量的运用了 ExtJS 风格,比如,用户的发帖,回复贴,帖子的搜索等等都采用了 ExtJS 的动态效果,大家增加 了用户的感官体验,这在目前的 BBS 系统中还是很少见的,是本系统的一个亮点所在。4.2.2.使用 Ajax 实现动态交互Ajax 是异步 JavaScript 和 XML(Asynchronous JavaScript and XML)的英文缩写。确切地 说,Ajax 不是一种技术,而是将一系列相关技术组合应用的技巧,这些技术包括:(1)使用 XMLHttpRequest 进行异步数据接收。在系统中,登陆用户需要和服务器不断的交互,通过使用 XMLHttpRequest 进行异步数据接收使得再不刷新整个 web 页面的基础上就 可以实现交互,服务器只需要将用户需要的数据显示给用户,这样大大提到了用户访问的速 度。(2)使用 JavaScript 将它们绑定在一起。引入 Ajax 技术的 Web 应用模型如图 8 所示4。 Ajax 通过 JavaScript 和 XMLHttpRequest 对象在 Web 表单与服务器之间建立了一个中间层, 用户的请求就可以通过中间层以异步的方式被发送到服务器端,这样可以使用户的操作不被 中断的情况下提交请求,A-jax 技术的引入可以带给 Web 应用更好的交互性能,而且运用恰当 可以提高程序的效率,节约网络资源。4.2.3.系统的安全性 论坛的安全隐患主要来自以下两个方面:(1)所有用户要提交数据到服务器的地方。(2)用户和管理员的密码泄漏。第一种情况主要是防止 SQL 注入,解决办法,编写相应的函数过滤之。用户和管理员的密码都用 MD5 加密算法得到字符后,再处理存库。5. 小结本文从 BBS 的系统功能特性出发,对校园 BBS 系统进行了详细的需求分析、设计。使 用 J2EE 的 MVC 思想及 j2EE 的相关技术实现了该系统,并对系统实现的一些关键技术进行 了分析。此 BBS 系统已经在我校正式运行。参考文献1 何海燕.基于知识管理的校园 BBS 系统研究与实现D.吉林大学.2005 2 刘斌.精通 Java Web 整合开发M.电子工业出版社.2007.3 田雪松.J2EE 网络编程标准教程M.上海科学普及出版社.2003.4 边小凡,郭恒.Ajax 引入 WEB 开发对 J2EE-MVC 架构的调整J.2008,1(1):45-47.Designing and Implementation of Campus BBS SystemBased On MVCTang LeiBusiness School of Hohai University, Nanjing (210098)AbstractWith the development of campus network construction, college BBS is becoming more and morepopular,This paper makes a detail analysis on the system requirement, functional module,database design and the face design about college BBS .Make a full construction of college BBS. Describe the key technologies of realization and realize the system under the MVC modal.The BBS has been joined in our school intenet and it is useful to the development of the communication between teachers and students.Key words:BBS,MVC; system analysis; system design作者简介:汤磊(1984-),男,汉族,河海大学管理科学与工程专业硕士研究生,从事信息管理、电子 商务、web 应用开发等研究.
展开阅读全文