基于校园网的实名认证校园BBS系统的毕业设计.docx
- 文档编号:30441620
- 上传时间:2023-08-15
- 格式:DOCX
- 页数:33
- 大小:774.97KB
基于校园网的实名认证校园BBS系统的毕业设计.docx
《基于校园网的实名认证校园BBS系统的毕业设计.docx》由会员分享,可在线阅读,更多相关《基于校园网的实名认证校园BBS系统的毕业设计.docx(33页珍藏版)》请在冰豆网上搜索。
基于校园网的实名认证校园BBS系统的毕业设计
第一章系统概述
1.1课题背景
随着计算机技术的飞速发展,现在社会各方面的信息化越来越高,各个高校的校园网发展也越来越快,作为校园网中的一个重要应用,BBS(BulletinBoardSystem)系统在最近几年的时间里发展迅速,现在已经成为Internet上不可或缺的主要服务之一,作为一个有多人参加的讨论系统,网络安全的问题不得不考虑,而目前为止,需要实名认证的BBS系统在Internet上还没有发现,所以现在开发一个有安全保障的BBS系统时机已经成熟。
随着校园网的繁荣,校园BBS系统已经成为了BBS家族中重要的组成部分之一。
由于校园的特殊性,校园BBS论坛的主要功能从同学之间交流学习、相互讨论等,逐渐演变成同学获取外界信息、联络情感的主要集中平台,所以说校园BBS系统已经开始影响着学生的思想和行为,也就是说为了广大学生能够有个更好的学习环境,和同学之间有个良好的交流氛围,对校园BBS系统进行实名认证已经迫在眉睫,这样就可以更好的监管校园BBS系统,控制不良信息的传播,给校园的广大学生一个更好的学习条件。
所以,基于上述的考虑,本人运用了基于JSP技术开发了实名认证的校园BBS系统,该系统具有操作简单,运行高效等特点。
虽然本系统现阶段只是实现了BBS系统的基本功能,但是已经具有了用户实名注册与登陆、文章发布与回复、管理员后台管理等功能,这样在一定程度上也限制了不良信息在校园BBS论坛中的传播。
1.2研究意义
随着计算机的飞速发展和普及,BBS的活动将会进一步高涨,这种增长也带动了用户群数量的增长,继而引发了网络安全问题。
由于BBS系统具有传播信息容量大,可共享资源,及形态多样和迅速方便等特点,已经发展成为了新的传播媒体及网络交互平台。
正如上述所诉,作为BBS系统的一部分,校园BBS系统同样具有上述特点,又因为校园作为一个特殊的场所,确保学生接触的信息可靠安全已经成为现代教育系统不可忽略的一点,该系统的开发与研究,对于学校的道德文明建设及构建和谐校园具有重要的意义。
所以说实名认证的校园BBS系统可以有效地抑制不良信息在校园的传播,对于在学生周围构建良好的社交氛围和讨论交流的环境起到的重要的作用。
1.3系统中涉及的技术
1.3.1JSP技术
JSP是javaserverpage的简称,是由SunMicrosystems公司倡导以及许多公司参与在一起建立的一种动态网页技术,他实现了Html语法中的Java[1]。
JSP技术是用JAVA语言作为脚本语言,JSP网页为整个服务器端的JAVA库单元提供一个接口来服务于HTTP的应用程序。
它使用了Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑,网页还能通过tags和scriptlets访问存在于服务端资源的应用逻辑。
JSP技术将网页逻辑与网页设计的显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易[1]。
1.3.2MyEclipse的介绍
MyEclipse是一个开放的源代码,是基于Java可扩张的开发平台,多数人都是将MyEclipse作为Java集成开发环境使用[2]。
MyEclipse为MyEclipse提供一个大量私有和开源Java工具的集合,这解决了各种开源工具不一致的缺点,并且MyEclipse是一个相当优秀的用于开发Java、J2EE的Eclipse插件集合,MyEclipse的功能比较齐全,支持也比较广泛,尤其是对各种开源产品的支持[2]。
图1-1MyEclipse界面
图1-2Myeclipse操作界面
1.3.3数据库的选择
数据库是数据管理的最新技术,是计算机科学的重要分支。
从小型单项事务处理系统到大型信息系统,从联机事务处理到联机分析处理等,越来越多的应用领域采用数据库技术来存储和处理信息资源[1]。
到目前为止,国内外使用最多的数据库有Oracle,SqlServer,Access,MySQL等。
SQL(StructuredQueryLanguage),即结构化查询语言,是关系数据库的标准语言,SQL是一个通用的、功能极强的关系数据库语言。
其功能并不仅仅是查询。
当前,几乎所有的关系数据管理软件都支持SQL。
MySQL是一个小、中型的数据库管理系统,与其他的数据库有着很好的接口,具有功能强大、使用方便等特点[4]。
通过MySQL工具,用户可以很方便的使用和管理数据库,对数据库可以实施各类操作,如创建和编辑数据表、使用各种查询工具进行查询工作[1]。
与其他的数据库管理系统相比,MySQL具有以下优点:
存储文件单一、可以处理多种数据信息(比如文本文件和其他数据库文件)、支持长文件名,可以在文件名内加空格,是文件更加便于理解和查找、使用简单,用户无需了解编程语言,就可以轻松地设计开发数据库程序[4]。
第二章可行性研究
2.1可行性分析
可行性分析的目的是使新系统以最小的开发成本取得最佳的经济效益,通过前期的初步调查和系统目标分析,对即将要开发的实名认证的校园BBS系统从技术、经济和管理上进行是否可行的分析与研究,这样既能保证资源的合理利用,也可以避免在日常的开发工作中因为失误而造成的种种浪费现象。
2.1.1技术可行性
在技术方面,本系统的开发语言是基于JSP的Java语言,由于Java语言是比较常用的语言,所以在日常的开发中可以减少不必要的浪费。
在开发系统的初期阶段,由于自身在知识和技术上的欠缺,在日常的工作中遇到了一些的困难和麻烦,但是通过与同学的交流和自身对已学知识的回顾,在指导老师的细心指导下,以及翻阅了相关的资料,才使得本系统能够顺利的开发出来。
在系统开发的后期,通过这一段时间的实践和操作,对本系统的一些细节和不完善的地方进行了改进,使得该系统更加的完善和更方便的使用。
2.1.2经济可行性
在经济方面,由于本系统的功能比较简单且规模较小,所以不需要投入大量的资金,而且本系统具有一定的实用性,这在一方面也改善了本系统的使用方法在人力和财力上的消耗。
基于上述的特点,本系统能够做到在资源利用上的合理节约及合理利用,一经使用便可获得良好的收益成效。
2.1.3管理可行性
在管理方面,在没有使用实名认证的校园BBS系统,需要大量的人力监管和管理校园BBS系统,及时处理不良信息的发布,并且效率较低且准确性不高。
在设计此系统后,可以对校园BBS系统进行及时方便的管理,不良信息的处理可以得到有效地抑制,这在管理方面节约了大量的人力和财力。
2.2数据字典
数据字典是系统中各类数据描述的集合,是进行详细的数据收集和数据分析所获得的主要成果。
数据字典在数据库中占用很重要的地位[5]。
2.2.1数据存储
数据存储是数据结构停留或保存的地方,也是数据流的来源和去向之一。
它可以是手工文档或手工凭单,也可以是计算机文档[5]。
对数据存储的描述通常包括以下内容:
数据存储描述={数据存储名,说明,编号,输入的数据流,输出的数据流,
组成:
{数据结构},数据量,存取频度,存取方式}[5]
名字:
用户信息表
描述:
记录用户的基本信息
编号:
A1
组成:
用户名,密码,真实姓名,性别,电话,头像
名字:
帖子回复表
描述:
记录帖子的回复信息
编号:
A2
组成:
帖子标题,回复时间,回复内容,用户ID,主题ID
名字:
帖子主题表
描述:
记录帖子主题的信息
编号:
A3
组成:
帖子主题名,主题内容,时间,用户ID,版块ID
名字:
版块表
描述:
记录版块的相关信息
编号:
A4
组成:
版块名,相关介绍
名字:
真实姓名表
描述:
记录用户的真实信息
编号:
A5
组成:
真实姓名,身份证号
2.2.2数据处理
1.用户注册登陆模块
表2-1用户注册登陆模块
模块名:
用户注册登陆模块
模块标识:
U1
其中涉及到的基本功能一下四点:
1用户登录功能:
用户可以通过用户名与密码登陆本系统。
2用户注册功能:
游客可以通过注册成为系统用户。
3用户退出功能:
用户退出后,自动变成游客,游客的权限只能浏览帖子。
2.用户信息模块
表2-2用户信息模块
模块名:
用户信息模块
模块标识:
U2
该模块主要完成用户对个人基本信息的管理,通过我的信息,用户对个人信息进行管理。
其中涉及到的基本功能有以下几种:
1修改个人信息。
2更换个人头像。
3.文章发布模块
表2-3文章发布模块
模块名称:
文章发布模块
模块标识:
U3
该模块主要完成用户发布文章的各种功能。
其中涉及到的基本操作有以下几种:
1发布文章:
用户可以通过此模块发布文章。
2回复文章:
注册用户可以通过此模块回复任何已存在的话题。
4.版块管理模块
表2-4版块管理模块
模块名:
版块管理模块
模块标识:
U5
论坛管理员可以通过后台管理系统控制论坛的版块,管理员可以完成下列功能:
添加论坛版块、管理论坛版块、管理论坛管理员等操作。
第三章概要设计
3.1系统设计
系统设计的基本工作应该自顶向下地进行。
首先设计总体结构,然后再逐层深入,直至进行每一个模块的设计。
总体设计主要是指在系统分析的基础上,对整个系统的划分(子系统)、机器设备(包括软、硬设备)的配置、数据的存储规律以及整个系统实现规划等方面进行合理的安排[9]。
该系统在整体功能模块如图所示:
图3-1系统框架图
3.2实名认证过程
本系统的实名认证过程主要集中在用户的注册和管理员对帖子的管理上,一方面,在用户注册时,用户在填写个人信息时,其中的用户名不可重复,真实姓名必须有效,而真实姓名检测是否有效是根据数据库中t_name表,该表模拟的是记录个人信息(如真实姓名、身份证号)的表,这样就可以通过检测该表来完成用户在注册时的实名认证,如果上述信息有其中一项不合法,都会提示相关的错误信息,方便用户发现错误;另一个方面,管理员对帖子的管理上,管理员可以删除某用户发布的非法帖子,而用户则不能删除个人发布的帖子。
管理员在删除非法帖子后,该帖子的相关信息(比如发帖人ID、发帖时间、帖子内容等)仍然保存在数据库中,这样在一定程度上也保障了论坛的和谐气氛,以及发现和删除非法帖子后能够及时做出后期处理。
1)实名认证的校园BBS框架图:
图3-2实名认证系统框架图
2)各模块的功能如下:
以下主要说明用户注册登陆模块、帖子发布与删除模块,其中在用户的注册和文章的删除过程中,体现了本系统实名认证的特点,即用户在注册过程中必须填写个人真实姓名,且必须有效;在帖子删除过程中,用户无法删除个人所发布的帖子,管理员在删除帖子后,所删除帖子的相关信息还会保留在数据库中。
1.用户注册登陆模块:
要完成论坛的各项操作,用户必须登陆论坛系统,用户登陆论坛系统要有论坛账号。
如果命令是登录,则使用JDBC连接数据库,取得用户输入的帐号和密码并查询数据库,将得出的结果和用户输入的信息做比较。
如果用户需要注册账号,点击注册,用户填写信息后,将检测用户填写的真实姓名是否有效,如果账号允许注册且真实姓名有效,则完成账号的注册,将信息写入到数据库中,如果账号已经存在,则返回错误信息,告诉用户该账号已经存在,请用户重新输入,并完成注册,进程结束。
a.用户注册流程图如下图所示:
图3-3用户注册流程图
b.注册实名认证流程图如下图所示:
图3-4实名认证过程
c.用户登录流程图如下图所示:
图3-5用户登录流程图
2.帖子发布模块:
在没有登陆本系统时,游客只有浏览帖子的权限,用户登陆系统后,可以查看其他所有用户发的帖子,并可以发布自己的帖子,也可响应回复其他用户和自己发表的话题。
a.帖子发布模块流程图如下图所示:
图3-6用户发帖回帖流程图
b.管理员删除帖子模块流程图如下图所示:
图3-7管理员删除帖子流程图
3.3数据结构设计
3.3.1实体-属性图设计
以下为进行需求分析时制作的实体—属性图:
图3-7用户与帖子实体-属性图
3.3.2各实体之间的E-R图
图3-7系统ER图
3.3.3数据表设计
在做系统需求分析时,根据系统的需要以及E—R图对数据进行分析制作了数据表。
以下即为数据库的六张表:
表3-1t_user用户信息表
字段名
类型
长度
是否允许为空
id
int
4
否
loginname
varchar
50
否
loginpw
varchar
50
否
name
varchar
50
否
sex
varchar
2
是
idcard
varchar
50
否
address
varchar
20
是
tel
varchar
50
是
varchar
50
是
varchar
50
是
表3-2t_huifu帖子回复表
字段名
类型
长度
是否允许为空
id
int
4
否
title
varchar
20
否
comtetn
varchar
50
否
shijian
varchar
50
否
user_id
int
4
否
zhuti_id
int
4
否
表3-3t_zhuti帖子主题表
字段名
类型
长度
是否允许为空
id
int
4
否
title
varchar
50
否
contetn
varchar
50
否
fujian
varchar
50
否
fuyuanshiming
varchar
50
否
Shijian
varchar
50
否
user_id
int
4
否
catelog_id
int
4
否
表3-4t_admin管理员表
字段名
类型
长度
是否允许为空
user_id
int
4
否
user_name
varchar
50
是
user_pw
varchar
50
是
表3-5t_catelog论坛类别表
字段名
类型
长度
是否允许为空
id
int
4
否
name
varchar
50
是
jieshao
varchar
500
否
表3-6t_name论坛类别表
字段名
类型
长度
是否允许为空
id
int
11
否
name
varchar
50
是
idcard
varchar
20
是
第四章详细设计
4.1系统结构与程序的关系
表4-1各项功能需求模块的实现同各块程序的分配关系
功能模块
相关程序
注册登陆
userReg.jsp;login.jsp;loginSuccess.jsp;default.jsp;userinfo.jsp
账户信息
userMana.jsp;userPw.jsp;lutanGuanliyuanAdd.jsp;lutanGuanliyuanMana.jsp
文章发布
zhutiADD.jsp;zhutiDetail.jsp;huifuAdd.jsp
版块管理
catelogAll.jsp;catelogDetail.jsp;top.jsp;down.jsp
信息管理
Left.jsp;adminAdd.jsp;adminMana.jsp;sysPro.jsp
系统详细运行流程图:
图4-1系统详细运行流程图
4.2主要功能以及界面的实现
当今社会随着科技与生活水平的提高,人们的审美观也随之增高,追求简约易懂、通用清楚的审美。
在计算机技术日益发达的今天,各类软件界面设计的风格也随着人们的审美观的改变而改变。
正是遵循着这个原则,本系统界面的设计具有灵活性、人性性、简易性、语言通用化等特点。
4.2.1用户注册登录模块
1)用户登陆页面
该部分主要完成用户的登录功能,可以通过登陆身份来选择普通用户或是论坛管理员,通过查询数据库验证信息正确后,即可登录。
图4.2用户登陆页面
这个界面是登陆界面,即通过用户输入用户名ID与密码登陆论坛系统。
主要代码:
functioncheck1()
{
if(document.ThisForm.userName.value=="")
{alert("请输入用户名");
document.ThisForm.userName.focus();
returnfalse;
}
if(document.ThisForm.userPw.value=="")
{alert("请输入密码");
document.ThisForm.userPw.focus();
returnfalse;
}}
functioncallback(data)
{document.getElementById("indicator").style.display="none";
if(data=="no")
{alert("用户名或密码错误");
}
if(data=="yes")
{alert("通过验证,系统登录成功");
}
}
上面代码实现用户登陆界面,对用户信息进行验证,如果用户名和密码没有错误,则进入论坛系统,可以拥有注册用户所有的权限。
否则提示错误信息。
2)注册页面
该部分主要完成用户的注册功能,其中用户名不可重复,且姓名有效,才能够完成注册操作,如果上述信息有一项无效,则无法完成注册操作。
主要代码:
functioncloseOpen()
{window.returnValue=false;
window.close();
}
functioncheck1()
{if(document.form1.loginname.value=="")
{alert("请输入用户名");
returnfalse;
}
if(document.form1.loginpw.value=="")
{alert("请输入密码");
returnfalse;
}
document.form1.submit();
}
functionup()
{pop.setContent("contentUrl","<%=path%>/upload/upload.jsp");
pop.setContent("title","文件上传");
pop.build();
pop.show();
}
publicStringuserReg()
{if(null==tnameDAO.findByUserName(name)||tnameDAO.findByUserName(name).size==0)
{Maprequest=(Map)ServletActionContext.getContext().get("request");
request.put("msg","姓名无效,请重新注册");
}Maprequest=(Map)ServletActionContext.getContext().get("request");
request.put("msg","用户名已存在");
}else{
TUseruser=newTUser();
user.setLoginname(loginname);
user.setLoginpw(loginpw);
user.setName(name);
user.setSex(sex);
user.setAge(age);
user.setAddress(address);
user.setTel(tel);
user.setEmail(email);
user.setQq(qq);
user.setType
(1);
user.setFujian(fujian);
user.setDel("no");
userDAO.save(user);
Maprequest=(Map)ServletActionContext.getContext().get("request");
request.put("msg","注册成功,请登录");
}
return"msg";
}
上面代码实现对用户信息的验证,提示新用户需要注意的问题,帮助新用户完成注册,这样就使注册功能更加的完善与人性化。
4.2.2账户信息模块
1)主题显示:
2)主要代码:
functionzhutiAdd(catelogId)
{test="${sessionScope.user==null}">
alert("请先登录");
test="${sessionScope.user!
=null}">
pop.setContent("contentUrl",url);
pop.setContent("title","发新帖");
pop.build();
pop.show();
}
functioncheck()
{if(document.formAdd.name.value=="")
{alert("请输入板块名称");
returnfalse;
}
document.formAdd.submit();
}
functioncatelogDel(id)
{if(confirm('您确定删除吗?
'))
{
window.location.href="<%=path%>/catelogDel.action?
id="+id;
}
}
functioncatelogAdd()
{varurl="<%=path%>/admin/catelog/catelogAdd.jsp";
window.location.href=url;
}
本页面实现对文章的分页显示功能,验证页面,对各个版块的主题进行显示和处理,可以提高用户的浏览速度,结构更整洁。
4.2.3帖子发布模块
1)帖子发表:
2)部分代码:
publicStringzhutiAdd()
{TZhutizhuti=newTZhuti();
zhuti.setTitle(title);
zhuti.setContent(content);
zhuti.setFujian(fujian);
zhuti.setFujianYuanshiming(fujianYuanshiming);
zhuti.setShijian(newSimpleDateFormat("yyyy-MM-dd").format(newDate()));
zhuti.setUserId(userId);
zhuti.setCatelogId(catelogId);
zhuti.set
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 校园网 实名 认证 校园 BBS 系统 毕业设计
![提示](https://static.bdocx.com/images/bang_tan.gif)