JSP+SQL BBS专题论坛系统开发和设计.docx
- 文档编号:29796511
- 上传时间:2023-07-27
- 格式:DOCX
- 页数:30
- 大小:619KB
JSP+SQL BBS专题论坛系统开发和设计.docx
《JSP+SQL BBS专题论坛系统开发和设计.docx》由会员分享,可在线阅读,更多相关《JSP+SQL BBS专题论坛系统开发和设计.docx(30页珍藏版)》请在冰豆网上搜索。
JSP+SQLBBS专题论坛系统开发和设计
BBS专题论坛系统开发和设计
学生姓名:
学号:
专业名称:
班级:
指导教师姓名:
系(部):
职称:
目录
前言
自我国正式进入互联网时代以来,短短的几年时光互联网在我国得到了飞速的发展。
目前它已经成为全球性信息传输的重要途径之一,并被喻为信息高速公路。
这不仅表现在互联网的基础设施方面,也表现在互联网的用户人数、互联网在各行各业的广泛应用等各个方面。
现实生活中的交流存在时间和空间上的局限性,交流人群范围狭小以及间断的交流不能保证信息的准确性和可取性。
因此伴随着网络的普及,论坛逐渐融入人们的生活。
人们只需通过网上论坛的交流扩大交流面,同时可以从多方面获得自己所需要的最及时的信息。
快速及时的进行交流现已成为人们生活中的一部分。
五彩缤纷的网上信息,使网络与人们的生活息息相关,于是出现了专题论坛。
它打破了地域限制,真正使信息得以全部共享,改变了人们的工作和生活方式。
专题论坛是区域内个人和个人的宣传自己的重要手段,同时人们了解当代社会的一种现状,也是了解信息的重要手段。
专题论坛系统是基于B/S模式上的一种交互性极强的电子信息服务系统。
它为网民提供一块公共的交流平台,每个用户都可以在上面发布自己的观点和不同的意见,以便与其他用户进行交流和讨论。
第1章专题论坛系统开发背景及意义
1.1系统开发背景
论坛又名网络论坛BBS,全称为BulletinBoardSystem(电子公告板)或者BulletinBoardService(公告板服务)。
是Internet上的一种电子信息服务系统。
它提供一块公共电子白板,每个用户都可以在上面书写,可发布信息或提出看法。
它是一种交互性强,内容丰富而即使的Internet电子信息服务系统。
用户在专题论坛上可以获得各种信息服务,发布信息,进行讨论,聊天等等。
论坛的发展也如同网络,雨后春笋般的出现,并迅速的发展壮大。
现在的论坛几乎涵盖了我们生活的各个方面,几乎每一个人都可以找到自己感兴趣或者需要了解的专题性论坛,而各类网站,综合性门户网站或者功能性专题网站也都青睐于开设自己的论坛,以促进网友之间的交流,增加互动性和丰富网站的内容。
而专题论坛只是其中的一类。
此类论坛是相对于综合类论坛而言,专题类的论坛,能够吸引真正志同道合的人一起来交流探讨,有利于信息的分类整合和搜集,专题性论坛对学术科研教学都起到重要的作用,例如军事类论坛,情感倾诉类论坛,电脑爱好者论坛,动漫论坛,这样的专题性论坛能够在单独的一个领域里进行版块的划分设置。
在本文中,主要介绍使用JSP和Servlet技术来实现论坛建设。
通过基于Internet互联网的动态WEB数据库技术,可以解决远程的数据传输与读取,远程的客户终端(Client)可以通过WEB页面提交请求,查询远端的数据服务器上的信息,同时还可以向远端数据服务器的数据库中存储信息,以实现信息的共享,同时利用Internet技术可以降低软件的开发和部署成本,只要在服务器端安装WEB应用就可以使每个客户端都能浏览使用。
目前,通过专题论坛系统可随时取得各种自己需要最新的信息;也可以通过专题论坛系统来和别人讨论计算机软件、硬件、Internet、多媒体、程序设计以及人文、地理等等各种有趣的话题;还可以利用本系统来发布一些“问题”、“廉价转让”、“招聘人才”及“求职应聘”等启事;更可以召集亲朋好友到聊天室内高谈阔论……这个精彩的天地就在你我的身旁,只要您拥有一台可以访问互联网的计算机,就可以通过这个交流平台,来享用它的种种服务。
1.2系统开发意义
当今网络技术逐渐渗入社会生活各个层面,以前网站上的专题论坛管理系统要用户登陆以后才能进行相关访问及互动。
而随着网络互联技术的进步,现在网站投票只需打开网页就可进行论坛留言。
专题论坛对象是很多的,各个层次都可进行论坛访问,大至国家领导,小至一个普通干部,访问和留言从到指定用户进行表格到现在通过网络直接点击相应就可进行。
专题论坛管理系统可解决游客访问及留言,致使现在几乎各个网站都有各种类型的专题论坛管理系统,用户可选择自己的看法。
同时为分散于五湖四海的人们提供一个共同交流、学习、倾吐心声的平台,实现来自不同地方的用户极强的信息互动性,用户在获得自己所需要的信息的同时也可以广交朋友,拓宽自己的视野和社交面。
通过网友的发帖中,能得到有益的教诲和启发。
网友通过发出关于国家,社会的有益的观点,能被有关部门采纳,而不是网友空自评论,自艾自叹,自喜自悲。
一些论点能做到各方观点正确公平的显示,具有参考价值。
专题论坛应具有知识性,趣味性,公平性,和谐性等优点。
专题论坛给天下的网民都提供了交流的平台,为网络的互动性作出了巨大的贡献,通过专题论坛,网民们得以更方便的交流,更便捷的发表自己的观点,而且发布信息都是通过有记录的文字来进行,所以这样也避免了精华内容的流失。
通过专题论坛来征得自己想要的信息,有更高的效率和时效性。
也最节约成本和资源,在专题论坛的交流过程中,无论喜怒哀乐都是在虚拟的环境中进行,也避免的正面的尴尬和冲突等,在专题论坛中,可以演变成任何角色,变换多种身份,因为网络的特征,使得人民更加依赖于论坛中的交流。
第2章专题论坛系统需求分析
2.1现状分析
随着全球英特网用户逐年增多,在中国,据中国互联网信息中心(CNNIC)最新的调查报告显示,截止2003年6月底,上网用户已达到6800万,比去年同期增长48.5%,而1997年10月首次调查结果只有62万,几年间增长了109.7倍。
上面数据可以看出当今社会网络迅速普及,人们交流的方式也层出不穷,随着新时代的进入。
人们对信息的需求也不断加大,对不同领域的讨论也越来越多了,因此开发一个专题论坛对人们的交流是非常有必要的。
2.2可行性分析
可行性分析也称为可行性研究,即是在系统调查的基础上,针对新系统的开发是否具备必要性和可能性,对新系统的开发从技术、经济、管理的方面进行分析和研究,以避免投资失误,保证新系统的开发成功。
可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。
该系统的可行性分析包括以下几个方面的内容。
2.2.1经济可行性
主要是对项目的经济效益进行评价,利用计算机来实现网上交流信息。
开发一套能满足网上信息交流的软件是十分必要的,实现用户发帖,回帖等功能,能发表自己的观点。
本系统在经济上是完全可以接受的,只需要用户在本地安装Web浏览器,登录论坛就可以浏览帖子并发表自己的意见。
所以本系统在经济上是可行的。
2.2.2技术可行性
技术上的可行性分析主要分析技术条件是否能顺利完成开发工作,硬、软件能否满足开发者的需要等。
软件方面,系统开发需要的各种软件环境都已具备,数据库服务器方面则有MySQL,均能够处理大量数据,同时保持数据的完整性并提供许多高级管理功能。
其灵活性、安全性和易用性为数据库编程提供了良好的条件。
因此,系统的软件开发平台已成熟可行。
硬件方面,科技飞速发展的今天,硬件更新的速度越来越快,容量越来越大,可靠性越来越高,价格越来越低,其硬件平台完全能满足此系统的需要。
2.3设计目标
专题论坛系统的总体目标:
1.游客可以查看帖子,并可以留言,给本论坛提供一些建议。
以便该论坛能做的更加的完美。
2.注册会员可以发表自己的帖子、回复帖子、修改个人信息等。
3.版主具有注册用户的所以功能,而且可以管理帖子。
4.管理员具有最大权限,可以执行任何操作。
比如增加、修改、删除板块;删除会员;管理版主等功能。
2.4功能要求
本系统根据论坛系统的需要,以实现交流信息的一个平台。
本系统的功能要求主要包括:
1.身份的安全验证。
主要完成系统登录用户的验证,对于非法用户将禁止登录,不同身份的用户被赋予不同的权限。
2.游客:
浏览帖子,留言。
3.注册会员:
发表、修改帖子;回复帖子,删除回复;查看、修改个人信息,留言
4.版主:
发表、修改、删除帖子;回复帖子,删除回复;查看、修改个人信息,留言
5.管理员:
删除、修改用户信息、将会员设为版主或撤销版主;添加板块、修改板块、删除板块;发布公告、修改公告、删除公告;查看留言、删除留言。
2.5平台选择
选择微软平台作为主导,一方面考虑目前微软的飞速发展,越来越多的企业在规划内部网络时,将微软平台作为首选方案;另一方面从技术角度来讲,微软平台上的应用无论是在开发上,还是在软件的部署上都是非常容易,而且性能优越。
具体如下:
1.开发工具:
MyEclipse8.5
2.辅助开发工具:
Dreamweaver8,EditPlus3,AdobePhotoshopCS4
3.数据库:
MySQL5.0
4.服务器:
ApacheTomcat6.0
5.运行环境:
安装JDK1.6支持Java运行。
6.技术:
前台网页的设计采用JSP技术制作。
负责响应用户对业务逻辑的请求并根据用户的请求行为,决定将哪个JSP页面发送给客户由servlet处理,JavaBean则负责数据的处理。
2.6系统开发工具
本系统是基于JSP+MySQL5.0数据库技术实现的,现对JSP技术和MySQL5.0数据库作简要的介绍。
2.6.1开发语言—JSP(JavaServerPage)
JSP页面由HTML代码和嵌入其中的Java代码所组成。
JavaServlet是JSP的技术基础,而且大型的Web应用程序的开发需要JavaServlet和JSP配合才能完成。
JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的等特点。
JSP的技术的优势:
1.一次编写,到处运行。
在这一点上Java比PHP更出色,除了系统之外,代码不需要做任何更改。
2.系统的多平台支持。
基本上可以在所有平台上的任意环境中开发,在任意环境中进行系统部署,在任意环境中扩展。
相比ASP/PHP的局限性是显而易见的。
3.JSP技术是用Java语言作为脚本语言的。
Java语言是成熟的、强大的、易扩充的编程语言。
4.高效性与安全性。
JSP在执行前先被编译成字节码,字节码由Java虚拟机解释执行,比源码解释效率高。
5.可维护性。
由于JSP技术是一种开放的、跨平台的结构,因此Web服务器、平台及其他组件能很容易升级或切换,且不会影响JSP基本的应用程序。
6.多样化和功能强大的开发工具支持。
Java已经有了许多非常优秀的开发工具,而且许多可以免费得到,并且其中许多已经可以顺利的运行于多种平台之下。
2.6.2数据库—MySQL5.0
MySQL是一个精巧的SQL数据库管理系统,虽然它不是开放源代码的产品,但在某些情况下你可以自由使用。
由于它的强大功能、灵活性、丰富的应用编程接口(API)以及精巧的系统结构,受到了广大自由软件爱好者甚至是商业软件用户的青睐,特别是与Apache和PHP/PERL结合,为建立基于数据库的动态网站提供了强大动力。
SQL是一种标准化的语言,它使得存储、更新和存取信息更容易。
例如,你能用SQL语言为一个网站检索产品信息及存储顾客信息,同时MySQL也足够快和灵活以允许你存储记录文件和图像。
第3章专题论坛系统设计
3.1数据库设计
在对系统数据库进行设计的过程中,通过对系统功能进行需求分析得到系统的基本信息表,绘制系统业务流程图和系统数据流程图,分析得到数据字典;在概率结构设计阶段通过对需求阶段得到的用户需求抽象得到数据库关系模型的E-R图;在逻辑结构设计阶段得到数据库的关系模式并绘制信息表。
3.1.1数据库需求分析
需求分析是设计数据库的起点,需求分析的结果是否准确地反映了用户的实际要求,将直接影响到后面各个阶段的设计,并影响到设计结果是否合理和实用。
3.1.1.1系统基本信息
综合以上分析,要实现上面的所有功能模块,数据库共要设计八个表,它们分别是:
1.用户表(user):
用户ID、用户名、密码、性别、Email、QQ、类型、发帖数、头像地址、注册日期、积分
2.版主(master):
版主ID、板块ID
3.管理员表(admin):
管理员ID、管理员姓名、管理员密码
4.板块表(plate):
板块ID、板块名称、帖子数、板块简介、创建日期
5.帖子表(posts):
帖子ID、帖子标题、帖子内容、发表日期、发表者、所在版块ID、回复数、点击数
6.回复内容表(reply):
回复ID、回复者、回复帖子ID、回复时间、回复内容
7.公告表(notice):
公告ID、公告标题、公告内容、发布时间
8.留言信息表(message):
留言ID、留言标题、留言内容、留言时间
3.1.1.2系统层次图
通过参考网上比较出名的论坛和查询相应的资料,大体了解了论坛系统的基本流程,因此设计了前台和后台两个模块的层次流程图。
前台层次图如图3-1所示:
图3-1前台层次图
后台层次图如图3-2所示:
图3-2后台层次图
3.1.2数据库概念结构设计
概念设计阶段主要是将需求分析阶段得到的用户需求抽象为信息结构(概念模型)的过程,它是整个数据库设计的关键,包括概念模型设计和新系统流程两个阶段。
在需求分析阶段所得到的应用需求应该首先抽象为信息世界的结构,才能更好地、更准确地用某一DBMS实现这些需求。
概念数据模型独立于具体的数据处理的细节和数据库管理系统。
这次设计仍采用传统的实体联系图作为概念设计的工具。
再进行优化后,尽量满足结构清晰、关联简洁、实体个数适中、属性分配合理、没有低级冗余。
系统E-R图如图3-3所示:
图3-3系统E-R图
3.1.3数据库逻辑结构设计
对于关系型数据库,数据库的概念结构设计完毕后,要把E-R图描述的概念数据模型转换为等价的关系模式极其约束。
逻辑设计的基本工作主要包括如下的3个步骤。
3.1.3.1专题论坛系统数据流设计模式
该设计以概念结构设计中的E-R图为主要依据,这几出相关的整体逻辑结构。
系统数据流设计如图3-4所示:
图3-4系统数据流设计图
3.1.3.2完整性设计
完整性要求用于描述各种信息之间的制约关系,以及关联关系,各个数据项的取值范围以及各个数据项是否可以取值。
根据实际需要,采取一定的手段来满足用户的完整性需求。
域完整性约束要求属性值必须在域中。
实体完整性约束要求主键必须唯一且不能为空。
如用户信息表中的用户名设置为主键,并且要求唯一且不能为空。
3.1.3.3模式优化
本次采用3NF为规范准则来分解关系。
将一个关系分解为两个或者多个关系,以满足规范,从而避免产生插入异常、删除异常、更新异常。
3.1.4数据库表设计
用户表如表3-1所示:
表3-1用户信息表(user)
字段名
类型(值)
说明
UserID(主键)
Int(10)
用户ID
UserName
Varchar(20)
用户名
UserPassword
Varchar(20)
用户密码
UserSex
Varchar(4)
用户性别
Varchar(50)
用户Email
Regdate
date
注册日期
Privilege
Int(10)
用户类型
0:
普通用户;1:
版主
Varchar(10)
ImageAddr
Varchar(20)
头像地址
UserPostsCount
Int(255)
用户发帖数
Integral
Int(255)
积分
板块表如表3-2所示:
表3-2板块信息表(plate)
字段名
类型(值)
说明
PlateID(主键)
Int(10)
板块ID
PlateName
Varchar(20)
板块名字
PlateDescribe
Varchar(128)
板块简介
PlateDate
date
创建日期
PostsCount
Int(255)
帖子条数
帖子信息表如表3-3所示:
表3-3帖子信息表(posts)
字段名
类型(值)
说明
postsID(主键)
Int(10)
帖子ID
Title
Varchar(128)
帖子标题
Content
Varchar(10000)
帖子内容
PostsDate
datetime
发表日期
UserName
Varchar(20)
发表者
PlateID
Int(10)
所在板块ID
Click
Int(255)
点击次数
ReplyCount
Int(255)
回复次数
回复信息表如表3-4所示:
表3-4回复信息表(reply)
字段名
类型(值)
说明
ReplyID(主键)
Int(10)
ID
ReplyContent
Varchar(5000)
回复内容
PostsID
Int(10)
回复帖子ID
UserName
Varchar(20)
回复人
ReplyTime
Datetime
回复时间
版主表如表3-5所示:
表3-5版主表(master)
字段名
类型(值)
说明
userID
Int(10)
版主ID(用户ID)
PlateID
Int(10)
板块ID
公告信息表如表3-6所示:
表3-6公告信息表(notice)
字段名
类型(值)
说明
NoticeID(主键)
Int(10)
公告ID
NoticeContent
Varchar(5000)
公告内容
NoticeTime
datetime
发表日期
NoticeTitle
Varchar(128)
公告标题
管理员信息表如表3-7所示:
表3-7管理员信息表(admin)
字段名
类型(值)
说明
ID(主键)
Int(10)
管理员ID
AdminName
Varchar(20)
管理员名字
AdminPassword
Varchar(20)
管理员密码
留言信息表如表3-8所示:
表3-8留言信息表(message)
字段名
类型(值)
说明
MessageID(主键)
Int(10)
留言ID
MessageTitle
Varchar(128)
留言标题
MessageContent
Varchar(5000)
留言内容
MessageTime
Datetime
发布时间
3.2系统结构设计
3.2.1页面模块化设计
模块化设计的要求不仅是为了提高代码的重用性,更重要的是为了提高代码的可维护性和稳定性。
一个模块化程度高、结构清晰的应用程序,在程序维护时的便利性是可想而知的。
最初设计方案时,就要规划好哪些模块是可以提出来多次使用,哪些模块虽只使用一次,但提出来之后能使代码更清晰等。
所以把页面中一些常用代码编写为独立的单元,例如页面的头部和尾部、首页各个显示区,这样设计新的页面时如果有重复出现的部分,只需要将编写好的模块用INCLUDE语句来组装就可以了。
专题论坛系统功能模块有以下几部分组成:
(一)用户注册
新用户注册,填写用户信息,检验用户信息的有效性,并将用户信息持久化。
(二)用户登陆
提供用户凭证,验证用户信息是否合法,根据用户角色授权。
(三)用户管理
管理员由系统初始化分配一个,管理员可以对用户信息进行部分更改,主要包括用户角色调整,版主调整,删除用户等。
(四)论坛版块管理
管理员可以添加、删除、修改论坛版块。
(五)帖子管理
管理员可以对所有帖子进行修改、删除等操作,版主可以对本版块帖子进行修改、删除等操作。
(六)帖子发表
注册用户可以在感兴趣的版块中发表新帖。
(七)帖子回复
用户可以对自己感兴趣的主题发表回复。
(八)帖子浏览
用户可以浏览所有帖子。
(九)意见建议
用户可以与我们联系,并欢迎提出各种意见和建议
3.2.2MVC模式设计(Jsp+Servlet+JavaBean)
MVC(ModelViewController)是一个设计模式,它强制性的使应用程序的输入、处理和输出分开。
使用MVC应用程序被分成三个核心部件:
模型、视图、控制器。
它们各自处理自己的任务。
视图是用户看到并与之交互的界面。
如何处理应用程序的界面变得越来越有挑战性。
MVC一个大的好处是它能为你的应用程序处理很多不同的视图。
JSP页面处于表现层,也就是视力(View即V)的角色。
模型表示企业数据和业务规则。
在MVC的三个部件中,模型拥有最多的处理任务。
由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性。
JavaBean则负责数据的处理,也就是模型(Model即M)的角色。
控制器接受用户的输入并调用模型和视图去完成用户的需求。
所以当单击Web页面中的超链接和发送HTML表单时,控制器本身不输出任何东西和做任何处理。
它只是接收请求并决定调用哪个模型构件去处理请求,然后用确定用哪个视图来显示模型处理返回的数据。
Servlet用来处理请求的事务,充当控制器(Controller即C)的角色,Servlet负责响应用户对业务逻辑的请求并根据用户的请求行为,决定将哪个JSP页面发送给客户。
初始的请求由Servlet来处理,Servlet调用商业逻辑和数据处理代码,并创建Bean来表示相应的结果(模型)。
然后Servlet确定哪个页面适合于表达这些特定的结果,并将请求转发到相应的页面(JSP页面即为视图),由Servlet确定哪个业务逻辑适用,应该用哪个JSP页面相应结果(Servlet就是控制器)。
第4章专题论坛系统实现
4.1系统各部分的实现方法
从系统功能模块划分中可以看出,系统总体上有九个功能模块组成。
各模块虽然是独立的,但又统一于同一数据库中,便于管理员管理维护数据库,同时也便于管理员和用户的操作。
在介绍系统各模块的实现方法之前,首先介绍系统与数据库的连接方式——使用JavaBean连接连接在服务器tomcat里配置的连接池。
再介绍系统主要部分的实现方法。
4.1.1创建与数据库的连接
配置数据源创建连接池,再通过JavaBean连接到数据源再对数据库进行操作。
连接池是创建和管理一个连接的缓冲池的技术,这些连接准备好被任何需要它们的线程使用。
连接池可以极大的改善用户的Java应用程序的性能,同时减少全部资源的使用。
连接池主要的优点有:
减少连接创建时间、简化的编程模式、受控的资源使用。
连接池能够使性能最大化,同时还能将资源利用控制在一定的水平之下,不过如果超过该水平,应用程序将崩溃而不仅仅是变慢。
配置连接池:
1.首先要将mysql的驱动包放在tomcat/lib目录下
2.在应用服务器Tomcat里的/conf下找到一个context.xml文件,在里面添加的内容如下:
auth="Container" type="javax.sql.DataSource" driverClassName="org.gjt.mm.mysql.Driver" url="jdbc: mysql: //127.0.0.1/bbs" username="root" password="123" maxIdle="30" maxWait="10000" maxActive="100"/> 需要访问数据库就通过在JavaBean创建的一
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JSP+SQL BBS专题论坛系统开发和设计 JSP SQL BBS 专题 论坛 系统 开发 设计
![提示](https://static.bdocx.com/images/bang_tan.gif)