收藏 分享(赏)

BBS小型论坛系统——赵子源.doc

上传人:weiwoduzun 文档编号:5634605 上传时间:2019-03-10 格式:DOC 页数:25 大小:2.81MB
下载 相关 举报
BBS小型论坛系统——赵子源.doc_第1页
第1页 / 共25页
BBS小型论坛系统——赵子源.doc_第2页
第2页 / 共25页
BBS小型论坛系统——赵子源.doc_第3页
第3页 / 共25页
BBS小型论坛系统——赵子源.doc_第4页
第4页 / 共25页
BBS小型论坛系统——赵子源.doc_第5页
第5页 / 共25页
点击查看更多>>
资源描述

1、BBS 小型论坛系统课程综合实验报告课程名称 动态网页设计与网站建设 课题名称 BBS 小型论坛 专 业 计算机应用技术 姓 名 赵子源 班 级 文专计 1211 学 号 201290609126 指导教师 姜远明 2014 年 6 月 18 日BBS 小型论坛系统摘 要当今,随着网络的迅速发展,制作 BBS 论坛的技术和方法也越来越多。本文主要讲述利用 Java Web 的相关技术来制作一个简单论坛。通过实际制作,实现了 BBS 论坛系统应有的一些基本功能,如:登陆功能,通过在登陆界面输入用户名和密码来实现会员的登录,用户只有登录成功了才能进行一系列的操作;注册功能,用户首次登陆,需要先注册

2、,注册时需要用户填写个人信息;找回密码功能,当用户忘记密码时可以通过此功能找回密码,找回密码时需要用户记得注册时填写的个人信息。除此之外,还有浏览帖子、发表帖子、回复贴子以及删除帖子等等功能。制作本论坛所用的前台软件是 MyEclipse,后台数据库是 MySQL,运行时所用的服务器是 Tomcat,综合运用了 HTML、JSP 以及 JavaScript 语言。关键词:BBS 论坛; JSP 技术; 登陆;注册; 找回密码;浏览贴子; 发表帖子; 回复贴子; 删除帖子BBS 小型论坛系统目 录一、概论(1)(一) 、BBS 历史背景(1)(二) 、BBS 制作目的(1)(三) 、BBS 制作

3、的可行性(1)(四) 、BBS 制作的局限性(2)二、相关软件、技术介绍及开发环境的选择 (2)(一) 、开发环境介绍(2)(二) 、JDK1.6 的简单介绍(3)(三) 、MyEclipse6.5 软件的简单介绍(3)(四) 、MySQL 数据库的简单介绍(3)(五) 、JSP(Java Server Pages) 网页设计技术介绍 (3)(六) 、Tomcat5.5 服务器介绍 (4)三、应用需求 分析(4)(一) 、 用户登录和注册功能 (4)(二) 、 用户找回密码功能 (5)(三) 、用户帖 子的浏览 (5)1、帖子的总览(6)2、查看特定帖的详细信息(6)(四) 、用户 帖子的发布

4、/删除功能(6)1、帖子的发布(6)2、帖子的删除(7)(五) 、用户回 复他人帖子(7)(六) 、管理员对帖子的查看/发表/删除功能(8)1、管理员查看或发表帖子(8)2、管理员删除帖子(8)四、系统总体设计(8)(一) 、系 统结构设计(8)1、各个页面的功 能及示意图(8)BBS 小型论坛系统2、各个页 面之间的调用关系(9)(二) 、数据库设计 (10)1、用户信息表 (10)2、已发帖子的信息表 (10)3、已回复帖子的信息表 (11)五、系统详细设计(11)(一) 、 建立数据库及数据库表(11)(二) 、用户登录功能的实现(12)1、登陆界面的制作 (12)2、登陆功能的实现 (

5、13)(三) 、浏览主题帖子功能的实现(14)1、翻页功能的实现 (14)2、浏览帖子的实现 (16)(四) 、主题帖子详细内容页面的制作(16)(五) 、在帖子详细内容页面里实现回复功能(17)(六) 、用户发表新帖子页面的制作(18)(七) 、新用户注册功能的实现(19)(八) 、用户取回密码功能的实现(20)(九) 、用户和管理员删除帖子功能的实现(21)六、BBS 论坛的发布测试(22)参考文献 (26)BBS 小型论坛系统1(一) 、BBS 历史背景BBS 的英文全称是 Bulletin Board System,翻译为中文就是“电子公告板” 。BBS最早是用来公布股市价格等类信息的

6、,当时 BBS 连文件传输的功能都没有,而且只能在苹果计算机上运行。早期的 BBS 与一般街头和校园内的公告板性质相同,只不过是通过电脑来传播或获得消息而已。一直到个人计算机开始普及之后,有些人尝试将苹果计算机上的 BBS 转移到个人计算机上,BBS 才开始渐渐普及开来。近些年来,由于爱好者们的努力,BBS 的功能得到了很大的扩充。(二) 、BBS 制作目的BBS 论坛是一种比较好的交流平台,他能方便人们进行即时在线交流,发表各种信息,实现网络资源的共享。而且,也能促使人们敞开心扉去学习知识、追求进步,以至于能更好的利用网络资源。 (三) 、BBS 制作的可行性随着计算机软件的迅速发展,BBS

7、 的界面效果越来越美观,功能、作用和范围也得到了迅速扩大。与此同时,制作 BBS 论坛的方法和所用的软件种类也越来越多了。而在这里,我将采用基于 JSP 网页技术的方法进行简单的 BBS 论坛制作。我所用的开发软件是 MyEclipse6.5,它是一款可以做基础 Java 项目开发的工具;JDK1.6,当前进行 Java 开发的最新版本;数据库是 MySQL,它是一款当前比较流行的进行中小量数据开发的中小型数据库;服务器是 Tomcat5.5,它也是一款当前比较流行的软件,主要用于网络服务器的开发。(四) 、BBS 制作的局限性此次 BBS 论坛制作的界面效果比较粗糙,功能也不是很强大,但幸好

8、一些基本的功能都还有,比如,用户(或管理员)登陆,发表新的帖子,查看已存在的帖子,回复别人发表的帖子(也叫跟帖)以及管理员删除垃圾帖子或着垃圾的跟帖等等。但是像一些高级功能,比如,搜寻或查找帖子的功能,上传图片或文件的功能,个人空间的功能等。由于本人所学知识以及能力地限制,并没能将其实现。 二、相关软件、技术介绍及开发环境的选择三、应用需求分析作为一个 BBS 论坛,它应该具有 BBS 所有的一些基本功能,包括:用户登陆功能,用户取回密码功能,用户浏览帖子的功能以及用户发表、回复、修改和删除帖子的功能等。接下来,我将详细阐述一下这些功能。(一) 、用户登录和注册功能BBS 小型论坛系统2进入登

9、录页面后,对于第一次登陆的用户来说,首先需要注册,单击“新用户注册”按钮即可进入注册界面,注册完成后返回登录界面。然后,在对应的地方分别输入用户名和密码,点击“登录”按钮,系统即将用户名和密码发送到网络服务器上,与保存在服务器数据库中的信息进行核对。若核对正确,则进入帖子浏览的界面,若不正确,则重新返回登录界面。注册界面如下所示:图 4-1(二) 、登录功能输入正确的姓名、密码可以进入系统图 4-2BBS 小型论坛系统3(三)可以进入主界面(四) 、用户帖子的浏览当用户登录成功后便进入该页面,在该页面可以浏览他人已经发表的主题帖子,BBS 小型论坛系统4图 4-31、 帖子的总览在主题页面中主

10、要有两部分组成,一是用户的个人信息,再就是他人已经发表的主题帖子,每个帖子都包含了一些简单信息:主题、作者和时间。2、查看特定帖的详细信息如上所述,单击主题便进入该帖的详细内容页面。里面主要包含了该帖的详细内容和他人对此帖的回复,点击“我要回复”便可回复此贴。图 4-4(四) 、用户帖子的发布/修改/删除功能。1、 帖子的发布BBS 小型论坛系统5登陆成功进入主题页面后,点击“发表新的主题文章”按钮后,便可进入发表帖子的界面。在该页面中填写完信息,点击“发送新的主题”即可。图 4-52、帖子的删除在主题帖子页面中,每幅帖子的最左面都有一个 删除按钮(如图 4-3 所示) ,点击此按钮便可删除你

11、所发表的帖子。(六) 、管理员对帖子的查看/发表/删除功能1、管理员查看或发表帖子BBS 小型论坛系统6管理员查看或发表帖子与普通用户的一样。管理员可以对帖子和用户进行管理,界面如下:2、 管理员删除帖子管理员删除帖子与普通用户的区别在于,他可以删除任何人发表的贴子,另外他还有一项特权,就是可以删除任何人回复的垃圾帖子。四、系统总体设计(一) 、系统结构设计BBS 小型论坛系统7本 BBS 论坛系统共分为三大功能模块:(1) 登陆管理功能系统;(2) 注册功能系统;(3) 找回密码功能系统。登陆管理功能系统,又包括四个子模块:单纯的用户登录模块,用户发表帖子模块,用户回复他人帖子模块和用户删除

12、自己所发表的帖子模块。1、 各个页面的功能及示意图有两个页面用于基本功能的实现,被其它页面所调用:页面名称 主要功能Opendata.jsp 打开数据库链接用于实现基本功能 Convert.jsp 用于字符的转换其余的页面如下表所示:各个模块 页面名称 页面功能开始登陆的界面 Login.html 系统启动时的首页Enter.jsp 用于判断用户名和密码是否正确MainForm.jsp 登陆成功后转入该页面Discuss.jsp 浏览主题帖子的页面,在这可以查看各类帖子Person.jsp 显示个人信息的页面NewTitle.jsp 发表新的主题帖子的页面SaveNewTitle.jsp 将新

13、发表的帖子存入数据库表 Discuss 中Detail.jsp 用于显示帖子的内容及回复该帖的内容SaveRevert.jsp 将回复内容存入数据库表 Reply 中登录管理功能系统Delete.jsp 用于删除帖子Register.jsp 该界面用于新用户注册注册功能系统SaveRegister.jsp 保存新用户注册信息到数据库表 Student 中找回密码功能系统GetPassword.jsp 用于用户找回密码2、各个页面之间的调用关系各个页面之间的调用关系如下图所示:BBS 小型论坛系统8(二) 、数据库设计1、用户信息表 Student表名:Student用户信息表 Student

14、包括八个字段:即,ID(用户的标识符) 、USERNAME(用户名)、PASSWORD(用户密码) 、SEX(性别) 、AGE(年龄) 、BIRTH(生日) 、TELEPHONE(联系电话) 、EMAIL(电子邮箱)等。STUDENT 表的属性如下图所示:STUDENT 表的内容如下图所示:2、存储帖子所用的信息表 DISCUSS表名:DISCUSSBBS 小型论坛系统9信息表 DISCUSS 包括七个字段:即,NAME(发帖人的昵称) 、EMAIL(电子邮箱) 、SUBJECT(帖子的主题) 、CONTENT(帖子的内容) 、TIME(发帖的时间) 、USERNAME(用户名) 、ID(帖子

15、的标识)等。表的属性:表的内容:3、 存储回复帖子的信息表 REPLY表名:REPLY信息表 REPLY 包括五个字段:即,NAME(回帖人的昵称) 、CONTENT(回帖的内容) 、TIME(回帖的时间) 、REPLY(所回复的主贴的标识符) 、ID(回复贴的标识符)等。表的属性:表的内容:BBS 小型论坛系统10五、系统详细设计(一) 、建立数据库及数据库表建立一个数据库 Test 和三个数据库表(STUDENT、DISCUSS 和 REPLY) 。首先在 MyEclipse6.5 软件里配置 MySQL5.0,配置完成后在 MyEclipse 界面里建立名为“Test”的数据库,然后再建

16、立三个数据库表(STUDENT、DISCUSS 和 REPLY) 。创建表 student:stmt.executeUpdate(“create table student(id int not null auto_increment,“ +“username varchar(20) unique,“ +“password varchar(20) not null,“ +“sex varchar(8) not null,“+“age varchar(4) ,“+“birth varchar(20) not null,“+“telephone varchar(12),“+“email varch

17、ar(40) not null,“ +“primary key (id)“);创建表 discuss:stmt.executeUpdate(“create table discuss(name char(20) not null,“+“email char(40) not null,“+“subject char(60) not null,“+“content text not null,“+“time char(40),“+“username char(20),“+“id int not null auto_increment,primary key (id)“);创建表 reply:stm

18、t.executeUpdate(“create table reply(name char(20) not null,“+“content text not null,“+“time char(40),reply int,“+“id int not null auto_increment,“+“primary key (id)“);(二) 、用户登录功能的实现1、 登陆界面的制作(1)JavaScript标记语言判断输入的用户名和密码是否为空:/ 验证输入不为空的脚本代码 function checkForm(form) if(form.username.value = “) alert(“用

19、户名不能为空!“);form.username.focus();return false;BBS 小型论坛系统11if(form.password.value = “) alert(“密码不能为空!“);form.password.focus();return false;return true;(2)登陆界面的制作:用户名: 密码 :2、 登陆功能的实现通过 Login.html 界面传递参数 username 和 password 给 Enter.jsp 界面,然后查询数据库,判断用户名和密码是否正确。若判断正确则为用户建立一个 session,并进入了用户主界面。(三) 、浏览主题帖子功

20、能的实现1、翻页功能的实现功能的实现:首先确定每页所能容纳帖子的最大数目,在这里我设定 MaxNum=10;然后连接数据库查询帖子的总数,从而判断总的页数,即 lastPage,接着根据请求的页码 pageNO 判断出该页码是否合法,若 pageNOlastPage,即所求的页码超出了最大页数,则改正 pageNO=lastPage,然后确定要显示的第一个帖子的标识码 firstNum 和最后一个帖子的标识码 lastNum,最后连接数据库将标识码在 firstNum 和 lastNum 之间的帖子的信息查询出来。程序为:lastPage)pageNO = lastPage;firstNum

21、= (pageNO - 1) * MaxNum + 1;lastNum = pageNO * MaxNum;if (pageNO = 1)prePage = 1;elseprePage = pageNO - 1;if (pageNO = lastPage)nextPage = pageNO;elsenextPage = pageNO + 1;sql = “select * from discuss where id between “ + firstNum+ “ and “ + lastNum;rs = stm.executeQuery(sql);%页面的制作:目前页数:总页数:【第一页】【上

22、一页】【下一页】【最后一页】BBS 小型论坛系统14输入页次:2、浏览帖子的实现每幅帖子都有三部分组成:主题、作者和时间,通过上述分页功能选出了需要显示出来的帖子,下面就是将它们显示在页面上的程序:“ + subject + “);out.print(“ + name + “);out.print(“ + time + “);%(四) 、主题帖子详细内容页面的制作通过 Discuss.jsp 页面传递参数 ID,然后进行数据库查询获得帖子的详细信息,并显示的页面上。(五) 、在帖子详细内容页面里实现回复功能在 Detail.jsp 页面里实现回复功能,让用户可以在同一页面实现浏览贴子、回复帖子

23、和浏览别人回复的帖子的功能:1、 Detail.jsp 页面中的代码:此部分代码是显示该帖子的内容,并给用户提供了一个回帖按钮,点此按钮便可链接到其他页面:method=postonsubmit=“return checkForm(this);“昵称内容BBS 小型论坛系统162、 SaveRevert.jsp 页面中的代码:此页面的功能保存由Detail.jsp页面传来的回帖信息,保存次信息到Reply数据库表中:(六) 、用户发表新帖子页面的制作1、NewTitle.jsp 页面发表新的主题文章 此界面提供用户输入功能,输入完成后“发表心得主题”按钮便可提交数据给SaveNewTitle.

24、jsp 页面:姓名E-mailBBS 小型论坛系统17主题内容返回主页2、SaveNewTitle.jsp 页面用于保存由 NewTitle.jsp 页面传来的数据信息首先将传递来的数据进行转换,然后将其插入数据库 Discuss 中:BBS 小型论坛系统18(七) 、新用户注册功能的实现SaveRegister.jsp 用于保存新用户的信息,这些信息是由 Register.jsp 页面传递而来,首先判断用户名是否已被注册过了,若被注册过则提示已注册。提示信息:“+ msg + “);out.println(“);%(八) 、用户取回密码功能的实现GetPassword.jsp 页面用于取回密

25、码,给该页面传递一些用户填写的信息,将该用户注册时的对应信息与此信息进行比较,当该信息与用户注册时填写的一样时,便能取回密码,否则不能:提示信息:“+ errmsg + password + “);out.println(“); else String errmsg = “对不起,你暂时还不能取回你的密码,原因是你没能正确的填写信息!“;out.println(“提示信息:“+ errmsg + “);out.println(“);%(九) 、用户和管理员删除帖子功能的实现Delete.jsp 页面用于删除帖子,在此页面获得两个参数 id 和 replyid。其中 id为帖子的标识符,repl

26、yid 为是否是回帖,当 replyid0 时表示要删除的是回复贴,否则,当 replyid 0) /当 replyid0 时表示要删除的是回复贴if (session.getValue(“username“).equals(“FrogKing“) sql = “update reply set content=此回复已被删除!“+ “ where reply=“ + id + “ and id=“ + replyid;stm.executeUpdate(sql);response.sendRedirect(“detail.jsp?id=“ + id);BBS 小型论坛系统20 else /否

27、则,当 replyid=0 时表示要删除主帖sql = “select * from discuss where username=“+ session.getValue(“username“) + “;rs = stm.executeQuery(sql);if (rs.next()| session.getValue(“username“).equals(“FrogKing“) sql = “delete from discuss where id=“ + id;stm.executeUpdate(sql);sql = “alter table discuss drop id “;stm.e

28、xecuteUpdate(sql);sql = “alter table discuss add id int not null auto_increment primary key“;stm.executeUpdate(sql); response.sendRedirect(“discuss.jsp“);%BBS 小型论坛系统21实训心得转眼间 持续一个学期的学习已经结束了 在这期间 感受很多 所以有必要作一次心得总结。记得刚开始的时候 同学们都不是很热衷于主动参加 可是当我们真正的去实践的时候 就不知不觉的加入其中。在这期间我们经历了 jsp 论坛制作。其实只有为自己的目标付出辛勤汗水的人

29、,在成功到来之时,才会感动 才会感慨颇多地说我的付出没有白费。虽然我的实习生活并算是很成功但我确实付出了 所以我还是敢说做为一个学生我学到了许多 也得到了许多 我的学习是比较成功的。我们要做的事情 并乐意去做的更好 反之如果你表现的畏首畏尾的话 让他们看不到我们自身的能力 给他们一瓶子不满半瓶子逛荡的感觉,而且还显得那么幼稚那么的不稳重,所以就会对我们的请求不屑一顾或者随便找个借口把你打发走 而这正是我们做事情所不愿意看到的。所以当一个人拥有自信的时候一切都再不那么遥远! 只有坚持才可能成功 只有不断坚持熟练操作才能掌握技能。河水奔流不息 是因为它的坚持不懈 无论山岭阻拦 无论沙漠阻隔 终有大海容纳百川的时候;船舶斩浪劈波 是因为它的坚持 无论狂风巨浪 无论险滩暗礁 前面一定有它停靠的港湾。坚持是一个意志的体现 是一种品质;坚持是一种积极向上生活的态度 是获得成功的一种方式;坚持是一种自豪 没有勇气的人不敢坚持。 人生之路长漫漫 有许多坎坷需要我们去踏平 有许多荆棘需要我们去斩除 面对一道道学习上的难题 面对一个个需要我们克服的难关 我们要像骑士一样去战斗 永远都不要低下高傲的头颅。 我相信只要我坚持不懈就一定能取得成功

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报