基于java的bbs论坛设计软件大学毕设论文.docx
《基于java的bbs论坛设计软件大学毕设论文.docx》由会员分享,可在线阅读,更多相关《基于java的bbs论坛设计软件大学毕设论文.docx(36页珍藏版)》请在冰豆网上搜索。
基于java的bbs论坛设计软件大学毕设论文
XXX
毕业设计任务书
专业软件技术
年级xx级班级二班
姓名xx学号20xx0205xx3
威海职业学院教务处编印
BBS论坛
摘要
网络化的今天,BBS论坛系统的功能得到了很的大扩充。
BBS的用户已经扩展到各行各业,除原先的计算机爱好者们外,商用BBS操作者、环境组织、宗教组织及其它利益团体也加入了这个行列。
通过BBS系统来和别人讨论计算机软件、硬件、Internet、多媒体、程序设计以及医学等等各种有趣的话题。
给计算机爱好者提供一个互相交流的地方。
整个论坛采用Struts框架设计完成。
结合JSP、Java、JavaScript、J2EE等基础知识完成BBS论坛。
本系统将用户划分为游客、用户、管理员3类,他们的权限不同,能够使用的功能也不同。
对于系统来说,需要实现的功能总体来说分为以下两大模块。
前台模块提供给所有用户使用。
不论是论坛的注册用户,还是普通的浏览者都可以进入其中。
区别在于随着用户的等级不同,所允许使用的功能也有所不同。
后台模块提供给管理人员(包括管理员和版主)使用,以对用户、论坛及文章进行管理维护。
普通用户如果试图使用这一模块将被系统拒绝
我主要负责BBS论坛后台页面的管理员登录和用户管理功能模块。
1.2.2体现集体观点2
2.1.3STRUTS框架应用5
2.3开发环境介绍7
2.3.1软件环境7
3.1系统功能需求8
3.4用例图10
3.5数据库设计11
3.5.1数据库选择11
3.5.2创建数据库11
3.5.3数据库的设计11
4总体设计12
4.1系统功能模块图14
4.2系统功能的设计15
5详细设计14
5.1管理员登陆17
5.1.1数据流程图17
5.1.2详细功能介绍17
5.2用户管理模块19
5.2.1数据流程图19
5.2.2详细功能介绍19
5.3技术难点24
5.3.1数据库的连接25
5.3.2中文乱码26
6系统测试28
6.1BBS系统的测试27
6.2测试举例27
7总结28
参考文献、资料索引29
致 谢30
0前言
BBS是BulletinBoardSystem(电子公告栏)的缩写,网络上通常称之为论坛。
它通过以文字为主的界面,为广大网友提供一个彼此交流的空间。
BBS与Email都是早期Internet最普遍的应用之一,至今仍然广泛使用。
目前,通过BBS系统可随时取得国际最新的软件及信息,也可以通过BBS系统来和别人讨论计算机软件、硬件、Internet、多媒体、程序设计以及医学等等各种有趣的话题,更可以利用BBS系统来刊登一些“征友”、“廉价转让”及“公司产品”等启事。
网络化的今天,BBS论坛系统的功能得到了很的大扩充。
BBS的用户已经扩展到各行各业,除原先的计算机爱好者们外,商用BBS操作者、环境组织、宗教组织及其它利益团体也加入了这个行列。
通过BBS系统来和别人讨论计算机软件、硬件、Internet、多媒体、程序设计以及医学等等各种有趣的话题。
给计算机爱好者提供一个互相交流的地方。
本系统主要完成Web服务器端的用户管理、帖子管理、数据库管理、浏览和查找功能等设计、实现与完善以及整个实验网站的组织建立和测试工作。
本文中数据库服务器端采用了MYSQL数据库并以先进的JDBC技术进行数据库存取等操作,使Web与数据库紧密联系起来。
为了让网友可以自由发表观点和提出问题以及帮助他人解决问题,或者交流经验。
特开发了BBS论坛系统。
1绪论
1.1项目来源
网络化的今天,BBS论坛系统的功能得到了很的大扩充。
BBS的用户已经扩展到各行各业,除原先的计算机爱好者们外,商用BBS操作者、环境组织、宗教组织及其它利益团体也加入了这个行列。
通过BBS系统来和别人讨论计算机软件、硬件、Internet、多媒体、程序设计以及医学等等各种有趣的话题。
给计算机爱好者提供一个互相交流的地方。
结合JSP、Struts、Java、JavaScript、J2EE等基础知识完成BBS论坛。
1.2项目目标与期望
1.2.1促进广大用户交流
在计算机网络飞速发展的今天,BBS已经成为人们网上交流的重要平台,在BBS里,人们之间的交流打破了空间、时间的限制。
BBS大大加深了广大用户之间的交流。
因此对BBS论坛的研究是十分必要的。
1.2.2体现集体观点
用户可以阅读他人关于某个主题的看法,也可以将自己的想法毫无保留地贴到公告栏中。
这样,通过BBS论坛,广大用户的思想观点即会体现出来。
可充分反应最广大人民群众的集体意见。
总结上述几点,网站建设目标可总结如下:
1、促进加深用户之间的交流,为用户打造一个畅想欲言的天地。
2、使用户可以充分交流经验、知识、看法。
1.3项目设计原则
1.3.1实用性原则
充分考虑到在BBS论坛中可能遇到的种种问题,尽量全面的做好需求分析,以减少日后更新软件的次数。
1.3.2经济性原则
提供广泛的涵盖用户多种需求的功能,数据处理方式灵活以满足需求,节省网站建设成本,并确保其较好的拓展性和开放性;同时网站具有基于WEB界面的管理后台,能够自主的对网站中大部分内容作更新、修改操作,节省了企业网站的运营成本,提高了信息更新、传播效率。
1.3.3扩充性原则
网站的整体规划及框架设计是具可扩充性的,前台页面的设计能保证网站在增加栏目后不会破坏网站的整体结构。
后台数据库的设计具有高度的扩充性,能够根据需要对栏目、类别的增、删、修改。
2可行性分析
2.1技术可行性
2.1.1动态网站技术介绍
Internet起源于20世纪60年代的美国,它在近几年迅速风靡全球,其根本原因不仅在于她拥有卓越的国际通信功能,更在于它拥有巨大的信息资源。
所谓的Internet是指由分布在全世界成千上万的计算机网络遵循一定的通讯协议,并相互联系在一起而形成的国际互连网络,也就是说,Internet是建立和使用这些网络的人群、群体、公司以及各种网络资源的集合体。
随着网络技术的不断发展,单纯的静态页面已经不能满足发展的需要,因为静态页面是用单纯的HTML语言组成的,它没有交互性。
因此,为了满足实际的需要,许多网页文件扩展名不再只是“htm”,“html”,出现了以“php”,“asp”,“jsp”,“shtml”等为后缀的网页文件,这些都是采用动态网页技术制作出来的。
2.1.2程序语言的选择
JSP(JavaServerPages)是由Sun公司倡导,许多别的公司参与一起创建的一种新动态网页技术标准,类似其他技术标准。
在传统的网页HTML文件(*.htm,*.html)中加入Java程序片断(Scriptlet)和JSP标签,构成了JSP网页(*.jsp)Servlet/JSPContainer收到客户端发出的请求时,首先执行其中的程序片断,软后将执行结果以HTML格式响应给客户端,其中程序片断可以是:
操作数据库,重新定向网页以及发送E-Mail等等,这些都是建立动态网站所需要的功能。
所有程序操作都在服务器端运行,网络上传送给客户端的仅是得到的结果,与客户端的浏览器无关,因此,JSP称为Server-sideLanguage。
所以被许多人认为是未来最有发展前途的动态网站技术之一。
语言优势如下:
1、将内容的生成和显示进行分离
使用JSP技术,Web页面开发人员可以使用HTML或者XML标识来设计和格式化最终页面。
使用JSP标识或者小脚本来生成页面上的动态内容。
生成的内容的逻辑被封装在标识和JavaBeans组件中,那么其他人,如Web管理人员和页面设计者,能够编辑和使用JSP页面而不影响内容的生成。
2、一次编写,到处运行
作为Java平台的一部分,JSP拥有Java编程语言“一次编写,到处运行”的特点,随着越来越多的供应商将JSP支持添加到他们的产品中,您可以使用自己所选择的服务器和工具,但并不影响当前的应用。
3、JSP的平台适应性更广
这是JSP比ASP的优越之处,几乎所有的平台都支持Java,它们可以在任何平台下通行无阻。
虽然NT的OS占据了很大的市场的份额,但在服务器方面UNIX的优势仍然很大.从一个平台移植到另一个平台,JSP和JavaBeans甚至不用重新编译,因为Java字节码都是标注的字节码与平台无关。
4、健壮的存储管理和安全性
由于JSP页面的内置脚本语言是基于Java编程语言的,而且所有的JSP页面都被编译为JavaServlet,JSP页面就具有Java技术的所有优点,包括健壮的存储管理和安全性。
5、数据库连接技术
数据库连接是一种关键的有限的昂贵的资源,这一点在多用户的网页应用程序中体现得尤为突出。
对数据库连接的管理能显著影响到整个应用程序的伸缩性和健壮性,影响到程序的性能指标。
本系统采用SRTUTS连接池连接MYSQL数据库。
在struts-config.xml配置文件中,定义data-source元素设置了具体的数据源,可以使用这个数据源来连接数据库。
使用数据源来连接数据库有很多优点,比如事务处理,连接效率,管理方便,J2EE核心技术JNDI实现等
2.1.3STRUTS框架应用
Struts是Apache软件组织提供的一项开放源码项目,它为JavaWeb应用提供了模型-视图-控制器(Model-View-Controller,简称MVC)框架,尤其适用于开发大型可扩展的Web应用。
MVC模式,即把一个应用的输入、处理、输出流程按照Model、View、Controller的方式进行分离,这样一个应用被分成三个层——模型层、视图层、控制层。
Struts为Web应用提供了一个通用的框架,使得开发人员可以把精力集中在如何解决实际业务问题上。
此外,Struts框架提供了许多供扩展和定制的地方,应用程序可以方便的扩展框架,来更好的适应用户的实际需求。
2.2系统结构可行性分析
本系统采用B/S模式进行开发
2.2.1B/S模式简介
B/S(Browser/Server)结构即浏览器和服务器结构。
它是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。
在这种结构下,用户工作界面是通过WWW浏览器来实现,极少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(Server)实现,形成所谓三层3-tier结构。
这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本(TCO)。
以目前的技术看,局域网建立B/S结构的网络应用,并通过Internet/Intranet模式下数据库应用,相对易于把握、成本也是较低的。
它是一次性到位的开发,能实现不同的人员,从不同的地点,以不同的接入方式(比如LAN,WAN,Internet/Intranet等)访问和操作共同的数据库;它能有效地保护数据平台和管理访问权限,服务器数据库也很安全。
特别是在Java这样的跨平台语言出现之后,B/S架构管理软件更是方便、快捷、高效。
2.2.2B/S模式的优点
1、维护和升级方式简单
目前,软件系统的改进和升级越来越频繁,B/S架构的产品明显体现着更为方便的特性。
对一个稍微大一点单位来说,系统管理人员如果需要在几百甚至上千部电脑之间来回奔跑,效率和工作量是可想而知的,但B/S架构的软件只需要管理服务器就行了,所有的客户端只是浏览器,根本不需要做任何的维护。
无论用户的规模有多大,有多少分支机构都不会增加任何维护升级的工作量,所有的操作只需要针对服务器进行;如果是异地,只需要把服务器连接专网即可,实现远程维护、升级和共享。
所以客户机越来越“瘦”,而服务器越来越“胖”是将来信息化发展的主流方向。
今后,软件升级和维护会越来越容易,而使用起来会越来越简单,这对用户人力、物力、时间、费用的节省是显而易见的,惊人的。
因此,维护和升级革命的方式是“瘦”客户机,“胖”服务器。
2、成本降低,选择更多
大家都知道windows在桌面电脑上几乎一统天下,浏览器成为了标准配置,但在服务器操作系统上windows并不是处于绝对的统治地位。
现在的趋势是凡使用B/S架构的应用管理软件,只需安装在Linux服务器上即可,而且安全性高。
所以服务器操作系统的选择是很多的,不管选用那种操作系统都可以让大部分人使用windows作为桌面操作系统电脑不受影响,这就使的最流行免费的Linux操作系统快速发展起来,Linux除了操作系统是免费的以外,连数据库也是免费的,这种选择非常盛行。
比如说很多人每天上“网易”网,只要安装了浏览器就可以了,并不需要了解“网易”的服务器用的是什么操作系统,而事实上大部分网站确实没有使用windows操作系统,但用户的电脑本身安装的大部分是windows操作系统。
2.3开发环境介绍
2.3.1软件环境
●操作系统:
Windowxp
●数据库:
MySql
●Web服务器:
TOMCAT
●开发环境:
Eclipse3.2+Myeclipse5.0+Fireworks8+Dreamweaver8
2.3.2硬件环境
AMDAthlon643000+,KingMaxPC3200512MB×2,GainwardNV35XT
SeagateSATA8M120GB×2
3需求分析
3.1系统功能需求
BBS论坛分为前台和后台两个模块。
前台模块的使用对象包括了所有用户(管理员、用户、游客),提供的功能包括注册账号、浏览主题、发表主题、回复主题等。
后台模块的使用对象为管理人员(管理员、版主),提供的功能包括管理用户、管理论坛、管理主题。
BBS论坛系统功能预览如下:
前台:
1、用户登录
2、用户注册
3、发表主题
4、回复主题
5、用户注销登录
后台:
1、管理员登录
2、用户管理
3、论坛管理
4、主题管理
5、管理员注销登录
目标系统应该达到以下要求:
1、时间经济性。
优化逻辑设计与物理设计,使系统运行效率高,反映速度快。
2、可靠性。
能连续准确的处理业务,有较强的容错能力。
3、可理解性。
用户容易理解和使用该系统。
4、可维护性和适应性。
系统应易于修改、易于扩充、易于维护,能够适应业务不断发展变化的需要。
5、可用性。
目标系统功能齐全,能够完全满足业务需求。
6、安全保密性。
保证系统的物理安全、数据存储和存取的安全与保密、数据传输的安全与保密,做好使用人员的授权管理。
3.2系统的运行需求
1、操作系统
操作系统对使用jsp开发人力资源管理系统的影响不是很大,Windows2000、WindowsXP都可以,但好的操作系统可以使服务器运行的更流畅,减少系统崩溃的可能性。
因此,我们选用了稳定性较好的WindowsXP。
2、数据库
MySQL是一个小型关系型数据库管理系统。
其体积小、速度快、总体拥有成本低,开放源码。
所以我们选用了MySQL。
3、数据库通信接口
数据库通信接口采用JDBC(JavaDatabaseConnectivity,Java数据库连接)。
它是一个面向对象的应用程序接口(API),通过它可访问各类关系数据库。
对于程序员来说,只要构建了一个指向数据库的连接,就可以采用统一的应用程序编程接口实现对数据库的读写。
目前JDBC驱动已经提供了对大多数常见类型数据库的支持,包括MySQL、dBase、Access、SQLServer和Oracle等,也包括了对其他类型的数据库的支持,如文本、Excel电子表格等
4、安全机制问题的解决
在进入系统之前,要进行身份确认,只有用户名和用户密码都相符的用户方可进入本系统。
为了防止不合法用户对数据的察看和修改,本系统把用户分为二个级别:
管理员和普通用户。
管理员级用户不仅可以对数据查询,还可以对用户的使用权限进行控制,还可以对纪录进行增加、删除、修改等操作。
普通用户对数据可以查询。
当用户要进入系统是必须先输入用户名和密码,按“确定”按钮后,系统辨别用户身份,对合法用户根据用户的权限级别赋予相应的使用功能。
3.3系统数据流图
图3.1BBS论坛管理员数据流图(第一层)
图3.2BBS论坛用户数据
3.4用例图
图3.3BBS论坛游客用例图
图3.4BBS论坛用户用例图
图3.5BBS论坛管理员用例图
3.5数据库设计
3.5.1数据库选择
MySQL是一个小型关系型数据库管理系统,要使用MySQL做数据库,就不得不提到SQL(StructuredQueryLanguage)语言,我们使用SQL操作MySQL的数据库。
这种语言有两大特点:
所有数据库中数据都存储在表中;不允许按照某种特定的顺序来取出记录,因为这样会降低MySQL取记录的效率。
3.5.2创建数据库
打开MySQL数据库的图形化界面工具MySQL-Front,新建一个数据库,名称为“bbs”,字符集选择“gbk”。
新建表格时,类型选择“MyISAM”。
使用MySQL数据库,每一个表格都会生成3个文件,后缀名分别为.frm、.MYD、.MYI。
新建一个数据库的方法有多种,我们使用MySQL-Front来操作。
进入MySQL-Front后右击,选择[新建数据库]命令。
在出现的对话框中填写数据库的名称等信息,完成后点击确定按钮,即可完成数据库的创建工作。
3.5.3数据库的设计
1、数据库E-R图设计如下:
图3.6数据库E-R图
2、依据项目的处理需求,对应数据表的设计及功能如下:
用户信息表(user):
主要用于保存用户、管理员、版主信息
论坛信息表(forum):
主要用于保存论坛信息
主题信息表(topic):
主要用于保存主题信息
回复信息表(response):
主要用于保存回复信息
3、数据清单
字段名
字段类型
字段长度
是否允许为空
是否为主键
描述
username
varchar
20
不允许
是
用户名
password
varchar
20
不允许
否
密码
sex
varchar
2
不允许
否
性别
email
varchar
50
不允许
否
电子邮箱
icq
varchar
20
允许
否
QQ
signature
varchar
300
允许
否
个性签名
grade
varchar
20
允许
否
等级
表3.7用户信息表(user)
字段名
字段类型
字段长度
是否允许为空
是否主键
描述
id
int
4
不允许
是
ID
forumname
varchar
20
不允许
否
论坛名
manager
varchar
20
允许
否
版主
表3.8论坛信息表(forum)
字段名
字段类型
字段长度
是否允许为空
是否主键
描述
id
int
4
不允许
是
ID
title
varchar
300
不允许
否
标题
content
text
允许
否
内容
author
varchar
20
不允许
否
作者
submittime
date
不允许
否
提交时间
forumid
int
4
不允许
否
论坛ID
表3.9主题信息表(title)
字段名
字段类型
字段长度
是否允许为空
是否主键
描述
id
int
4
不允许
是
ID
title
varchar
300
不允许
否
标题
content
text
允许
否
内容
author
varchar
20
不允许
否
作者
submittime
date
不允许
否
提交时间
topicid
int
4
不允许
否
主题ID
表3.10回复信息表(response)
4概要设计
总体设计是在系统分析的基础上由抽象到具体的过程。
主要目标是将系统分析阶段所提出的反映了信息需求的系统逻辑方案转换成可以实施的基于计算机与通信系统的物理(技术)方案,为下一阶段系统实施提供必要的技术资料,应符合系统性,灵活性,可靠性,经济性的要求。
4.1系统功能模块图
图4.1BBS论坛前台功能模块图
图4.2BBS论坛后台功能模块图
4.2系统功能的设计
1、前台用户登录
用户待身份验证成功后,即可进入BBS论坛。
如果已注册用户填写的用户名及密码与数据库中的相应信息不匹配,则不能通过身份验证,系统转至消息页面,提示消息为“登录失败,用户名与密码无效”。
2、用户注册
此部分是实现用户的注册功能。
通过填写注册资料,正确填写后,点击注册按钮后便可成为注册用户。
用户名不允许重复。
性别只能选择男或女其中一个。
两次密码必须输入一致,否则不可以注册。
E-mail必须输入有效的邮箱地址。
用户注册成功后就可以使用前台的一切功能。
3、浏览所有论坛功能
用户登录成功之后,即进入论坛列表页面。
此页面显示BBS论坛中所有论坛信息。
4、浏览论坛所有主题功能
用户在论坛主页页面中单击某个论坛名链接将进入该论坛的主题列表页面,可以浏览该论坛所有主题。
5、发表主题
此部分实现用户的发表主题功能。
发表主题只针对已注册用户开放,如果想发表新的主题,必须登录,如果没有账号必须注册以后便可发表主题。
进到发表主题页面后,首先要填写自己想发表的主题,然后填写正文。
如果没有登录直接点击发表主题,系统将转至消息页面,提示消息为“您现在是游客,必须登录后才能发表主题”。
6、浏览所有回复帖子功能
用户单击某个主题名的链接时,显示该主题的所有回复帖子。
7、发表回复
发表回复只针对已注册用户开放,游客不可以发表回复。
如果没有登录直接点击回复则转到消息页面,提示消息为“您现在是游客,必须登录后才能发表回复”。
8、用户注销登录功能
此部分功能主要实现销毁用户登录信息。
9、后台管理员登录功能
管理人员待身份验证成功后,即可进入BBS论坛后台系统。
如果管理人员填写的用户名和密码与数据库中的相应信息不匹配,则不能通过身份验证,系统转至消息页面,提示消息为“很抱歉,您无权访问此页面!
”。
另外,管理员可以管理用户、论坛、主题,而版主只能管理主题。
用户则不能进行此操作。
10、管理用户功能
管理员可以浏览所有用户,模糊搜索用户,并对用户进行编辑,也可删除用户。
11、管理论坛功能
管理员可以浏览所有论坛,编辑论坛,新增论坛,删除论坛。
12、管理主题功能
管理员和版主可以浏览所有主题,搜索主题,删除主题。
13、数据备份
对数据进行备份和恢复,防止意外情况造成数据的损失。
5详细设计
5.1管理员登陆
5.1.1数据流程图
图5.1管理员登录数据流程图
5.1.2详细功能介绍
1.管理员必须经过登录,才能进入管理页面。
在阅览器中输入http:
//localhost:
8080/admin/adminlogin.jsp,即进入用户登陆页面。
在此页填写用户名和密码后,单机【登录】按钮,待身份验证。
验证成功即可进入管理页面,失败给出错误信息提示返回登陆页面。
相关代码如图6.3下所视
图5.2登陆成功的页面
图5.3登录失败的页面
登录功能实在stru