基于JSP的学术交流论坛系统的设计与实现
学术交流论坛系统是依照MVC模式进行设计实现的,採用Tomcat作为后台server。以MySQL数据库作为数据server,使用SERVLET进行逻辑控制,表现层用JSP页面显示,用于在网络上为网民提供一个学术交流的场所.实现了查看、发表、删除帖子功能,论坛帖子版块控制。注冊用户能够改动自己的个人信息、好友与黑名单以及用户之间发送消息,管理员能够对用户、帖子,版块、版块权限进行管理.论文从问题的提出、基本设计思想、数据的流向到具体的设计过程都做出了具体论述.
论坛。主题。回帖
TheDesignandImplementationofAcademicExchangeBBSSystemBasedonJSP
TheBBSsysteminacademicexchangeisbasedonmodeofMVC,usingTomcatasthewebserver.ThedataisstoredintheMYSQLdatabase.TheSERVLETrealizesthelogicalcontrolandtheperformanceleveldemonstratedwiththeJSPpage.Thesystemisusedtoprovideaplacewherepeoplecanexchangeacademiconline.Thesystemprovidesthefunctiontolookover,deliveranddeletetheinformationandtheuserregisteredcanchangetheirowninformation,addgoodfriendsandblacklist.Theusersalsocantransmitinformationbetweeneachother.Themanagermaytotheuser,thecard,thesectorandthesectorjurisdictioncarriesonthemanagement.Thepaperfromthequestionproposedthatthebasicdesignthoughtthatdatahasmadethedetailedelaborationflowdirectiontotheconcretedesignprocess.
Forum;Topic;Comment
本文通过对学术交流论坛系统的设计到实现流程的具体描写叙述,目的是设计学术交流论坛系统的结构和提出学术交流论坛系统从设计到实现中各个部分的解决方式。同一时候使自己在实现中学习很多其它新知识。更深入掌握JSP和Java语言,了解软件开发全过程。为以后的学习与工作打下坚实基础.
学术交流论坛在网上提供学术交流的场所.它用于讨论和在线聊天,利用网络实时、便捷的特点来方便人们的学术交流.通过学术交流论坛我们能够更好的传播我们的文化知识。更大程度地提高我们的能力,拓展我们的知识面.
进入二十一世纪。计算机技术迅速向着网络化和集成化方向发展.传统的单机版应用软件正逐渐退出舞台。取而代之的是支持网络和支持多种数据信息(多媒体)的新一代网络版应用软件,而眼下网络版软件中似乎存在着两种不同的趋势。一种是称为client——server的C/S结构应用系统,这类软件具有结构严谨,执行效率高,server端压力小,安全性好的长处,被广泛运用于局域网中.而还有一种,也是本文所採用的,称为浏览器——server的B/S结构应用系统。它的特点是在client採用了浏览器作为界面,其长处在于软件开发效率高,client不受操作平台限制、也不受地域限制。网络传输量少。即适用于局域网。更适用于Internet,并且投资小、见效快,用户能够不必进行server方面投资,而是去租用,甚至是免费使用ISP的server资源,因而受到中小型单位的青睐.
Internet起源于20世纪60年代末、70年代初,当时。美国国防部为了将军事基地内各种厂商的电脑主机互连,让它们进行数据交换以便研究工作顺利进行,于是成立了ARPA网络计划.ARPA计划尝试建设一个网络系统。它可将各种不同厂商的电脑连接起来.随着这个计划的成功,各学术单位,研究机构纷纷与ARPA计划所建立ARPANET连接.到了20世纪80年代,Internet这个名词因势产生,它代表着这十年来所构建的涵盖全球各地的网络系统[1].从1990年起,商业使用Internet在美国急速地扩大,而Internet也从原来属于少数人使用的网络系统转变为普通百姓也能够使用的网络系统.
最初的Internet资源服务停留在文本模式,1989年。量子物理实验室(CERN)的一个研究小组着手开发一种全新的Internet服务,它能够在网络上传送图片、文本、影像、声音等多媒体数据.于是TimBurnersLee领导的小组开发出一种主从的分布式的网络服务系统,这就是WWW(WorldWideWeb),俗称“万维网”[1].
所谓WWW事实上就是连上Webserver訪问资源,取得的内容就是所谓的“主页”(Homepage)[18].进入的网页通常不会仅仅有一页。而是整个站点的内容.随着网络普及。论坛深受广大网民的喜爱。同一时候在线技术支持也在论坛中开展起来.
学术交流论坛系统就是提供给注冊用户的学术交流平台。会员用户能够通过Internet訪问学术交流论坛。在这个平台上发表主题、阅读主题、回复主题.
C/S结构。即Client/Server(客户机/server)结构,通过将任务合理分配到Client端和Server端,减少系统的通讯开销,能够充分利用两端硬件环境的优势.
B/S结构下,用户界面通过浏览器实现,一部分事务逻辑在前端实现,主要事务逻辑在server端实现,形成所谓N-Tier结构.B/S结构[18],利用了成熟的浏览器技术。结合浏览器的Script语言(JavaScript),实现了原来须要复杂专用软件才干实现的强大功能。是一种全新的软件系统构造技术.
学术交流论坛系统实际须要,系统採用B/S结构.本论文设计学术交流论坛系统。系统具备较大伸缩性,适应Web平台.另外,本系统具备较大扩展性。而Java语言是面向对象的,面向对象编程注重程序的可扩展性。且字节码是跨平台执行的。所以本系统採用Java语言+JSP开发技术.
1.技术可行性分析
2.经济可行性分析
经济可行性是指软件所带来的经济效益与开发设计所须要的投资费用相比較是否适当,软件是否会给使用者带来经济效益.随着计算机软件和硬件技术的飞速发展,计算机软、硬件价格下降。设计本系统所投入资金与学术论坛为网民公布、获取信息所节省的价值相比之下,经济效益可观,所以在经济上是可行的.
3.社会可行性分析
当前社会是网络化社会,人们通过网络上获取和公布信息交流,系统正是应这一需求而产生的。系统是网民公布主题,获取有价值学术信息的场所.所以本系统具有社会可行性.
需求分析处于软件开发过程開始阶段,它对软件开发过程和软件产品质量至关重要.需求是指用户对目标软件系统在功能、行为和性能设计约束方面的要求.在需求分析工作中,系统分析人员对用户的需求进行调查和分析,确定现有环境特征,定义目标软件特征.需求分析工作是相应用环境及其问题进行理解和分析。对问题涉及的信息、功能及系统行为建立模型,使用户需求精确化.
1.目标
信息时代须要高速传播学术信息,局部范围的学术信息交流会减缓信息技术前进的步伐.学术交流论坛目的在于为人们提供一个共同交流、学习、倾吐心得的学术交流平台,实现来自不同地方的用户极强的学术信息互动性,用户在获得自己所须要的学术信息的同一时候也能够广交朋友,拓宽自己的学术视野和社交面.
2.系统描写叙述
3.用户的特点
学术交流论坛的会员用户懂上网就能够进行学术交流.
①版主和管理员.版主产生于会员用户。版主仅仅需做一些简单的操作.系统的管理员的要求懂主要的数据库和网络技术使用系统的后台管理.
②系统的维护人员具备较强的计算机专业水平。对系统的故障进行维护.
4.学术交流论坛系统的功能:
②版主中心:发表帖子、编辑帖子、回复帖子、搜索帖子、删除帖子、帖子加精和帖子置顶.
版主作为权限最少的管理者仅仅能对自己所管理的版面的主题进行删除、置顶。设置精华贴,屏蔽用户的回复,编辑版面说明.
管理员能够改动用户权限、管理会员用户、管理系统用户、管理版块和管理帖子.
系统採用的工具有JDK、Tomcat、MYECLIPSE和MYSQL.
1.JDK
JDK是Sun公司Java应用程序和组件的开发环境,是编译和測试工具,提供java程序的Java虚拟机平台,是调试和执行JSP所必不可少的工具[3].
2.Tomcat
Tomcat是开源的SERVLET和JSP容器,它是Jakarta项目的重要组成,由Apache、Sun和其它公司及个人开发[3].Tomcat内部实现了SERVLET和JSP引擎。并且扩展了一些应用server功能,比如JNDI、数据库连接池和用户事务处理.眼下Tomcat被广泛地应用于中小规模的Javaweb应用中.
3.MYECLIPSE
Eclipse是基于Java的开放源代码的可扩展开发平台,Eclipse平台提供软件开发工具的集成服务。全部开发工具(包含JDE和PDE)都是用插件的形式提供的.这样的设计使得Eclipse具有开放式可扩充的结构[4].
MYECLIPSE是在Eclipse集成开发环境中提供Web应用程序开发的插件.Eclipse软件是免费的,但MYECLIPSE不是一个全然免费的产品。须要购买.
4.MYSQL
MYSQL是开放源代码SQL数据库管理系统,它由MYSQLAB公司开发、公布并支持.同一时候MYSQL数据库server具有高速、可靠和易于使用的特点[5].
採用的技术有Java、SERVLET、JSP、JavaScript、XML和MVC.
1.Java语言概述
2.SERVLET概述
SERVLET是为了使用Web上的HTTP协议而设计的.SERVLET是在Webserver上执行的程序,SERVLET能够处理客户请求并生成动态Web网页[3].
3.JSP概述
JSP(JavaServerPages)是由Sun公司倡导,很多公司參与,共同建立的一种动态网页技术标准,JSP技术是在SERVLET技术基础上发展起来的[3].
4.JavaScript概述
JavaScript是基于对象(Object)和事件驱动(EventDriver)的脚本语言[3].
JavaScript是一种简洁的面向对象的描写叙述语言,是专门用来开发Internetclient和server端的应用程序,它能够被轻易的嵌入到HTML文件.使用JavaScript的浏览器能够回应使用者的需求事件而不用通过网络来回传数据。这样,使用者的数据能够直接被client应用程序处理,它的出现弥补了HTML语言的缺陷。它是Java与HTML折衷的选择
5.XML概述
1998年2月W3C正式推出XML(extensibleMarkupLanguage)后,XML迅速地在广大的设计人员中传播.随着Internet发展。HTML对网络设计要求显露出疲态.XML在这样的大环境下孕育而生.它是一种同意用户对自己的标记语言进行定义的源语言[3].
6.MVC模式概述
M是指数据模型,V是指用户界面,C则是控制器.使用MVC的目的是将M和V的实现代码分离。从而使同一个程序能够使用不同的表现形式[3].
模型-视图-控制器(Model-View-Controll)是XeroxPARC在八十年代为编程语言Smalltalk-80发明的一种设计模式.它被推荐为J2EE平台的设计模式
MVC架构模式关系图例如以下图2.1:
View视图负责提供可交互的用户界面和向用户显示模型数据.Model模型负责封装应用程序的内部状态和管理应用程序的业务逻.Controller控制器负责与用户进行交互.接受用户请求、调用模型处理和选择响应的视图.
数据流图即DFD(DataFlowDiagram)是分析系统数据流程的图形。让用户理解系统的功能、输入、输出和数据存储.系统的第一层数据流图如图2.2.
用户注冊,校验用户信息的有效性,校验通过的将信息存入数据库。提示通知用户.
发表帖子时先校验为非游客用户才干在帖子採集页输入内容来更新系统数据.
首页显示版块信息,点击子版块进入显示主题列表页面,点击主题显示出回帖所属的主题信息、回帖的作者信息和回帖内容.在回帖信息採集区域书写信息进行公布回帖.
管理会员用户。对会员用户进行改动、删除、加入用户和对用户锁操作的功能;管理帖子信息包含主题贴信息管理和用户回贴信息管理.主帖管理页面中有删除主帖和编辑主帖功能.用户回贴信息管理有删除回贴和编辑回贴功能;管理版块信息有删除版块、加入主版块和编辑版块顺序;管理系统用户有改动用户信息、删除用户和加入用户功能.
用例是系统和外部的參与者(actor)交互的动作序列的说明,是对一组动作序列的抽象描写叙述,系统执行这些动作序列,产生相应的结果反馈给參与者或作为其它用例的參数.在UML中.用例用一个椭圆表示,用例名用动宾结构或主谓结构命名.參与者是指用户在系统中的扮演的角色,其图形化表示是一个小人.用例图如图2.3所看到的.
系统分前台和后台模块,功能模块图.
后台模块的使用对象是管理员。后台功能包含管理用户、管理版块、管理主题和版块权限管理.后台功能模块如图3.3.
后台的具体功能有添加版块、查询版块、删除版块、改动用户、删除用户、删除主题、改动主题、置顶帖子、加精帖子、添加版主和删除版主.
系统抽象出来的数据结构有:用户信息表(users)、主板块信息表(board)、子版块信息表(subboard)、主题帖信息表(topic)、回帖信息表(reply)、管理员信息表(admin)和版主信息表(editionmaster).依据需求分析,设计例如以下表:
1.用户信息表:用户编号、用户姓名、用户真实姓名、用户password、用户性别、用户Email、生日、OICQ、积分、状态、用户类型(普通用户,版主)、地址.
2.主题帖信息表:板块编码、板块名称、版块顺序.
6.管理员信息表:管理员编号、帐号、password.
下面描写叙述的是表结构。当中0代表否,-1代表是.
用户信息表(users),该表结构如表3.1.
表3.1用户表
字段名
类型
长度
是否为空
是否主键
备注
userId
int
11
0
-1
用户编号
userName
varchar
32
username
userPass
password
realityName
用户真实名
sex
10
性别
50
用户邮件
OICQ
15
birthday
20
用户生日
address
100
用户所在地
ceat
用户积分
fettle
状态
type
用户类型
registerT
主板块信息表(board)。字段如表3.2.
表3..2主板块信息表
boardId
板块编码
boardN
200
板块名称
boardOrderN
版块顺序
子版块信息(subboard),字段如表3.3.
表3.3子版块信息表
subBoardId
子版块编号
subBoardN
子版块名称
subBoardD
子版块描写叙述
topicNumb
子版块主帖数
replyNumb
子版块回帖数
rowsTopicP
页显示主题数
rowsReplyP
页显示回帖数
topicPoint
新主题分
replyPoint
回帖分
subBoardO
顺序
creatTime
30
主题帖信息表(topic),字段如表3.4.
表3.4主题帖信息表
topicId
主帖编号
topicTitle
主帖标题
topicContent
250
主帖内容
topSign
置顶标志
distillateSign
加精标志
dotNumber
点击率
publishTime
回帖信息表(reply),字段如表3.5所看到的.
表3.5回帖信息表
replyId
回帖编号
主题编号
replyTitle
回帖主题
replyContent
回帖内容
screenSign
屏蔽标志
replyTime
管理员信息表(admin)。字段如表3.6所看到的.
表3.6管理员信息表
管理员编号
管理员名称
版主信息表(editionmaster),字段如表3.7所看到的.
表3.7版主信息表
editionMasterId
版主编号
子版编号
accreditTime
依据以上的分析建立下面关系的数据库表.
1.用户与版主的关系,一个用户能够充当多个版主,而一个版快仅仅同意出现一个版主.这表明用户与版主之间存在着一对多的联系.
2.用户与主题帖的关系,一个用户能够发多个主题帖,可是一个主题帖仅仅能是一个用户发表.这表明用户与主题帖之间存在着一对多的联系.
3.用户和回帖关系,一个用户能够发回多个帖,可是一个帖子仅仅能由一个用户来发表.这表明用户与回帖之间存在着一对多的联系.
4.主题帖和回帖关系。一个主题帖能够有多个回帖。可是一个回帖仅仅属于一个主题贴.这表明主题帖与回帖之间存在着一对多的联系.
5.主版块和分版块的关系。一个主版块下能够有多个子版块,可是一个子版块仅仅属于一个主版块.这表明主版块与分版块之间存在着一对多的联系.
依据以上描写叙述得出实体关系图,如图3.4所看到的.
用户分为版主、管理员、会员用户.版主的权限用于维护自己版面的主题。包含删除主题、将主题置顶、设置精华帖;管理员的功能是会员用户管理、版块信息管理、帖子信息管理和系统用户管理.具体有删除用户,改动用户权限、添加版块、删除版块、查询版块、删除主题、改动主题属性、新增功能权限、查询功能权限、删除功能权限、新增版块权限、查询版块权限、删除版块权限.管理员不能删除系统内置管理员.系统内置管理员具有站点的一切功能.
1.软件环境
操作系统是WindowsXPProfessional或以上版本号;数据库用MySQLServer5.1或以上版本号,JDK1.5或以上版本号,Tomcat6.0或以上版本号.
2.硬件环境
内存至少为1GM;CPU要求1GHZ以上;硬盘容量40G以上.
3.安装路径
以登陆流程为例来介绍系统实现的总体架构.登陆流程图如图5.1所看到的..
View层的页面是Login.jsp和success.jsp.Controller层的MVC包的ControllerServlet.java、IAction.java和ParseConfiguration.java来解析请求和重定向到页面.
Model层的Web.action包的DoLogin.java等待request请求到达后解析封装请求參数;Web.from包的LoginUserBean.java封装数据给Dologin.java使用;Biz包有FrontBiz.java接口。Biz.impl包的FrontBizImpl.java接受action提交的封装数据.,biz进行数据处理前把数据交给dao来处理;Dao包有UserDao.java接口。Dao.impl包的UserDaoJdbcImpl.java实现类和BaseDao.java接受biz的数据与后台数据库交互.并返回查询结果给biz进行检查;Factory包的BizFactory.java在action与biz交互时。在action中生产biz层对象;DaoFactory.java在biz和dao交互时,在biz层中生产dao层对象,来减少高层与基础层的偶合度.。在src文件夹的配置文件action-config.xml来配置Action和视图跳转的相应关系;配置文件biz-config.xml和配置文件dao-config.xml用来配置对象之间的依赖关系.
系统採用JSP+MVC架构,用JDBC连接数据库,在pache-tomcat-6.0.36\conf文件夹中的context.xml配置JNDI,连接数据库的基本类为BaseDao.java.
1.BaseDao类
publicclassBaseDao{
privatestaticDataSourceds=null;
privatestaticDataSourcegetDataSource(){
if(ds==null){
try{
ContextinitContext=newInitialContext();
ContextenvContext=(Context)initContext
.lookup("java:/comp/env");
ds=(DataSource)envContext.lookup("jdbc/myblog");
}catch(NamingExceptione){
e.printStackTrace();
}
returnds;
protectedListfindList(StringsqlString,Classclazz){
Listbeans=null;
QueryRunnerqr=newQueryRunner(getDataSource());
beans=(List)qr.query(sqlString,newBeanListHandler(clazz));
}catch(SQLExceptione){
returnbeans;
protectedListfindTotalList(StringsqlString){
beans=(List)qr.query(sqlString,newMapListHandler());
protectedObjectfindObject(StringsqlString,Classclazz){
Objectobject=null;
object=qr.query(sqlString,newBeanHandler(clazz));
returnobject;
protectedintupdate(StringsqlString){
introws=0;
rows=qr.update(sqlString);
returnrows;
论坛平台对用户注冊请求进行图像验证码和注冊信息的有效性校验通过后,生成开户基本信息并通知用户.由时序图设计的用户注冊页面如图5.3所看到的.
查看版面:首页显示版块信息。点击子版块显示主题列表,点击主题进入主题页.
訪问论坛时。index.jsp用
doIndexDisplay.java类.
publicclassDoIndexDisplayimplementsIAction{
FrontBizfrontBiz=(FrontBiz)BizFactory.instance().getBiz("frontBiz");
publicStringexcute(HttpServletRequestrequest){
Map
request.setAttribute("boards",map.get("boards"));//全部的根版本号
for(BoardBeanboardBean:(List
request.setAttribute(String.valueOf(boardBean.getBoardId()),map.get("sub"+boardBean.getBoardId()));//取出相应主版的全部的子版
request.setAttribute("topicTotalNumber",map.get("topicTotalNumber"));//主帖数
request.setAttribute("replyTotalNumber",map.get("replyTotalNumber"));//回帖数
request.setAttribute("userTotalNumber",map.get("userTotalNumber"));//用户数
request.setAttribute("newUser",map.get("newUser"));//新会员信息
request.setAttribute("lastReplys",map.get("lastReplys"));//最后回复信息
request.setAttribute("editions",map.get("editions"));//管理员信息
request.setAttribute("news",map.get("news"));//设置新闻
return"display";
1.查看主题:主页上点击版块名时,将请求交给DoDisplaySubBoardInfo.java处理。DoDisplaySubBoardInfo.java取出模块下全部主题信息和最后发表回复的作者信息存入request对象。.由子版块页面显示主题列表.由此设计的查看主题时序图如图5.8所看到的.
平台获取主题信息由子版块页面显示主题列表.由查看主题时序图设计的主题列表显示页图如图5.9所看到的.
2.查看回贴:在主题显示页面点击主题产生获取主题信息动作,系统将动作交给FrontReplyAction.java处理,FrontReplyAction.java将请求交给DAO层,从DAO取出回帖信息和回帖的主题信息.由此设计的查看回帖时序图如图5.10所看到的.
平台从DAO取出回帖信息和回帖的主题帖信息并显示到页面.由时序图设计的回帖内容页面如图5.11所看到的.
3.回帖:从回帖信息採集区域将回帖信息提交到后台进行公布回帖的前期处理并将处理结果的反馈到页面.由此设计的发表回帖时序图如图5.12所看到的.
平台进行公布回帖的前期处理并将处理结果的反馈到页面.由时序图设计的回帖的页面如图5.13所看到的.
4.编辑回帖.回帖更新前获取原有帖子信息。.用户能够编辑回帖的标题、内容和帖子状态,回帖改动以后返回改动结果.由此设计的编辑回帖的时序图5.15所看到的.
平台获取原有帖子信息到编辑页面。用户能够编辑回帖的标题、内容和帖子状态,回帖改动以后通知用户.依据编辑回帖的时序图设计的编辑回帖的页面如图5.15所看到的.
5.发表主题:主题列表页和回帖具体页能够发表主题,点击链接跳转到主题信息採集页,该页将主题信息提交到FrontTopicAction.java进行新帖前期处理并将结果反馈到页面.由此设计的发表主题时序图如图5.16所看到的.
1.主题採集页如图5.17
平台进行新帖前期处理和更新版块信息和主题帖信息并将结果反馈到页面.依据发表主题时序图设计的主题採集页面如图5.17所看到的.
6.版主管理主题的功能有移除、置顶、加精、编辑主题帖和删除主题帖.由此设计的前台版主管理主题时序图如图5.18所看到的.
平台在进行权限校验通过后,对.主题帖进行置顶主题帖、加精主题帖、编辑主题帖和删除主题帖操作,并将操作结果通知用户.依据前台版主管理主题时序图设计的前台版主功能页面如图5.19所看到的.
1.后台主版块信息处理:管理员点击主版块信息管理链接。系统将请求转给BackBoardAction.java的doDisplay方法,doDisplay方法取出全部的版块信息,跳转到displayBoard.jsp页分页显示全部的版块信息.
A.管理员在页面点击删除,将版块ID提交到BackBoardAction.java的doDelete方法来将版块及该版块下的主题删除,级联删除主题的回帖.
B.管理员点击加入主版块请求提交给BackBoardAction.java的add方法来校验权限,权限合法跳转到版块信息採集页,提交板块名称信息到后台BackBoardAction.java的addAfter方法来加入版块信息,反馈结果给管理员.
C.管理员编辑主版块时将版块ID提交到BackBoardAction.java的doBeforeModify方法来查询原有版块信息显示到modifyBoard.jsp,再将modifyBoard.jsp页面的改动信息提交到BackBoardAction.java的doAfterModify方法进行主版块信息更新;;
D.管理员在页面点击上移、下移链接,将版块ID提交到后台。在BackBoardAction.java的doDown和doUp方法分别调整版块显示的上下顺序.
依据上述设计的主版块信息管理时序图如图5.20所看到的
平台在进行权限校验通过后。调整主版块在前台主页显示的上下顺序、编辑主版块、加入主版块和删除主版块操作,并将操作结果通知用户.依据主版块信息管理时序图设计的主版块信息管理页面如图5.21所看到的.
2.后台子主版快信息处理:管理员点击子主版块信息管理,将请求提交给BackSubBoardAction.java的doGuide方法获取主版块信息并显示到subBoardGuide.jsp页面,以便管理员对相应主版块的子版块操作.管理员选择相应的主版块后进入子版块信息管理页面.由此设计的子版块信息管理时序图如图5.22所看到的.
平台在进行权限校验通过后,调整子版块在前台主页显示的上下顺序、编辑子版块、加入子版块和删除子版块操作,并将操作结果通知用户.依据子版块信息管理时序图设计的子版块信息管理页面如图5.23所看到的.
帖子信息管理包含主题贴信息管理、用户回贴信息管理.
1.主贴信息管理:点击主贴信息管理跳转到displayTopicGuide.jsp页面来依据主版块和子版块组合条件检索主帖.主帖管理页面中有删除主帖和编辑主帖功能.编辑主帖有置顶和加精功能.採用把相应属性值改为1的方式完毕.删除主题是将主题id传给BackTopicAction.java的DoDelete方法先删除主帖的回帖,再调用TopicDao的deleteTopic(intid)删除主帖.由此设计的主题管理时序图如图5.24所看到的.
.
平台在进行权限校验通过后。调整子版块在前台主页显示的上下顺序、编辑子版块、加入子版块和删除子版块操作,并将操作结果通知用户.依据主题管理时序图设计的主帖管理页面如图5.25所看到的.
系统用户管理的页面中有改动用户信息、删除用户和加入用户功能.由此设计的系统用户管理时序图如图5.26所看到的.
平台在进行权限校验通过后。查找系统用户显示与页面。进行改动用户信息、删除用户和加入用户操作。并将操作结果通知用户.依据系统用户管理时序图设计的系统用户管理页面如图5.27所看到的.
会员用户管理有改动、删除、加入用户和对用户锁操作的功能.这里介绍锁的实现,仅仅需採用一个标志字段就可以.代码例如以下:
//解锁一个用户
publicStringdoUnLock(HttpServletRequestrequest)throwsServletException,IOException{
intuserId=0;
userId=Integer.valueOf(request.getParameter("userId"));
}catch(Exceptione){
return"error";
UserBeanuserBean=backBiz.findUserBean(userId);
ModifyUserFormBeanmodifyUserFormBean=null;
if(userBean!=null){
modifyUserFormBean=newModifyUserFormBean();
modifyUserFormBean.setUserId(userBean.getUserId());
modifyUserFormBean.setUserName(userBean.getUserName());
modifyUserFormBean.setUserPass1(userBean.getUserPass());
modifyUserFormBean.setUserPass2(userBean.getUserPass());
modifyUserFormBean.setRealityName(userBean.getRealityName());
modifyUserFormBean.setSex(userBean.getSex());
modifyUserFormBean.setEmail(userBean.getEmail());
modifyUserFormBean.setOicq(userBean.getOICQ());
modifyUserFormBean.setBirthday(userBean.getBirthday());
modifyUserFormBean.setAddress(userBean.getAddress());
modifyUserFormBean.setCeat(userBean.getCeat());
modifyUserFormBean.setFettle(1);//设置为1则锁定状态失效
modifyUserFormBean.setType(userBean.getType());
modifyUserFormBean.setRegisterTime(userBean.getRegisterTime());
if(!backBiz.updateUserInfo(modifyUserFormBean)){
request.setAttribute("msg","错误,解锁用户出现数据库错误。");
}else{
request.setAttribute("msg","恭喜,用户已经正常解锁。");
returnthis.doAll(request);
//锁定一个用户
publicStringdoLock(HttpServletRequestrequest)throwsServletException,IOException{
if(userBean.getType()==2){
request.setAttribute("msg","版主不同意锁定。");
modifyUserFormBean.setFettle(0);//设置为0则锁定该用户
request.setAttribute("msg","错误。锁定用户出现数据库错误!
");
request.setAttribute("msg","恭喜,已经正常锁定用户!");
依据上述分析设计的会员用户管理时序图如图5.28所看到的
平台在进行权限校验通过后,查找会员用户显示与页面,进行改动、删除、加入用户和锁住用户操作,并将操作结果通知用户.依据会员用户管理时序图设计的会员用户管理页面如图5.29所看到的.
[1]谢希仁.计算机网络[M].北京:电子工业出版社,2008.
[2]王海明,韩瑞霞.国内BBS现状研究述评[J].兰州石化职业技术学院学报,2004,(4):25.
[3]张娜,陈宁,金焱,姜仲.javaweb开发技术教程[M].北京:清华大学出版社,2011.
[4]刘亚滨,杨红.精通Eclipse[M].北京:电子工业出版社,2004.
[5]任永功,王政军.软件技术与数据库[J].计算机project,2006,32(5):60-62,134.
[6]阎宏.JAVA与模式[M].北京:电子工业出版社,2002.
[7]陈晋.论虚拟图书馆的个性化服务[J].情报探索,2003,(1):6-7.
[8]李媛,刘涤尘.一个使用JavaBeans连接数据库的JSP应用[J].控制project,2005,12(1):77-80.
[9]程凯.JSP中文问题及一套总体解决方式[J].许昌学院学报,2006,25(5):77-80.
[10]李兴锋,王移芝.基于JSP的Web动态数据库交互技术的探讨[J].计算机应用与软件,2005。22(4):26-27.
[11]Tsui,FrankF.JSPEMDASHARESEARCHSIGNALPROCESSORINJOSEPHSONTECHNOLOGY[C].IBMJournalofResearchandDevelopment,1980,24(2):243-252.
[12]孙敏.JSP连接数据库方法探讨[J].电脑知识与技术,2005,3:21-22.
[13]姜秀宇,曹蕴.基于JSP模式的在线考试系统的应用分析[J].电脑知识与技术(学术交流),2006,(11):122-146.
[14]王正成.基于J2EE技术的企业管理信息系统设计[J].科技进步与对策,2004,21(10):152-154.
[15]屈霞.基于JSP的数据库应用程序安全訪问控制设计[J].电脑开发与应用,2005,18(6):15-l6.
[16]姚春龙.数据库系统基础教程[M].北京:航空航天大学出版社,2003.
[17]Javey.S.CONCEPTOF'CORRESPONDENCE'INJSP[C].ProceedingsoftheHawaiiInternationalConferenceonSystemScience,1987,2:14-22.
[18]MarkusAleksy,AxelKorthaus,MartinSchader.UseJavaandtheCORBArealizationdistributetypesystem[J].JournalofPingxiangCollege,2005,(4):104-105.
[19]史志国.基于JSP的教务管理系统设计[J].长春工业大学学报(自然科学版),2008,29(3):306-310.