基于J2EE的网络论坛的设计与实现.docx
《基于J2EE的网络论坛的设计与实现.docx》由会员分享,可在线阅读,更多相关《基于J2EE的网络论坛的设计与实现.docx(32页珍藏版)》请在冰豆网上搜索。
![基于J2EE的网络论坛的设计与实现.docx](https://file1.bdocx.com/fileroot1/2023-1/26/3b802f3a-6e4a-4c21-90d4-dffbc5f32158/3b802f3a-6e4a-4c21-90d4-dffbc5f321581.gif)
基于J2EE的网络论坛的设计与实现
基于J2EE的网络论坛的设计与实现
摘要
随着计算机技术的飞速开展,学校也已进入信息化时代。
为了方便大学的学生管理以及学生进展互动交流,决定开发采用MVC模式,基于JSP的网络论坛,数据库使用SQLServer,在系统设计过程中,尽量采用易懂易读的人机界面,使用户可以在短期内完全掌握。
软件开发过程中始终把系统的正确性放在首位,力求数据的完整和处理的正确性。
在此根底上优化程序代码,加速系统运行和减少对系统资源的占用。
论文里说明了网络论坛的总体设计方案,包括了系统运用的关键技术,数据库设计,对各个功能模块的详细设计以及实现,本系统实现了注册会员,会员登录,登录后可以浏览个个模块内帖子,可以发帖回帖,查看斑竹、发帖人信息,管理员具有更改用户权限,删除用户,管理板块,能够增加、删除、修改板块信息,负责帖子的置顶精华管理。
关键词:
校园论坛;MVC;JSP;SQLServer
ABSTRACT
Alongwiththerapiddevelopmentofcomputertechnology,theschoolalsohasenteredtheinformationage.Inordertofacilitatethemanagementofuniversitystudentsandstudentsinteract,decidedtodeveloptheMVCpattern,theseniorhighschoolMuLanXianbasedonJSPcampusBBSsystem,databaseusingSQLServer,insystemdesignprocess,makeuseoftheman-machineinterfacesimpleandeasytoread,userscanfullymasteredintheshortterm.Softwaredevelopmentprocessalwaysputthecorrectnessofthesysteminthefirstplace,strivetotheintegrityofthedataandprocessingaccuracy.Basedonthisoptimizationprogramcode,acceleratesystemoperationandreduceonthesystemresourcesoftheoccupation.
ThesisillustratesMuLanXianseniorhighschoolcampusBBSsystemoveralldesignschemeofthesystem,includingtheuseofkeytechnologies,databasedesignofeachfunctionalmodules,detaileddesignandimplementation,thissystemrealizestheregisteredmembers,memberslogin,logoncanbrowseeachmodulepostPostingreplies,check,canl,post,administratorswhohavechangeuserinformationpermissions,deleteauser,managementplate,canadd,delete,modifyplateinformation,beresponsibleforthemanagementofpostsset-topessence.
Keywords:
campusBBS;MVC;TheJSP;SQLServer
第一章概述
在互联网技术高速开展的推动下,互联网跨入了虚拟社区时代。
根据2021年1月?
第25次中国互联网开展状况统计报告?
,我国上网的3.84亿人中有38.8%使用论坛、BBS等各种形式的虚拟社区,用户规模到达9822万人,在网络应用中排名第九,已经跻身十大网络应用之列。
校园论坛系统开展势头非常迅猛。
论坛是电子公告板系统(BulletinBoardSystem),它通过在计算机上运行效劳软件,允许用户使用终端程序通过调制解调器拨号或者Internet来进展连接,执行下载数据或程序、上传数据、阅读新闻、与其它用户交换消息等功能。
论坛系统开发技术开展至今,从CGI,ASP,到PHP已经日趋成熟,功能也更加丰富,但携着Sun公司的Java技术所实现的“一次编写,到处运行〞的优势,继承这一衣钵的JSP技术越来越受到人们的注视。
为了进展更好的交流。
根据校园的开展需求,需要一个校园的公共论坛,使得学校信息更加的透明,推动了学校的信息化建立,同时还提供学生和教师以及社会人士的交流平台,方便大家交流思想,有效的解决了大家信息交流不方便不及时,信息闭塞的问题,对学校的建立,起到了积极推动的作用。
1.2相关技术简介
在开发网络论坛中,考虑到系统的开发时间,系统的可用性,以后的维护我们采用了javaBean技术,为了减轻忘了负载采用jsp动态网页技术。
1.2.1JavaBeans技术简介
JavaBeans是Java的可重用组件技术。
ASP通过COM来扩大复杂的功能,如文件上载、发送Email以及将业务处理或复杂计算别离出来成为独立可重用的模块。
JSP通过JavaBeans实现了同样的功能扩大。
JSP对于在Web应用中集成JavaBeans组件提供了完善的支持。
这种支持不仅能缩短开发时间〔可以直接利用经测试和可信任的已有组件,防止了重复开发〕,也为JSP应用带来了更多的可伸缩性。
JavaBeans组件可以用来执行复杂的计算任务,或负责与数据库的交互以及数据提取等。
在实际的JSP开发过程中,和传统的ASP和PHP页面相比,页面将会是非常简洁的,由于JavaBeans开发起来简单,又可以利用Java语言的强大功能,许多动态页面处理过程实际被封装到了JavaBeans中。
在网络论坛中,JavaBean技术起到了重要的作用,使数据库连接等功能不必要使用重复代码,对系统以后的维护也简便了许多。
1.2.2JSP技术简介
JSP〔JavaServerPages〕是由SunMicrosystems公司倡导,许多公司参与一起建立的一种动态页面技术标准,其在动态网也的建立中由其强大而特别的功能,它主要要用于创立支持跨平台Web效劳器的动态网页。
JSP可与微软的ActiveServerPages〔ASP〕相媲美,但是JSP使用的是类似与HTML的标记和Java代码片断而不是用VBScript。
当人们使用不提供ASP本地支持的Web效劳器〔例如Apache或者Netscape效劳器〕时,你就可以考虑使用JSP了。
JavaServerPages技术可以让Web开发人员和设计人员非常容易的创立和维护动态网页,特别是目前的商业系统。
作为Java技术的一局部,JSP能够快速开发基于Web,独立与平台的应用程序。
JSP把用户界面从系统内容中别离开来,使得设计人员能够在不改变底层动态内容的前提下改变整个网页布局。
在JSP网页中,要把用户界面和应用程序分开可以考虑在网页设计人员和开发人员之间执行一个非常方便的授权任务。
它也允许开发人员去建立灵活的代码,从而非常容易地进展更新和重复利用。
由于JSP网页能够根据需要自动进展编译,Web设计人员无需重新编译应用程序逻辑就可以改变表述代码。
这也就是JSP与JavaServed相比成为一种可以更灵活生成动态Web内容的方法。
事实证明,JavaServed是一种开发Web应用的理想架构。
JSP以Served技术为根底,又在许多方面做了改良。
利用跨平台运行的JavaBeans组建,JSP为别离处理逻辑与显示样式提供了卓越的解决方案。
JSP必将成为其他动态网页技术的有力竞争者。
在开发论坛系统中,运用JSP动态网页技术,大大减少了网络效劳器的负担,大大的提高了论坛系统的性能,也有利于日后其他程序呀对系统的维护。
图1.1JSP文件执行图
1.2.3SQLServer数据库简介
SQLServer2000是一个中、小型数据库管理系统,使用方便、功能强大,与其它数据库有良好的接口。
通过SQLServer2000功能强大的工具,用户可以方便的使用和管理数据库,如创立和编辑数据表、设计和使用各种查询工具进展查询操作、设计和使用窗体、制作和打印报表、设计和使用宏、设计和使用Web页等。
还可使用VBA〔VisualBasicforApplication〕开发高级应用程序。
SQLSever2000具有完整的数据库应用开发工具,用户可以方便的设计、修改、浏览一个记录数据的根本表;可以在表数据中进展各种筛选和查询操作;可以设计和使用各种窗体以实现数据显示和操作;可以根据表数据设计打印各种报表;可以设计和使用宏,对表进展一系列特定的操作。
SQLServer2000内有强大的操作向导,为用户提供了丰富的数据库根本表模板。
用户只需简单的操作就可建立数据库中所使用的各种根本表、窗体和报表。
在SQLServer2000中,可以设定、修改根本表之间的关联,从而实现在多个相关表之间的关系查询。
SQLSever2000中的宏可以实现操作的自动化,使操作更加简单、快捷。
SQLServer2000增强了网络功能,用户可以轻松自如地完成网页发布等。
SQLServer2000不仅可以处理自身的数据库文件,还可以处理其它一些数据库系统管理软件所建立的数据库文件,能识别DBase、FoxBase、FoxPro、Paradox、Btrieve等数据库格式文件,并且支持开放式数据库互连性标准〔ODBC〕的SQL。
SQLServer2000能与工作站、数据库效劳器或主机上的各种数据库互相连接,并可用于建立客户/效劳器应用程序中的工作站局部。
1.2.4MyEclipse简介
MyEclipse企业级工作平台〔MyEclipseEnterpriseWorkbench,简称MyEclipse〕是对EclipseIDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布,以及应用程序效劳器的整合方面极大的提高工作效率。
它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML,Struts,JSF,CSS,Javascript,SQL,Hibernate。
在构造上,MyEclipse的特征可以被分为7类:
〔1〕JavaEE模型
〔2〕Web开发工具
〔3〕EJB开发工具
〔4〕应用程序效劳器的连接器
〔5〕JavaEE工程部署效劳
〔6〕数据库效劳
〔7〕MyEclipse整合帮助
对于以上每一种功能上的类别,在Eclipse中都有相应的功能部件,并通过一系列的插件来实现它们。
MyEclipse构造上的这种模块化,可以让我们在不影响其他模块的情况下,对任一模块进展单独的扩展和升级。
1.3开发模式介绍
目前,在大多数B/S〔Browser/Server〕构造的Web应用中,浏览器直接通过HTML或者JSP的形式与用户交互,响应用户的请求。
虽然很直观,但是大多数管理信息系统操作的数据量都是惊人的,随着代码的增多会使JSP页面臃肿不堪,Web效劳器的负荷过重。
因此,在中间层上采用基于模型视图控制器(MVC,Model-View-Controller)的设计模式。
MVC之间的关系如图1.1所示,Model层用来实现业务逻辑,View层用来显示用户界面,Controller层主要负责View层和Model层之间的控制关系。
具体实现时,把Servlet用作应用程序的控制器,把JSP文档作为视图,JavaBeans被用来表示模型。
所有的请求都被发送给作为控制器的Servlet,它承受请求,并根据请求信息将它们分发给适当的JSP来响应。
同时,Servlet还根据JSP的需求生成JavaBeans的实例并输出给JSP环境。
JSP可以通过直接调用方法或使用UseBean的自定义标签得到JavaBeans中的数据。
这种设计模式很好地实现了数据层与表示层的别离,使开发工作更加容易和迅速[13]。
图MVC之间的关系图
效劳器配置
1.4.1JDK的安装和配置
安装JDK这是进展JSP开发的重要一步,也是安装JSP引擎〔Tomcat、Resin、Weblogic等〕的前提,一般的JSP引擎是由Java语言编写的。
本工程我选择了安装JDK6版本。
安装界面如图一直Next即可。
图1.2JDK的安装界面
完成安装之后并不能成功使用,因为操作系统找不到JDK的安装路径。
如图。
必须告诉操作系统去哪些目录下找到你要使用的工具程序,这就需要设置Path环境变量。
Path:
%JAVA_HOME%\bin
图1.4Path环境变量
1.4.2TOMcat的安装和配置
tomcat安装可以到上去下载,这是一个完全免费的优秀软件,安装之前要保证本机安装了JDK。
在Tomcat安装目录下的bin子目录中,有一些批处理文件〔以.bat作为后缀名的文件〕,其中的startup.bat就是启动Tomcat的脚本文件,用鼠标双击这个文件,将会看到信息,在浏览器地址栏中输入:
//127.0.0.1:
8080/如果出现界面如图1.5那么说明安装成功即可以进展配置配置,tomcat首先要修改端口号,将端口号修改为了8080,然后建立虚拟目录配置调试。
图1.5tomcat成功界面
第二章系统需求分析
系统的开发首先需要对系统的功能框架等进展一个根本的分析。
首先要掌握系统需要的框架以及系统需要有哪些功能,这些都需要多参考比拟成功的BBS论坛学习经历,我对水木社区,新一塌糊涂BBS,大话西游BBS几个知名论坛进展了研究参考,经过对这些知名论坛的研究参考我认为网络论坛用于在互联网上为学生们提供一个信息发布或信息交流的场所。
应具备以下功能:
前台主要包括用户的登陆,用户的注册,发布主题,回复信息等,为了让有不同目的趋向的用户可以清楚的找到自己感兴趣的主题以及一样兴趣的用户可以更方便的交流我将系统设计成了由多个专区组成的论坛,这样极大的方便了用户,也是界面友好性的一个表达。
后台局部包括管理员的登陆,管理员的注销,专区的管理,用户的管理,主题的管理以及回复信息的管理。
专区的管理包括对专区版主的设定、撤销,对专区的增加、修改、删除。
用户的管理包括对用户的删除、级别的设定和修改。
主题及回复信息的管理也包括了常见的修改、删除。
对于贴子查看、发表贴子以及回复贴子这类频繁发生的系统操作,要采取适当的技术优化这类数据操作,以提高数据存取效率。
通过这些功能极大的方便了用户的发言、查找,同时也将管理员的工作简单化、有效化,使管理员能过更方便的管理和监视论坛,保证了论坛的平安运行。
考虑到论坛系统使用的特殊性需要满足以下要求:
〔1〕时间特性
校园论坛的数据库较小,所以程序在响应时间,数据更新处理时间上性能是比拟突出的。
由于数据量相对较少,故在数据传输时间和系统运行时间上表现的较让人满意。
〔2〕通用性
由于用户的操作系统不尽一样,这就要求考虑各平台之间的异性,而校园论坛所采用的基于B/S的构造就很好的解决了这个问题,用户端只需要有浏览器就可以使用校园论坛系统。
〔3〕保密性
大局部网站都会注意会员信息的保密性,因此为了保护注册会员的隐私,校园论坛系统对此也采取了相应的措施,只有注册的用户自己和他添加的好友才能看到他的个人相关信息。
2.3开发环境
2.3.1硬件环境
●
●内存:
1GB及以上
●硬盘空间:
120GB及以上
2.3.2软件环境
●操作系统:
WindowsXP或以上版本
●
●数据库:
SQLServer或以上版本
●效劳器:
Tomcat6.0或以上版本
第三章总体设计
功能构造设计
根据需求分析,将论坛系统分为分为两大模块:
前台模块和后台模块。
前台功能模块包括3局部:
〔1〕登录模块:
用户在前台可以注册、登录;〔2〕浏览模块:
用户可以浏览主题帖列表、查看帖子;〔3〕发帖回帖模块:
用户可以发帖、回帖、编辑自己发布的帖子。
后台模块都是与管理员相关的,也包括3局部:
〔1〕论坛设置模块:
管理员可以设置论坛参数;〔2〕管理版块模块:
创立、修改和删除版块;〔3〕管理用户模块:
添加、删除和设置权限。
在线论坛的功能构造如图3.1所示:
登录
在线论坛网站
前台模块
注册登录
浏览
发帖回帖
管理帖子
后台模块
论坛设置
管理板块
管理用户
注册
主题帖列表
查看帖子内容
版块列表
搜索帖子
发帖
回帖
编辑帖子
删除
编辑
置顶
转移
删除
添加
修改板块信息
删除
添加
设定权限
管理新闻
图3.1校园论坛的功能构造图
3.2功能模块介绍
论坛系统中有两种用户:
注册用户和管理员用户。
论坛中的版主权限,划分给管理员。
(1)对于注册用户,在论坛中的行为可以归纳如下行为。
●注册登录
因为论坛的特殊性以及网络的法律薄弱性本系统我采用了无匿名登陆模式,用户想要对页面进展操作那么必须想登陆,非登陆用户对页面进展操作,系统将不对其给与运行同时提示用户必须先注册。
●浏览
浏览版块列表选择某版块,浏览其下的主题贴列表,查看帖子内容。
搜索需要的帖子。
这些行为是用户读取论坛的版块及其帖子的相关信息,设计成浏览版块。
●发帖回帖
可以发表新帖子,也可以回复已有的帖子,同时可以编制自己写的帖子内容。
这些行为是用户参与论坛讨论,发表自己的见解,设计为发贴回帖模块。
〔2〕对于管理员,需要负责整个论坛的正常运转,因此它需要根多的管理功能,可以归纳如下行为。
具备注册用户的所有功能,因为管理员也是论坛用户,可以参与论坛中的讨论。
注册
用户名是否有效
从新注册
二次密码是否一致
主界面
验证邮箱是否正确
图3.2注册流程图
会员
选择专区
发布主题
选择浏览主题
发布回复信息
提交
图3.3会员操作流程
●管理帖子
管理员对论坛的帖子有监视的权利,好的帖子要奖励,捣乱的帖子要删除,标识精华贴,至顶帖子,转移发错版块的帖子,这些行为都是针对帖子的操作,设计成管理帖子模块。
●管理版块
论坛中的版块,需要管理员进展创立,管理版块信息,这些针对版块的操作,设计成管理版块模块。
●管理用户
用户注册成功后,需要管理员赋予权限,才能使用论坛的相关功能。
同时,管理员可以自己添加,删除用户,这些针对用户信息的操作,设计成管理用户模块。
〔3〕对于论坛系统来说,联系各个模块的主线是使用者的权限,用户能使用论坛的哪些功能是由用户权限决定的。
论坛的每个功能都与相关的权限对应。
例如,注册用户具有浏览帖子,发贴,回帖的权限,那么他就能使用论坛中的浏览,发贴,回帖功能。
同一类用户使用的功能模块,是以使用者为中心连接起来的。
另外,操作同一类事物的功能模块,也有相关关系的。
因此,浏览模块与发帖回帖模块,管理帖子模块关联,是由论坛系统流程决定的。
管理版块模块与浏览模块关联,是由帖子与版块的父子关系决定的,帖子依附与版块,先有版块,后有帖子,帖子必须发表在每个版块中。
用户管理模块与注册登录模块关联,是由同一类对象——用户决定的,注册后获得论坛的身份,成为用户,所以的用户需要接收管理员的管理,用户登录证明自己在论坛中的身份。
根据系统的入口不同,可分为前台系统和后台系统。
前台包括注册登录模块,浏览模块,发帖回帖模块,管理帖子模块;后台包括管理用户模块,管理版块模块。
管理员
栏目管理
专区管理
用户管理
添加专区
选
那么专区
删除专区
显示所有主题
显示所有用户
更换斑竹
删除主题
删除用户
修改用户权限
搜索用户
图3.4管理员操作流程图
第四章数据库设计
4.1数据库的安装
数据库我使用了SQL,安装界面如图。
图4.1SQL安装界面
安装时我们创立一个SQLServer实例。
图4.2选择界面
一切设定好后,安装程序开场向硬盘复制必要的文件,开场正式安装
图4.3安装完成
4.2数据库概念构造设计
根据系统总体设计,校园论坛网站的实体主要有:
管理员实体,用户信息实体,帖子实体,短信息实体。
〔1〕管理员信息实体E-R图如图4.1所示:
管理员
用户
密码
权限
图4.4管理员信息实体E-R图
〔2〕:
用户
密码
头像
用户名
图4.5用户信息实体E-R图
〔3〕:
帖子
用户
内容
所属版块
主题
图4.6帖子实体E-R图
4.3数据库逻辑构造设计
通过对系统的需求和功能的分析我将系统的数据构造主要分为四个局部,包括用户信息,专区信息,主题信息以及回复信息。
用户信息包括:
用户id,用户名,真实姓名,用户密码,密码确认,用户性别,用户联系方式,用户头像,E_mail,。
tb_bbsAnswer用于存放会员留言。
tb_bbs用于存放会员发表的帖子信息。
tb_user用于存放论坛用户信息。
tb_news用于存放新闻。
tb_class用于存放论坛类别介绍。
Tb_board用于存放版面信息。
建立数据库构造如图:
tb_user表
字段
描述
类型
空值
长度
id
注册用户
smalint
非
2
user_name
用户名
varchar
是
20
user_password
密码
varchar
是
20
user_phone
手机号
varchar
是
12
uwer_email
邮箱
varchar
是
100
user_sex
性别
varchar
是
2
user_face
头像
varchar
是
11
User_from
用户地区
varchar
是
200
tb_bbs表
字段
描述
类型
空值
长度
bbs_id
帖子编号
int
非
4
bbs_title
帖子标题
varchar
是
70
bbs_content
帖子内容
varchar
是
2000
bbs_sendTime
发帖时间
datetime
是
8
bbs_sender
发帖人
varchar
是
20
bbs_face
发帖人头像
varchar
是
10
bbs_opTime
置顶时间
varchar
是
8
bbs_toGoodTime
成为精华时间
varchar
是
8
tb_bbsAnswer表
字段
描述
类型
空值
长度
bbsAnswer_id
留言编号
int
4
bbsAnswer_rootid
留言者编号
int
是
4
bbsAnswer_title
回帖标题
varchar
是
70
bbsA