当前位置:文档之家› 基于BBS论坛系统设计与实现

基于BBS论坛系统设计与实现

目录1 背景及意义 (II)2系统总体设计 (3)1 系统目标 (3)2系统功能划分 (4)1 前台功能结构 (4)2 后台功能结构 (5)3 系统开发环境 (5)1 开发环境 (6)2 系统平台体系结构的选择 (6)3 JAVASCRIPT语言简介及特点 (6)4 JSP概述 (6)5 MYSQL (7)6 JDBC技术 (7)3数据库设计 (8)3.1 数据库分析 (9)3.2 数据库概念设计 (VII)3.3 数据库的逻辑设计 (VIII)4系统详细设计与实现 (X)4.1 前台设计 (X)1 前台页面设计与实现 (X)2 用户登录、管理员登录 (14)3 论坛版块的展示 (14)4 发表新主题 (15)5 查看及回复主题 (15)4.2 后台设计 (16)1 管理员登录 (16)2用户信息管理 (17)结束语 (17)参考文献 (18)1、背景及意义网络的兴起与发展,极大地改变了人们的思维和行为习惯。

基于网络的应用也层出不穷,论坛就是最早兴起的应用之一。

作为一种传递消息的方式,最早的BBS的作用是公布股市的即时消息,而随着时代的发展,现在的BBS的内容已达到无所不包的程度。

小到生活趣事,大到专业知识,各种各样的主题论坛让人眼花缭乱。

论坛网页的形式也由最初的静态页面发展到现在的动态页面,更好的实现了用户之间的交互。

财大家园论坛就是通过动态Web开发技术和数据库技术实现的以财大学生与老师为主要服务对象的一个基于现实环境之上的一个网上论坛,力求创造出一个模拟的网上校园虚拟环境。

此论坛是基于B/S模式的一种JSP网页论坛的设计与实现,力求做到界面友好、简单和易于操作。

论文从几个大的方面来对系统的开发做出了阐述。

在系统分析一章从需求分析和可行性分析两方面来做具体阐述;系统整体设计则从系统目标、系统功能划分和系统开发环境三大方面说明,结合后面的系统详细设计与实现一章完成对系统从整体到细节的全方位的理解。

开发BBS论坛系统的目的是为了提供一个大家交流的平台,供人们发表看法、探讨经验、讨论问题。

因此,BBS论坛系统的最基本的功能是发表主题,其次是其它人员根据主题发表自己的看法,即回复主题。

考虑到现实情况,并不是每一个访问的游客都具有发表主题的权利,所以必须用一个身份绑定用户,赋予其发表主题的权利,这就需要实现用户注册及登录的功能。

每一个系统都需要管理员这个特殊群体的存在,所以也需要实现管理员登陆的功能。

管理员区别于一般用户的地方在于,管理员往往具有更高的权限,有权对用户信息和帖子内容作出某些“增删改查”的操作,所以,针对管理员,系统应该实现删除和修改帖子以及对用户的管理等功能,以实现管理员对社区的管理。

考虑到社区访问量会很大,用户发表的帖子的数量自然很多,在浩瀚的帖子海洋中,如何才能查看自己感兴趣的帖子成为了一个不得不考虑的问题。

所以,系统还应该实现搜索帖子的功能,用模糊查询的方法,对社区的帖子进行筛检的工作。

本系统针对用户还实现了一个特殊的功能,即邮件发送。

如果某个用户对其他的用户感兴趣,那么可以通过将邮件发送到指定用户注册时所填写的邮箱地址,这样的话,就能够实现即时通讯的功能。

2 系统总体设计1 系统目标基于BBS论坛在现实生活的实际应用,本系统的系统目标是提供一个以现实环境为基础的网上模拟交流平台,通过它,人们可以不必拘泥于空间和时间上的限制,方便交流,畅所欲言,同时也能够更加便利的看到周围人的想法,观点,最大化的丰富人们的视野和生活,让人随时都能身在其中,随时也能置身事外。

2 系统功能划分2.1 前台功能结构系统的前台初始页面如下,登录地址为“http://localhost:8080/BBS”:图2-1财大家园网首页当用户登录到论坛首页时,其默认的身份就是游客,只能查看、回复、搜索帖子,而不能执行发帖等其它操作。

如果用户为非注册用户,则其可以进行注册以获得一个登录身份。

如果用户为已注册用户,则其可以直接进行登录,然后以注册用户的身份执行诸如发表新主题、查看新主题、回复主题、搜索主题等一系列操作。

此时,用户已经具有了一种身份,此后用户可以以此种身份执行诸如发表新主题、查看主题、搜索主题、回复主题等操作。

2.2 后台功能结构后台功能主要是针对管理员而设置的,用户以管理员的身份登陆后,就能执行后台管理的操作,具体到此BBS论坛,主要是指删除和修改主题以及对用户信息的管理。

后台系统流程图如下:图2.2 后台系统流程图2.3 系统开发环境1 开发环境在建立工程前,需要首先搭建开发环境。

此BBS论坛系统的开发需要用到以下几种工具,故开发前需要进行相应的下载和安装:开发平台:MyEclipse 9.0M2Web服务器:Tomcat 7.0.5数据库服务器:MySQL 5.1Java开发工具:JDK 1.6.0辅助工具:Dreamweaver CS42 系统平台体系结构的选择在系统开发领域内,目前存在两大主流系统平台的开发结构,一种是C/S结构,而另一种是B/S结构。

C/S结构,即大家熟知的客户端/服务器结构,是一种应用较早,相对传统的开发模式。

通过它,可以充分利用两端硬件环境的优势,将任务合理的分配到Client端和Server端,降低了系统的通讯开销。

B/S结构,即浏览器/服务器结构,是随着Internet的兴起,对C/S结构的一种变化或者改进。

在这种结构下,用户不需要借助于客户端软件,通过WWW浏览器,即可实现系统的全部既定功能。

在这种模式下,一部分事务逻辑在前段实现,但是主要事务逻辑在服务器端实现,大大简化了客户端电脑载荷,减轻了系统维护与升级的成本,从而降低了用户的整体成本。

从开放程度来说,传统的C/S结构虽然采用的是开放模式,但这个开放性只是针对系统开发一级的,在特定的应用中,无论是客户端还是服务器端都还需要特定的软件支持。

而B/S结构,是一次性到位的开发,应用此模式开发的系统,不同人员,在不同地点,以不同的接入方式(比如LAN、WAN等)访问并操作共同的数据库,能有效地保护数据平台和管理访问权限,服务器的数据库也很安全。

特别是在Java这样的跨平台语言出现之后,B/S架构管理软件起来更是显得方便,快捷和高效。

可以说,B/S是乘着Internet兴起的风而杨风远航的,是适应时代的产物。

但是,B/S也存在着自己的不足,比方说其在大量数据分析,实时控制应用方面就存在着需要改进的地方。

综合考虑,本系统还是考虑使用当下流行的B/S结构作为系统的开发模式。

3 JSP概述JSP是由Sun公司在Java语言的基础上开发出来的一种动态网页制作技术,其将标记<% %>插入到页面中,从而使网页中的静态部分和动态部分分离开来。

JSP是类似ASP 的一种技术,在传统的静态网页HTML文件插入Java程序段和JSP标记,就形成了JSP 文件。

JSP技术的强势在于:1、一次编写,到处运行。

在更换系统时,代码不需要做任何修改。

2、系统的多平台支持。

基本上可以在所有平台上的任意环境下开发,在任意环境中进行系统部署,在任意环境中扩展。

3、强大的可伸缩性。

通过小小的jar文件运行servlet/JSP,到由多台服务器进行集群和负载均衡,到多台Application进行事务处理,一台服务器到无数台服务器,JSP 表现了强大的可伸缩性。

4、多样化和功能强大的开发工具支持,常用的编辑工具有Dreamweaver和MyEclipse 等。

3.3.5 MySQLMySQL可以称得上是目前运行速度最快的SQL语言数据库,除了具有许多其他数据库所不具备的功能和选择外,MySQL数据库是一种完全免费的产品,用户可以直接从网上下载数据库,用于个人和商业用途,而不必支付任何费用。

3.3.6 JDBC技术数据库管理是每个应用系统开发过程中不得不考虑的问题,目前主流的数据库有Oracle、SqlServer、MySql等。

不管使用何种技术,都离不开JDBC技术的支持。

JDBC 的全称是Java DataBases Connectivity standard,即Java数据库连接,是一种数据库通用接口采用的主流技术。

其定义了用来访问数据库源的标准Java类库,通过它使用一种标准方法,就能够方便的访问数据库资源。

所以,JDBC又是一种规范,其目标是使应用程序开发人员通过它连接任何提供JDBC驱动程序的数据库系统,这样就使得程序员无需对某种数据库有过多的了解,大大加快了开发过程。

有了JDBC,向各种数据库发送SQL语句就是一件再简单不过的事了。

换言之,有了JDBC,就不必为访问数据库A专门再写一个程序,又为访问数据库B专门写一个程序。

所以,JDBC为Java应用程序与各种不同数据库之间进行对话提供了一个标准的方法,这也是Java语言“一次编写,到处运行”的优势。

4 数据库设计4.1 数据库分析数据库的设计,在应用系统的开发中起着举足轻重的作用。

一个合理、有效的数据库设计不仅是做好系统的保证,也能降低程序的复杂性,使程序的开发过程变得更加容易。

本系统是一个中型的BBS论坛系统,考虑到用户信息量和用户需求等问题,决定采用MySQl作为项目用数据库。

MySQl是一个中小关系型数据管理系统,最初由MySQL AB公司发布。

MySQL由于体积小、速度快、总体拥有成本低等原因,成为许多中小型网站数据库的首选。

MySQL可以称得上是目前运行速度最快的SQL语言数据库,此外,MySQL数据库是一种完全免费的产品,用户可以直接从网上下载数据库,用于个人和商业用途,而不必支付任何费用。

4.2 数据库概念设计ER图是实体联系图,E-R模型是对现实世界的一种抽象。

其组成部分主要包括实体、联系和属性。

使用这三种成分,我们可以很好的抽象出现实世界中的个体,并通过彼此之间的联系来抽象整个世界。

E-R模型是设计数据库时经常使用到的方法。

经过分析,本系统创建了五张数据库表,即帖子表(article)、版块表(edit)、用户等级表(grade)、用户表(user)和管理员表(admin)。

下面划分出本系统所使用的数据库实体,它们分别为用户(User)和帖子(Article)以及管理员(admin)。

以下是帖子、用户和管理员的实体图:图4-1帖子实体图4.3 数据库的逻辑设计1、帖子表(Article)下面是对表Article的具体设计表4-3 article*pid是父亲id的编号,表示被回复的帖子id号。

*rootid表示根贴的id号,表示最初发起主题的帖子id号。

*editNo表示帖子所属的板块号,每个版块的帖子分版块区别显示。

*title表示帖子的主题。

*cont表示帖子的内容。

*pdate表示发帖的具体时间。

*writer表示发帖的作者,此外键对应user表中userName字段。

相关主题