JSP课程设计基于JSP技术开发的BBS论坛系统.docx

上传人:b****8 文档编号:12774275 上传时间:2023-06-08 格式:DOCX 页数:18 大小:202.92KB
下载 相关 举报
JSP课程设计基于JSP技术开发的BBS论坛系统.docx_第1页
第1页 / 共18页
JSP课程设计基于JSP技术开发的BBS论坛系统.docx_第2页
第2页 / 共18页
JSP课程设计基于JSP技术开发的BBS论坛系统.docx_第3页
第3页 / 共18页
JSP课程设计基于JSP技术开发的BBS论坛系统.docx_第4页
第4页 / 共18页
JSP课程设计基于JSP技术开发的BBS论坛系统.docx_第5页
第5页 / 共18页
JSP课程设计基于JSP技术开发的BBS论坛系统.docx_第6页
第6页 / 共18页
JSP课程设计基于JSP技术开发的BBS论坛系统.docx_第7页
第7页 / 共18页
JSP课程设计基于JSP技术开发的BBS论坛系统.docx_第8页
第8页 / 共18页
JSP课程设计基于JSP技术开发的BBS论坛系统.docx_第9页
第9页 / 共18页
JSP课程设计基于JSP技术开发的BBS论坛系统.docx_第10页
第10页 / 共18页
JSP课程设计基于JSP技术开发的BBS论坛系统.docx_第11页
第11页 / 共18页
JSP课程设计基于JSP技术开发的BBS论坛系统.docx_第12页
第12页 / 共18页
JSP课程设计基于JSP技术开发的BBS论坛系统.docx_第13页
第13页 / 共18页
JSP课程设计基于JSP技术开发的BBS论坛系统.docx_第14页
第14页 / 共18页
JSP课程设计基于JSP技术开发的BBS论坛系统.docx_第15页
第15页 / 共18页
JSP课程设计基于JSP技术开发的BBS论坛系统.docx_第16页
第16页 / 共18页
JSP课程设计基于JSP技术开发的BBS论坛系统.docx_第17页
第17页 / 共18页
JSP课程设计基于JSP技术开发的BBS论坛系统.docx_第18页
第18页 / 共18页
亲,该文档总共18页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

JSP课程设计基于JSP技术开发的BBS论坛系统.docx

《JSP课程设计基于JSP技术开发的BBS论坛系统.docx》由会员分享,可在线阅读,更多相关《JSP课程设计基于JSP技术开发的BBS论坛系统.docx(18页珍藏版)》请在冰点文库上搜索。

JSP课程设计基于JSP技术开发的BBS论坛系统.docx

JSP课程设计基于JSP技术开发的BBS论坛系统

 

JSP程序设计-课程设计

基于JSP技术开发的BBS论坛系统

 

院系:

专业班级:

组长:

 

2010年12月15日

摘要

当今,随着网络的迅速发展,制作BBS论坛的技术和方法也越来越多。

本文主要讲述利用JavaWeb的相关技术来制作一个简单论坛。

通过实际制作,实现了BBS论坛系统应有的一些基本功能,如:

登陆功能,通过在登陆界面输入用户名和密码来实现会员的登录,用户只有登录成功了才能进行一系列的操作;注册功能,用户首次登陆,需要先注册,注册时需要用户填写个人信息;找回密码功能,当用户忘记密码时可以通过此功能找回密码,找回密码时需要用户记得注册时填写的个人信息。

除此之外,还有浏览帖子、发表帖子、回复贴子以及删除帖子等等功能。

制作本论坛所用的前台软件是MyEclipse,后台数据库是MySQL,运行时所用的服务器是Tomcat,综合运用了HTML、JSP以及JavaScript语言。

关键词:

BBS论坛;JSP技术;登陆;注册;找回密码;浏览贴子;发表帖子;回复贴子;删除帖子

 

一、概论

当前形势下,BBS论坛种类繁多,通过BBS可随时取得国际最新的软件及信息,也可以通过BBS来和别人讨论计算机软件、硬件、Internet、多媒体、程序设计以及医学等等各种有趣的话题,更可以利用BBS来刊登一些“征友”、“廉价转让”及“公司产品”等启事。

只要您拥有1台计算机、1只调制解调器和1条电话线,就能够进入这个“超时代”的领域。

(一)、BBS历史背景

BBS的英文全称是BulletinBoardSystem,翻译为中文就是“电子公告板”。

BBS最早是用来公布股市价格等类信息的,当时BBS连文件传输的功能都没有,而且只能在苹果计算机上运行。

早期的BBS与一般街头和校园内的公告板性质相同,只不过是通过电脑来传播或获得消息而已。

一直到个人计算机开始普及之后,有些人尝试将苹果计算机上的BBS转移到个人计算机上,BBS才开始渐渐普及开来。

近些年来,由于爱好者们的努力,BBS的功能得到了很大的扩充。

(二)、BBS制作目的

BBS论坛是一种比较好的交流平台,他能方便人们进行即时在线交流,发表各种信息,实现网络资源的共享。

而且,也能促使人们敞开心扉去学习知识、追求进步,以至于能更好的利用网络资源。

(三)、BBS制作的可行性

随着计算机软件的迅速发展,BBS的界面效果越来越美观,功能、作用和范围也得到了迅速扩大。

与此同时,制作BBS论坛的方法和所用的软件种类也越来越多了。

而在这里,我将采用基于JSP网页技术的方法进行简单的BBS论坛制作。

我所用的开发软件是MyEclipse6.5,它是一款可以做基础Java项目开发的工具;JDK1.6,当前进行Java开发的最新版本;数据库是MySQL,它是一款当前比较流行的进行中小量数据开发的中小型数据库;服务器是Tomcat5.5,它也是一款当前比较流行的软件,主要用于网络服务器的开发。

(四)、BBS制作的局限性

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

但是像一些高级功能,比如,搜寻或查找帖子的功能,上传图片或文件的功能,个人空间的功能等。

由于本人所学知识以及能力地限制,并没能将其实现。

二、相关软件、技术介绍及开发环境的选择

(一)、开发环境介绍

1、硬件环境与软件环境要求

服务器端

硬件

处理器:

IntelP4或更好

内存:

1G或更大

硬盘剩余空间:

2G或更大

软件

MicrosoftWindowsXP或更高版本

JDK1.60或更高版本

MyEclipse6.0或更高版本

MySQL5.0或更高版本

Tomcat5.5或更高版本

MicrosoftIE6.0浏览器或更高版本

客户机端

硬件

一般联网的计算机均可

软件

MicrosoftWindowsXP或更高版本

MicrosoftIE6.0或更高版本

2、制作工具

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

(二)、JDK(JavaDevelopmentKit)

JDK(JavaDevelopmentKit)是SunMicrosystems针对Java开发员的产品。

自从Java推出以来,JDK已经成为使用最广泛的JavaSDK(Softwaredevelopmentkit)。

(三)、MyEclipse6.5软件的简单介绍

MyEclipse6.5集中了开源和商业软件的开发支持的大多数框架,方便易用,功能强大,获得了广大开发人员的喜爱。

它支持开发调试基于Spring,Hibernate,Struts,JSF,JPA,EJB,WebService等JavaEE技术的项目。

(四)、MySQL数据库介绍

 MySQL是一个小型关系型数据库管理系统,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。

(五)、JSP(JavaServerPages)网页设计技术介绍

JSP(JavaServerPages)是由SunMicrosystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。

JSP技术有点类似ASP技术,它是在传统的网页HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件(*.jsp)。

(六)、Tomcat5.5服务器介绍

Tomcat服务器是一个免费的开放源代码的Web应用服务器,Tomcat是一个小型的轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选。

三、应用需求分析

作为一个BBS论坛,它应该具有BBS所有的一些基本功能,包括:

用户登陆功能,用户取回密码功能,用户浏览帖子的功能以及用户发表、回复、修改和删除帖子的功能等。

接下来,我将详细阐述一下这些功能。

 

(一)、用户登录和注册功能

进入登录页面后,对于第一次登陆的用户来说,首先需要注册,单击“新用户注册”按钮即可进入注册界面,注册完成后返回登录界面。

然后,在对应的地方分别输入用户名和密码,点击“登录”按钮,系统即将用户名和密码发送到网络服务器上,与保存在服务器数据库中的信息进行核对。

若核对正确,则进入帖子浏览的界面,若不正确,则重新返回登录界面。

注册界面如下所示:

图4-1用户登录界面

(二)、用户找回密码功能

在有些时候,我们可能会忘记登录密码,这时就用到了密码找回功能,通过正确的回答当初注册时的一些信息即可取回密码。

图4-2密码找回

 

(三)、用户帖子的浏览

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

图4-3帖子浏览

在主题页面中主要有两部分组成,一是用户的个人信息,再就是他人已经发表的主题帖子,每个帖子都包含了一些简单信息:

主题、作者和时间。

(四)、用户帖子的发布/修改/删除功能

登陆成功进入主题页面后,点击“发表新的主题文章”按钮后,便可进入发表帖子的界面。

在该页面中填写完信息,点击“发送新的主题”即可。

图4-4发表新话题

(五)、用户回复他人帖子

打开他人的帖子,点击“我要回复”便可对该贴进行回复,如要想对其他回复此贴的人进行回复,可以点击回复(如图4-6)对其进行回复。

图4-6帖子回复

 

(六)、管理员对帖子的查看/发表/删除功能

1、管理员查看或发表帖子

管理员查看或发表帖子与普通用户的一样。

 

2、管理员删除帖子

管理员删除帖子与普通用户的区别在于,他可以删除任何人发表的贴子,另外他还有一项特权,就是可以删除任何人回复的垃圾帖子。

四、系统总体设计

(一)、系统结构设计

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

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

(2)注册功能系统;

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

登陆管理功能系统,又包括四个子模块:

单纯的用户登录模块,用户发表帖子模块,用户回复他人帖子模块和用户删除自己所发表的帖子模块。

1、各个页面的功能及示意图

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

页面名称

主要功能

用于实现基本功能

Opendata.jsp

打开数据库链接

Convert.jsp

用于字符的转换

 

其余的页面如下表所示:

各个模块

页面名称

页面功能

开始登陆的界面

Login.html

系统启动时的首页

登录管理

功能系统

Enter.jsp

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

MainForm.jsp

登陆成功后转入该页面

Discuss.jsp

浏览主题帖子的页面,在这可以查看各类帖子

Person.jsp

显示个人信息的页面

NewTitle.jsp

发表新的主题帖子的页面

SaveNewTitle.jsp

将新发表的帖子存入数据库表Discuss中

Detail.jsp

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

SaveRevert.jsp

将回复内容存入数据库表Reply中

Delete.jsp

用于删除帖子

注册功能系统

Register.jsp

该界面用于新用户注册

SaveRegister.jsp

保存新用户注册信息到数据库表Student中

找回密码功能系统

GetPassword.jsp

用于用户找回密码

 

(二)、数据库设计

1、用户信息表Student

表名:

Student

用户信息表Student包括八个字段:

即,ID(用户的标识符)、USERNAME(用户名)、PASSWORD(用户密码)、SEX(性别)、AGE(年龄)、BIRTH(生日)、TELEPHONE(联系电话)、EMAIL(电子邮箱)等。

STUDENT表的属性如下图所示:

STUDENT表的内容如下图所示:

2、存储帖子所用的信息表DISCUSS

表名:

DISCUSS

信息表DISCUSS包括七个字段:

即,NAME(发帖人的昵称)、EMAIL(电子邮箱)、SUBJECT(帖子的主题)、CONTENT(帖子的内容)、TIME(发帖的时间)、USERNAME(用户名)、ID(帖子的标识)等。

表的属性:

表的内容:

3、存储回复帖子的信息表REPLY

表名:

REPLY

信息表REPLY包括五个字段:

即,NAME(回帖人的昵称)、CONTENT(回帖的内容)、TIME(回帖的时间)、REPLY(所回复的主贴的标识符)、ID(回复贴的标识符)等。

表的属性:

表的内容:

五、系统详细设计

(一)、建立数据库及数据库表

建立一个数据库Test和三个数据库表(STUDENT、DISCUSS和REPLY)。

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

创建表student:

stmt.executeUpdate("createtablestudent(idintnotnullauto_increment,"+

"usernamevarchar(20)unique,"+

"passwordvarchar(20)notnull,"+

"sexvarchar(8)notnull,"+

"agevarchar(4),"+

"birthvarchar(20)notnull,"+

"telephonevarchar(12),"+

"emailvarchar(40)notnull,"+

"primarykey(id))");

创建表discuss:

stmt.executeUpdate("createtablediscuss(namechar(20)notnull,"+

"emailchar(40)notnull,"+

"subjectchar(60)notnull,"+

"contenttextnotnull,"+

"timechar(40),"+

"usernamechar(20),"+

"idintnotnullauto_increment,primarykey(id))");

创建表reply:

stmt.executeUpdate("createtablereply(namechar(20)notnull,"+

"contenttextnotnull,"+

"timechar(40),replyint,"+

"idintnotnullauto_increment,"+

"primarykey(id))");

(二)、用户登录功能的实现

1、登陆界面的制作

(1)JavaScript标记语言判断输入的用户名和密码是否为空:

//验证输入不为空的脚本代码

functioncheckForm(form){

if(form.username.value==""){

alert("用户名不能为空!

");

form.username.focus();

returnfalse;

}

if(form.password.value==""){

alert("密码不能为空!

");

form.password.focus();

returnfalse;

}

returntrue;

}

(2)登陆界面的制作:

用户名:

密码:

2、登陆功能的实现

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

若判断正确则为用户建立一个session,并进入了用户主界面。

<%

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

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

PreparedStatementpstmt=null;//数据库表达式

sql="select*fromStudentwhereusername=?

andpassword=?

";

//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");//登陆失败转向登录页面

%>

(三)、用户发表新帖子页面的制作

1、NewTitle.jsp页面发表新的主题文章

此界面提供用户输入功能,输入完成后“发表心得主题”按钮便可提交数据给SaveNewTitle.jsp页面:

pageNO=1method=postonsubmit="returncheckForm(this);">

姓名

E-mail

主题

内容


pageNO=1>返回主页

2、SaveNewTitle.jsp页面用于保存由NewTitle.jsp页面传来的数据信息

首先将传递来的数据进行转换,然后将其插入数据库Discuss中:

<%

Stringname=request.getParameter("name");

Stringemail=request.getParameter("email");

Stringsubject=request.getParameter("subject");

Stringcontent=request.getParameter("content");

intyear,month,day,hour,minute,second;

Stringtime;

GregorianCalendarcalendar;

calendar=newGregorianCalendar();

year=calendar.get(Calendar.YEAR);

month=calendar.get(Calendar.MONTH)+1;

day=calendar.get(Calendar.DAY_OF_MONTH);

hour=calendar.get(Calendar.HOUR_OF_DAY);

minute=calendar.get(Calendar.MINUTE);

second=calendar.get(Calendar.SECOND);

time=year+"年"+month+"月"+day+"日"+hour+":

"+minute

+":

"+second;

name=convert(name);

subject=convert(subject);

content=convert(content);

content=Replace(content);

Stringusername=session.getValue("username").toString();

sql="insertintodiscuss(name,email,subject,content,time,username)values('"+name+"','"+email+"','"+subject+"','"+content+"','"+time+"','"+username+"')";

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

response.sendRedirect("discuss.jsp");

%>

(六)参考文献:

[1]刘长炯.《MyEclipse6Java开发中文教程》[DK].北京:

2007:

1-99

[2]郑阿奇.《MySQL实用教程》[M].北京:

电子工业出版社,2009:

1-218

[3]孙卫琴.《Tomcat与JavaWeb开发技术详解(第2版)》[M].北京:

电子工业出版社,2009:

1-220

[4]萨师煊,王珊.《数据库系统概论》[M].北京:

高等教育出版社,2002:

56-110

[5]谷雨,阎隽,高春蓉等译.《JSP从入门到精通》[M].北京:

电子工业出版社,2002:

1-104

[6]李迎秋,姜仲.《JSP实用教程》[M].大连:

大连理工大学出版社,2007:

1-200

[7]赵明昌译.《JSP数据库编程指南》[M].北京:

北京希

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

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2