BBS论坛设计毕业设计

BBS论坛设计毕业设计
BBS论坛设计毕业设计

班级XXXX

学号XXXXX 毕业论文(设计)

题目BBS论坛系统

姓名xxx

系部信息工程系

专业软件开发

指导教师XXX 职称助教

日期

江苏畜牧兽医职业技术学院毕业论文(设计)

BBS论坛系统

陈新

【摘要】当今,随着网络的迅速发展,制作BBS论坛的技术和方法也越来越多。本文主要讲述利用Java Web的相关技术来制作一个简单论坛。通过实际制作,实现了BBS论坛系统应有的一些基本功能,如:登陆功能,通过在登陆界面输入用户名和密码来实现会员的登录,用户只有登录成功了才能进行一系列的操作;注册功能,用户首次登陆,需要先注册,注册时需要用户填写个人信息。除此之外,还有浏览帖子、发表帖子、回复贴子等等功能。制作本论坛所用的前台软件是MyEclipse,后台数据库是MySQL,运行时所用的服务器是Tomcat,综合运用了HTML、JSP以及JavaScript语言。

全文先对用到的软件进行了简单的介绍,然后依次对系统的应用进行需求分析、总体设计、详细设计;最后简要介绍了系统的发布和测试。

【关键词】BBS论坛;JSP技术;登陆;注册;浏览贴子;发表帖子;回复贴子。

1 概况

当前形势下,BBS论坛种类繁多,通过BBS可随时取得国际最新的软件及信息,也可以通过BBS来和别人讨论计算机软件、硬件、Internet、多媒体、程序设计以及医学等等各种有趣的话题,更可以利用BBS来刊登一些“征友”、“廉价转让”及“公司产品”等启事。只要您拥有1台计算机、1只调制解调器和1条电话线,就能够进入这个“超时代”的领域。

1.1 BBS历史背景

BBS的英文全称是Bulletin Board System,翻译为中文就是“电子公告板”。BBS最早是用来公布股市价格等类信息的,当时BBS连文件传输的功能都没有,而且只能在苹果计算机上运行。早期的BBS与一般街头和校园内的公告板性质相同,只不过是通过电脑来传播或获得消息而已。一直到个人计算机开始普及之后,有些人尝试将苹果计算机上的BBS转移到个人计算机上,BBS 才开始渐渐普及开来。近些年来,由于爱好者们的努力,BBS的功能得到了

1

BBS论坛系统

很大的扩充。

BBS最初是为了给计算机爱好者提供一个互相交流的地方。70年代后期,计算机用户数目很少且用户之间相距很远。因此,BBS(当时全世界一共不到一百个站点)提供了一个简单方便的交流方式,用户通过BBS可以交换软件和信息。到了今天,BBS的用户才扩展到各行各业,花样非常多。

1.2 BBS制作目的

BBS论坛是一种比较好的交流平台,他能方便人们进行即时在线交流,发表各种信息,实现网络资源的共享。而且,也能促使人们敞开心扉去学习知识、追求进步,以至于能更好的利用网络资源。

鉴于BBS的这些优点,又加之制作BBS的一些基本知识我曾学习过,如《Java程序设计》、《JSP网页制作》以及《MyEclipse6.0基础教程》这些书我都看过或自学过。考虑到个人喜好,所以最后我决定选择Java Web开发——BBS论坛制作,这个题目作为我毕业论文,同时也能积累一点开发Java小项目的经验,达到锻炼自己在这方面能力的目的。

1.3 BBS制作的可行性

随着计算机软件的迅速发展,BBS的界面效果越来越美观,功能、作用和范围也得到了迅速扩大。与此同时,制作BBS论坛的方法和所用的软件种类也越来越多了。当前比较流行的,一个是基于JSP网页技术,一个是基于https://www.360docs.net/doc/1413017772.html,网页技术,还有一个是基于PHP网页技术。

而在这里,我将采用基于JSP网页技术的方法进行简单的BBS论坛制作。我所用的开发软件是MyEclipse6.5,它是一款可以做基础Java项目开发的工具;JDK1.6,当前进行Java开发的最新版本;数据库是MySQL,它是一款当前比较流行的进行中小量数据开发的中小型数据库;服务器是Tomcat5.5,它也是一款当前比较流行的软件,主要用于网络服务器的开发。这些东西对一个搞Java开发的人来说应该是很普遍的。因此,无论在技术还是软件上都应该可以实现的。

1.4 BBS制作的局限性

此次BBS论坛制作的界面效果比较粗糙,功能也不是很强大,但幸好一些基本的功能都还有,比如,用户(或管理员)登陆,发表新的帖子,查看已存在的帖子,回复别人发表的帖子(也叫跟帖)以及管理员删除垃圾帖子或着垃圾的跟帖等等。但是像一些高级功能,比如,搜寻或查找帖子的功能,

2

江苏畜牧兽医职业技术学院毕业论文(设计)

3 上传图片或文件的功能,个人空间的功能等。由于本人所学知识以及能力地限制,并没能将其实现。

2 相关软件及开发环境的选择 2.1硬件环境与软件环境要求

服务器端

硬件 处理器:Intel P4或更好

内存:1G 或更大

硬盘剩余空间:2G 或更大

软件 Microsoft Windows XP 或更高版本

JDK1.60或更高版本 MyEclipse5.5或更高版本

MySQL5.0或更高版本

Tomcat5.5或更高版本

Microsoft IE6.0浏览器或更高版本

客户机端

硬件

一般联网的计算机均可 软件

Microsoft Windows XP 或更高版本 Microsoft IE 6.0或更高版本

2.2制作工具

JDK1.6用于Java 程序的解释执行,MyEclipse5.5提供了一个良好的开发界面,MySQL5.0用于数据库的连接,Tomcat5.5 Web 服务器用于运行此项目。

3 应用需求分析

作为一个BBS 论坛,它应该具有BBS 所有的一些基本功能,包括:用户登陆功能,用户取回密码功能,用户浏览帖子的功能以及用户发表、回复、修改和删除帖子的功能等。接下来,我将详细阐述一下这些功能。

3.1用户登录和注册功能

进入登录页面后,对于第一次登陆的用户来说,首先需要注册,单击“注册”按钮即可进入注册界面,注册完成后返回登录界面。然后,在对应的地方分别输入用户名和密码,点击“登录”按钮,系统即将用户名和密码发送到网络服务器上,与保存在服务器数据库中的信息进行核对。若核对正确,则进入帖子浏览的界面,若不正确,则重新返回登录界面。

BBS 论坛系统

4

注意:若用户名(或者密码)为空时,点击了“登录”按钮,则系统会弹出一个对话框提示你用户名(或密码)为空,请重新输入,点击对话框的“确定”按钮,即可重新回到登录界面。

注册界面如下所示:

图3-1

3.2用户帖子的浏览

当用户登录成功后便进入该页面,在该页面可以浏览他人已经发表的主

题帖子,

图3-2

3.2.1帖子的总览 在主题页面中主要有两部分组成,一是用户的个人信息,再就是他人已经发表的主题帖子,每个帖子都包含了一些简单信息:主题、作者和时间。主题有下划线,那是以为对它进行了链接,鼠标单击主题便进入了下一页面

江苏畜牧兽医职业技术学院毕业论文(设计)

5

——该帖的详细内容页面。

3.2.2查看特定帖的详细信息

如上所述,单击主题便进入该帖的详细内容页面。里面主要包含了该帖的详细内容和他人对此帖的回复,点击“回复帖子”便可回复此贴。

图3-3

3.3用户帖子的发布

用户成功登陆后,可以进行一些操作,如浏览帖子、发表帖子等。

3.3.1帖子的发布

登陆成功进入主题页面后,点击“发表话题”按钮后,便可进入发表帖

子的界面。在该页面中填写完信息,点击“提交”即可。

图3-4

4 系统总体设计

4.1系统结构设计

BBS 论坛系统

6 本BBS 论坛系统共分为三大功能模块:

(1) 登陆管理功能系统;

(2) 注册功能系统;

(3) 找回密码功能系统。

登陆管理功能系统,又包括四个子模块:单纯的用户登录模块,用户发表帖子模块,用户回复他人帖子模块和用户删除自己所发表的帖子模块。

4.1.1各个页面的功能

有两个页面用于基本功能的实现,被其它页面所调用: 页面名称 主要功能

用于实现基本功能 Opendata.jsp 打开数据库链接

Convert.jsp

用于字符的转换 其余的页面如下表所示:

各个模块 页面名称 页面功能

开始登陆的界面 Login.html 系统启动时的首页

登录管理

功能系统 Enter.jsp

用于判断用户名和密码是否正

MainForm.jsp

登陆成功后转入该页面 TOPIC.jsp

浏览主题帖子的页面,在这可以查看各类帖子 SaveNewTitle.jsp 将新发表的帖子存入数据库表

TOPIC 中

Detail.jsp 用于显示帖子的内容及回复该

帖的内容

SaveRevert.jsp 将回复内容存入数据库表

Reply 中

注册功能系统 Register.jsp

该界面用于新用户注册 SaveRegister.jsp 保存新用户注册信息到数据库

表User 中

4.2数据库设计

根据本BBS 论坛功能的要求以及功能模块的划分,本信息数据库可存放在三个表中,它们是,用户信息数据库表User 、发表的帖子的数据库表TOPIC

江苏畜牧兽医职业技术学院毕业论文(设计)

7

和回复的帖子的数据库表Reply ,数据库表的具体设计如下所示:

4.2.1用户信息表User

表名:User

用户信息表User 包括六个字段:即,UID (用户的标识符)、UNAME (用户名)、UPASS (用户密码)等。

表的内容如下:

4.2.2存储帖子所有的信息表TOPIC

表名:TOPIC

信息表TOPIC 包括七个字段:即,TITLE (帖子的主题)、CONTENT (帖子的内容)、PUBLISHTIME (发帖的时间)、UID (帖子的标识)等。 表的内容如下:

4.2.3存储回复帖子的信息表REPL Y

表名:REPLY

信息表REPLY 包括七个字段:即,CONTENT (回帖的内容)、PUBLISHTIME (回帖的时间)、REPLYID (所回复的主贴的标识符)等。 表的内容如下:

BBS 论坛系统

8

5 系统设计的部分介绍

5.1建立数据库及数据库表

建立一个数据库Test 和三个数据库表(USER 、TOPIC 和REPLY )。 首先在MyEclipse5.5软件里配置MySQL5.0,配置完成后在MyEclipse 界面里建立名为“Test ”的数据库,然后再建立三个数据库表(USER 、TOPIC 和REPLY )。

创建表user :

stmt.executeUpdate("create table user(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 varchar(40) not null," +

"primary key (id))");

创建表TOPIC :

stmt.executeUpdate("create table TOPIC(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 :

stmt.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))");

5.2用户登录功能的实现

江苏畜牧兽医职业技术学院毕业论文(设计)

通过Login.html界面传递参数username 和password 给Enter.jsp界面,然后查询数据库,判断用户名和密码是否正确。若判断正确则为用户建立一

个session,并进入了用户主界面。

<%

String username = request.getParameter("username");//参数传递,用户名

String password = request.getParameter("password");//参数传递,密码

PreparedStatement pstmt = null;// 数据库表达式

sql = "select * from User where username = ? and password= ?";

// SQL语句

pstmt = conn.prepareStatement(sql);

pstmt.setString(1, username);

pstmt.setString(2, password);

rs = pstmt.executeQuery();

if (rs.next()) {//

request.getSession(true);//创建session

//保存登录用户到session中

session.putValue("username", username);

session.putValue("password", password);

session.putValue("userIP", request.getRemoteAddr());

session.putValue("enter", "true");

//登录成功主题页面

response.sendRedirect("MainForm.jsp");

} else

response.sendRedirect("login.html");//登陆失败转向登录页面%>

5.3新用户注册功能的实现

SaveRegister.jsp用于保存新用户的信息,这些信息是由Register.jsp页面传递而来,首先判断用户名是否已被注册过了,若被注册过则提示已注册。

<%

String username = request.getParameter("username");

String password = request.getParameter("password");

String sex = request.getParameter("sex");

String age = request.getParameter("age");

String year = request.getParameter("year");

String month = request.getParameter("month");

String day = request.getParameter("day");

String telephone = request.getParameter("telephone");

String email = request.getParameter("email");

String msg = null;

username = convert(username);

sql = "select * from user where username='" + username + "'";

rs = stm.executeQuery(sql); //查询数据库

9

BBS论坛系统if (!rs.next()) {//如果不存在

sex = convert(sex);

age = convert(age);

String birth;

birth = year + "年" + month + "月" + day + "日";

sql = "insert into user ( username, password, sex, birth, age, telephone , email )values('"+ username+ "','"+ password + "','"+ sex+

"','" + birth + "','"+ age+ "','"+ telephone + "','"+ email + "')";

stm.executeUpdate(sql); //插入数据库中

msg = "恭喜你,已注册成功!";

response.sendRedirect("login.html");

} else {//如果注册用户已存在

msg = "你所注册的用户已经存在,请你重新注册!";

out.println("

提示信息:
"+ msg + "
");

out.println("");

}

%>

6 论坛的发布测试

MyEclipse 支持发布Web, EJB 和Enterprise Application 项目到任何MyEclipse 支持的服务器上。它支持散包和打包发布。目前来说Tomcat 和JBoss 都是支持散包发布的。

散包发布一般是开发时候来使用,MyEclipse 会把所有的文件按照Java EE 规定的目录结构放在服务器的发布目录下。在这种情况下,MyEclipse 还会自动把修改过的文件,例如JSP 文件,类文件等等复制过去,实现自动同步功能,这时修改了JSP 页面不需要重新发布就能在浏览器里刷新后看到新的结果。这样对开发来说是非常方便的。

6.1本论坛的发布测试分三步完成:

6.1.1散包发布JSPBBS项目

JSPBBS项目文件夹下包含了类库文件及资源文件。其中src文件夹下包含一个Java文件JDBC_BBS.java,用于创建数据库表;WebRoot文件夹下存放了所有的jsp页面,其下的Pictures文件夹存放了页面制作所需的图片。在MyEclipse界面下散包文档结构如图6-1所示:

10

江苏畜牧兽医职业技术学院毕业论文(设计)

11

图6-1

在MyEclipse 的Package Explorer 视图下单击“发布”按钮

进入发布界

面,如图6-2所示:

图6-2

在Project 对应的选项中选择JSPBBS 项目,

然后单击右面的

钮进入New Deployment 对话框,如图6-3:

BBS 论坛系统

12

图6-3 在该对话框的Server 对应的选项中选择“”,在Deploy Location 对应的选项中选择“D:\apache-tomcat-5.5.27\webapps\JSPBBS ”路径,单击返回Project Deployment 对话框,如图6-4:

图6-4 最后单击完成发布。

6.1.2启动Tomcat 服务器

在MyEclipse

界面下点击按钮,在下拉菜单中选择Tomcat5.x 服务器并单击“开始”按钮启动服务器,若启动成功显示以下信息:

江苏畜牧兽医职业技术学院毕业论文(设计)

13

图6-5

6.1.3打开IE 浏览器进行测试

JSPBBS 发布完且Tomcat 服务器开启后,再打开IE7.0(或以上版本)浏览器,在其地址栏中输入:http://localhost:8080/JSPBBS (其中localhost 为本地主机IP 地址,8080为Tomcat 服务器端口号,JSPBBS 我项目名称)按回车即可进入BBS 论坛首页登录界面。如图6-6所示:

图6-6

对于第一次登陆的用户来说,首先需要注册,单击“注册”按钮即可进入注册界面,如图6-7:

BBS 论坛系统

14

图6-7

注册成功即可登陆论坛。

江苏畜牧兽医职业技术学院毕业论文(设计)

参考文献

[1]刘长炯.MyEclipse 6 Java 开发中文教程[DK].北京:2007:(99)

[2]郑阿奇.MySQL实用教程[M].北京:电子工业出版社,2009:1-21

[3]孙卫琴.Tomcat与Java Web开发技术详解(第2版)[M].北京:电子工业出版社,2009:110-220

[4]萨师煊,王珊.数据库系统概论[M].北京:高等教育出版社,2002:56-110

[5]谷雨,阎隽,高春蓉.JSP从入门到精通[M].北京:电子工业出版社,2002:100-104

[6]李迎秋,姜仲.JSP实用教程[M].大连:大连理工大学出版社,2007:113-200

[7]赵明昌译.JSP数据库编程指南[M].北京:北京希望电子出版社,2001:37-48

[8]葛蒙,程显峰.JavaScript实践与提高[M].北京:中国电力出版社,2002:108-228

[9]黄嘉辉.Java网络程序设计[M].北京:清华大学出版社,2002:445-470

[10]李绪成.Java Web开发教程——入门与提高篇[M].北京:清华大学出版社,2009:150-198

[11]舒红平.Web数据库编程:Java[M].西安:西安电子科技大学出版社,2006:132-185

15

BBS论坛系统

致谢

本次毕业设计之所以能够如期完成主要是指导老师及时的辅导帮助,为此在此特别感谢老师的谆谆教导。同时也应该感谢这三年以来教过我们课的老师,没有他们给予我们的理论知识以及操作技能,就不可能完成此次毕业设计。

还有感谢这次答辩的评委老师,他们给我指出系统的不足与优点,这些对于我们以后再工作中给予很到帮助。

最后还有感谢同学之间的互帮互助。

16

相关主题
相关文档
最新文档