《基于J2EE的网络论坛的设计与实现1.pdf》由会员分享,可在线阅读,更多相关《基于J2EE的网络论坛的设计与实现1.pdf(34页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、-基于 J2EE 的网络论坛的设计与实现摘要随着计算机技术的飞速发展,学校也已进入信息化时代。为了方便大学的学生管理以及学生进行互动交流,决定开发采用 MC 模式,基于JP 的网络论坛,数据库使用SQ Ser,在系统设计过程中,尽量采用易懂易读的人机界面,使用户可以在短期内完全掌握。软件开发过程中始终把系统的正确性放在首位,力求数据的完整和处理的正确性。在此基础上优化程序代码,加速系统运行和减少对系统资源的占用。论文里说明了网络论坛的总体设计方案,包括了系统运用的关键技术,数据库设计,对各个功能模块的详细设计以及实现,本系统实现了注册会员,会员登录,登录后可以浏览个个模块内帖子,可以发帖回帖,
2、查看斑竹、发帖人信息,管理员具有更改用户权限,删除用户,管理板块,能够增加、删除、修改板块信息,负责帖子的置顶精华管理。关键词:校园论坛;MVC;SP;QLSerer-STSTT TAlong ith the rapi deelopen copuer tehoogy,theschool aso has enered the inftonage。In order to ailtate temanagmn niversit stuents and sudentsiteract,ecde to deep the MVCpattern,te senio hgh chool MuLaian asd o
3、SP campus BB ssem,atabaeusng QL erver,in systmegn procss,mak uf thnmain nteface simpe aneasytoread,ues can fully masterd in te shortte.Software developmentroces wys put thecorrenessof thesstem i he t pla,ste to thinegrt thedata anpoesing acuracy.e onthis opimiation prgr ode,acceler syste oeationndre
4、duce o the system scesof thocuation.Tis llusras MuLaXan seniorhiscoolcps systeerl deignche of te syst,icldig heuse ofky technologs,dataa dignofeah functional modles,dtiedesignan implementtion,this syse relizes te rested mebrs,embers lgi,log ona browseeachmodulepost Psingrplis,hck,can l,post,dminsrat
5、ors who have hange usinfrmon pemissins,delete a user,management lte,canad,et,dify pate infrmaion,be respnsible or themaagement f pstssettop esenc。K Kywordsywords:campusBBS;C;he SP;SL erver-第一章概述。1 开发背景在互联网技术高速发展的推动下,互联网跨入了虚拟社区时代。根据 210 年 1 月 第25 次中国互联网发展状况统计报告,我国上网的。84 亿人中有8。8使用论坛、BS 等各种形式的虚拟社区,用户规模
6、达到 98万人,在网络应用中排名第九,已经跻身十大网络应用之列.校园论坛系统发展势头非常迅猛。论坛是电子公告板系统(Blletin or Systm),它通过在计算机上运行服务软件,允许用户使用终端程序通过电话调制解调器拨号或者nernt 来进行连接,执行下载数据或程序、上传数据、阅读新闻、与其它用户交换消息等功能。论坛系统开发技术发展至今,从 CI,到 PH已经日趋成熟,功能也更加丰富,但携着Sun 公司的 Java 技术所实现的“一次编写,到处运行”的优势,继承这一衣钵的JSP 技术越来越受到人们的注视.为了进行更好的交流。根据校园的发展需求,需要一个校园的公共论坛,使得学校信息更加的透明
7、,推动了学校的信息化建设,同时还提供学生和老师以及社会人士的交流平台,方便大家交流思想,有效的解决了大家信息交流不方便不及时,信息闭塞的问题,对学校的建设,起到了积极推动的作用。12 相关技术简介在开发网络论坛中,考虑到系统的开发时间,系统的可用性,以后的维护我们采用了aaBean 技术,为了减轻忘了负载采用 jsp 动态网页技术。1。21 JaBea技术简介JavaBes 是 Jav的可重用组件技术.ASP 通过O来扩充复杂的功能,如文件上载、发送 Emil 以及将业务处理或复杂计算分离出来成为独立可重用的模块.JS通过 Jvaean实现了同样的功能扩充。JSP 对于在 We应用中集成 Ja
8、vaBeans组件提供了完善的支持。这种支持不仅能缩短开发时间(可以直接利用经测试和可信任的已有组件,避免了重复开发),也为 JSP 应用带来了更多的可伸缩性。JvaBea-组件可以用来执行复杂的计算任务,或负责与数据库的交互以及数据提取等。在实际的JSP 开发过程中,和传统的 ASP 和 PHP 页面相比,页面将会是非常简洁的,由于 Jaaeas开发起来简单,又可以利用av语言的强大功能,许多动态页面处理过程实际被封装到了 JvBns 中。在网络论坛中,vBean 技术起到了重要的作用,使数据库连接等功能不必要使用重复代码,对系统以后的维护也简便了许多。2。2 SP 技术简介JSP(ava
9、Serr Page)是由 Su icrosss 公司倡导,许多公司参与一起建立的一种动态页面技术标准,其在动态网也的建设中由其强大而特别的功能,它主要要用于创建支持跨平台 W服务器的动态网页。JSP 可与微软的tive Srr ae(ASP)相媲美,但是S使用的是类似与 HML 的标记和 Java 代码片断而不是用 VBScript。当人们使用不提供A本地支持的 Web 服务器(例如Apach或者tsca服务器)时,你就可以考虑使用SP 了。JvaSePages 技术可以让 W开发人员和设计人员非常容易的创建和维护动态网页,特别是目前的商业系统.作为 Jaa 技术的一部分,JSP 能够快速开发
10、基于 Wb,独立与平台的应用程序。S把用户界面从系统内容中分离开来,使得设计人员能够在不改变底层动态内容的前提下改变整个网页布局。在 JSP 网页中,要把用户界面和应用程序分开可以考虑在网页设计人员和开发人员之间执行一个非常方便的授权任务.它也允许开发人员去建立灵活的代码,从而非常容易地进行更新和重复利用.由于SP 网页能够根据需要自动进行编译,We设计人员无需重新编译应用程序逻辑就可以改变表述代码.这也就是 JP 与av Srved 相比成为一种可以更灵活生成动态 Web 内容的方法。事实证明,Jv Sved是一种开发e应用的理想架构。S以 Served技术为基础,又在许多方面做了改进。利用
11、跨平台运行的Javaens 组建,SP 为分离处理逻辑与显示样式提供了卓越的解决方案。JS必将成为其他动态网页技术的有力竞争者。在开发 论坛系统中,运用 JS动态网页技术,大大减少了网络服务器的负担,大大的提高了 论坛系统的性能,也有利于日后其他程序呀对系统的维护。-图.1 JS文件执行图1.3L Seve数据库简介SQL Sev 20是一个中、小型数据库管理系统,使用方便、功能强大,与其它数据库有良好的接口。通过 SQrve 2000 功能强大的工具,用户可以方便的使用和管理数据库,如创建和编辑数据表、设计和使用各种查询工具进行查询操作、设计和使用窗体、制作和打印报表、设计和使用宏、设计和使
12、用 Wb 页等。还可使用BA(isual Bsic for Appication)开发高级应用程序。QL Sever 000 具有完整的数据库应用开发工具,用户可以方便的设计、修改、浏览一个记录数据的基本表;可以在表数据中进行各种筛选和查询操作;可以设计和使用各种窗体以实现数据显示和操作;可以根据表数据设计打印各种报表;可以设计和使用宏,对表进行一系列特定的操作。L Sver 000 内有强大的操作向导,为用户提供了丰富的数据库基本表模板.用户只需简单的操作就可建立数据库中所使用的各种基本表、窗体和报表。在 SQ Sever 00 中,可以设定、修改基本表之间的关联,从而实现在多个相关表之间的
13、关系查询。LSee200 中的宏可以实现操作的自动化,使操作更加简单、快捷。QL Servr2000 增强了网络功能,用户可以轻松自如地完成网页发布等。SQL ever 200 不仅可以处理自身的数据库文件,还可以处理其它一些数据库系统管理软件所建立的数据库文件,能识别 DBe、oBas、FoxPo、Paradx、Btrive 等数据库格式文件,并且支持开放式数据库互连性标准(ODBC)的 SL。SQL Serve 2000 能与工作站、数据库服务器或主机上的各种数据库互相连接,并可用于建立客户/服务器应用程序中的工作站部分。-1.2.4 Myclips简介yclipse 企业级工作平台(My
14、lipseEnterprseWorbech,简称MyEcips)是对 Eclse DE 的扩展,利用它我们可以在数据库和Java的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的 JavaE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持TML,Suts,S,SS,avascript,SQL,Hibernate。在结构上,yEcipse 的特征可以被分为 7 类:(1)JavaEE 模型(2)Wb 开发工具(3)EJB 开发工具()应用程序服务器的连接器(5)JavE 项目部署服务(6)数据库服务(7)Mylise 整合帮助对于以上每一种功能上的类别,在
15、Ecp中都有相应的功能部件,并通过一系列的插件来实现它们。MyEcie 结构上的这种模块化,可以让我们在不影响其他模块的情况下,对任一模块进行单独的扩展和升级。1.3开发模式介绍目前,在大多数 B/S(Bower/Sever)结构的 Web 应用中,浏览器直接通过 HTML或者P 的形式与用户交互,响应用户的请求.虽然很直观,但是大多数管理信息系统操作的数据量都是惊人的,随着代码的增多会使JSP 页面臃肿不堪,Web 服务器的负荷过重。因此,在中间层上采用基于模型视图控制器(M,MewContrllr)的设计模式。MVC 之间的关系如图 1。1 所示,Moel 层用来实现业务逻辑,View层用
16、来显示用户界面,Controle层主要负责 View 层和 Model 层之间的控制关系.具体实现时,把 Servet 用作应用程序的控制器,把SP 文档作为视图,Javaas被用来表示模型。所有的请求都被发送给作为控制器的 Servlet,它接受请求,并根据请求信息将它们分发给适当的SP 来响应。同时,Servet 还根据 JSP 的需求生成 JavBeas 的实例并输出给SP 环境。JSP 可以通过直接调用方法或使用 UsBan 的自定义标签得到avaBeans 中的数据。这种设计模式很好地实现了数据层与表示层的分离,使开发工作更加容易和迅速3。-图.MC 之间的关系图1。4 服务器配置1
17、。1 JDK 的安装和配置安装 JDK 这是进行 JS开发的重要一步,也是安装 JSP 引擎(Tmca、Resin、Weblogic 等)的前提,一般的 JP 引擎是由 Java 语言编写的。本项目我选择了安装 JK6 版本。安装界面如图 一直 Nx即可.图 1.2 JK 的安装界面完成安装之后并不能成功使用,因为操作系统找不到 JD的安装路径。如图。-图 1。3 命令提示框必须告诉操作系统去哪些目录下找到你要使用的工具程序,这就需要设置 Pth 环境变量。Pat:JAVA_MEb图。4 Pat环境变量。4。TOMca的安装和配置tomcat 安装可以到wwache.r上去下载,这是一个完全免
18、费的优秀软件,安装之前要保证本机安装了 JDK。在 Tcat 安装目录下的in 子目录中,有一些批处理文件(以ba作为后缀名的文件),其中的 strtup。bt 就是启动 Tomct 的脚本文件,用鼠标双击这个文件,将会看到信息,在浏览器地址栏中输入 http:/17.00。1:80/如果出现界面如图 1.5 则说明安装成功即可以进行配置配置,toma首先要修改端口号,在 conf 目录下有个叫 sevexml 将端口号修改为了 8080,然后建立虚拟目录配置调试。-图 15 tomca成功界面第二章系统需求分析2。功能需求系统的开发首先需要对系统的功能框架等进行一个根本的分析。首先要掌握系统
19、需要的框架以及系统需要有哪些功能,这些都需要多参考比较成功的BBS论坛学习经验,我对水木社区,新一塌糊涂 BB,大话西游 BBS 几个知名论坛进行了研究参考,经过对这些知名论坛的研究参考我认为网络论坛用于在互联网上为学生们提供一个信息发布或信息交流的场所。应具备以下功能:前台主要包括用户的登陆,用户的注册,发布主题,回复信息等,为了让有不同目的趋向的用户可以清楚的找到自己感兴趣的主题以及相同兴趣的用户可以更方便的交流我将系统设计成了由多个专区组成的论坛,这样极大的方便了用户,也是界面友好性的一个体现。后台部分包括管理员的登陆,管理员的注销,专区的管理,用户的管理,主题的管理以及回复信息的管理。
20、专区的管理包括对专区版主的设定、撤销,对专区的增加、修改、删除。用户的管理包括对用户的删除、级别的设定和修改.主题及回复信息的管理也包括了常见的修改、删除。对于贴子查看、发表贴子以及回复贴子这类频繁发生的系统操作,要采取适当的技术优化这类数据操作,以提高数据存取效率。通过这些功能极大的方便了用户的发言、查找,同时也将管理员的工作简单化、有效化,使管理员能过更方便的管理和监督论坛,保证了论坛的安全运行。2。2 性能需求考虑到 论坛系统使用的特殊性需要满足以下要求:()时间特性校园论坛的数据库较小,所以程序在响应时间,数据更新处理时间上性能是比较突出的.由于数据量相对较少,故在数据传输时间和系统运
21、行时间上表现的较让人满意.(2)通用性由于用户的操作系统不尽相同,这就要求考虑各平台之间的异性,而校园论坛所采-用的基于 B/的结构就很好的解决了这个问题,用户端只需要有浏览器就可以使用校园论坛系统.(3)保密性大部分网站都会注意会员信息的保密性,因此为了保护注册会员的隐私,校园论坛系统对此也采取了相应的措施,只有注册的用户自己和他添加的好友才能看到他的个人相关信息。23 开发环境2。3.1硬件环境 CU:PentiuV1。8GH以上 内存:1G及以上 硬盘空间:20B 及以上2.2 软件环境 操作系统:Windows P 或以上版本 浏览器:Intene Exlor。0 或以上版本 数据库:
22、SQL Seve或以上版本 服务器:Toct6。或以上版本-第三章总体设计31功能结构设计根据需求分析,将 论坛系统分为分为两大模块:前台模块和后台模块。前台功能模块包括 3 部分:(1)登录模块:用户在前台可以注册、登录;(2)浏览模块:用户可以浏览主题帖列表、查看帖子;(3)发帖回帖模块:用户可以发帖、回帖、编辑自己发布的帖子。后台模块都是与管理员相关的,也包括 3 部分:()论坛设置模块:管理员可以设置论坛参数;(2)管理版块模块:创建、修改和删除版块;()管理用户模块:添加、删除和设置权限。在线论坛的功能结构如图 3。1 所示:在线论坛网站前台模块后台模块注册登录浏览发帖回帖管理帖子论
23、坛设置管理板块管理用户管理新闻登录注册主题帖列表查看帖子内容版块列表搜索帖子发帖回帖编辑帖子删除编辑置顶转移删除添加修改板块信息删除添加设定权限图 3 校园论坛的功能结构图-3。2 功能模块介绍论坛系统中有两种用户:注册用户和管理员用户。论坛中的版主权限,划分给管理员.(1)对于注册用户,在论坛中的行为可以归纳如下行为.注册登录因为论坛的特殊性以及网络的法律薄弱性本系统我采用了无匿名登陆模式,用户想要对页面进行操作则必须想登陆,非登陆用户对页面进行操作,系统将不对其给与运行同时提示用户必须先注册。浏览浏览版块列表选择某版块,浏览其下的主题贴列表,查看帖子内容。搜索需要的帖子。这些行为是用户读取
24、论坛的版块及其帖子的相关信息,设计成浏览版块。发帖回帖可以发表新帖子,也可以回复已有的帖子,同时可以编制自己写的帖子内容。这些行为是用户参与论坛讨论,发表自己的见解,设计为发贴回帖模块.(2)对于管理员,需要负责整个论坛的正常运转,因此它需要根多的管理功能,可以归纳如下行为。具备注册用户的所有功能,因为管理员也是论坛用户,可以参与论坛中的讨论.注册用户名是否有效从新注册二次密码是否一致验证邮箱是否正确主界面图 3.注册流程图-会员选择专区发布主题选择浏览主题发布回复信息提交图 3.3 会员操作流程管理帖子管理员对论坛的帖子有监督的权利,好的帖子要奖励,捣乱的帖子要删除,标识精华贴,至顶帖子,转
25、移发错版块的帖子,这些行为都是针对帖子的操作,设计成管理帖子模块。管理版块论坛中的版块,需要管理员进行创建,管理版块信息,这些针对版块的操作,设计成管理版块模块.管理用户用户注册成功后,需要管理员赋予权限,才能使用论坛的相关功能。同时,管理员可以自己添加,删除用户,这些针对用户信息的操作,设计成管理用户模块。(3)对于论坛系统来说,联系各个模块的主线是使用者的权限,用户能使用论坛的哪些功能是由用户权限决定的.论坛的每个功能都与相关的权限对应。例如,注册用户具有浏览帖子,发贴,回帖的权限,那么他就能使用论坛中的浏览,发贴,回帖功能。同一类用户使用的功能模块,是以使用者为中心连接起来的。另外,操作
26、同一类事物的功能模块,也有相关关系的。因此,浏览模块与发帖回帖模块,管理帖子模块关联,是由论坛系统流程决定的。管理版块模块与浏览模块关联,是由帖子与版块的父子关系决定的,帖子依附与版块,先有版块,后有帖子,帖子必须发表在每个版块中.用户管理模块与注册登录模块关联,是由同一类对象-用户决定的,注册后获得-论坛的身份,成为用户,所以的用户需要接收管理员的管理,用户登录证明自己在论坛中的身份。根据系统的入口不同,可分为前台系统和后台系统。前台包括注册登录模块,浏览模块,发帖回帖模块,管理帖子模块;后台包括管理用户模块,管理版块模块。管理员栏目管理专区管理用户管理选则专区添加专区删除专区显示所有主题显
27、示所有用户更换斑竹删除主题删除用户修改用户权限搜索用户图 3.4 管理员操作流程图第四章数据库设计-数据库的安装数据库我使用了L,安装界面如图。图 41SL 安装界面安装时我们创建一个 SQ Server 实例。图 4。选择界面一切设定好 后,安装程序开始向硬盘复制必要的文件,开始正式安装-4-图 4。安装完成42数据库概念结构设计根据系统总体设计,校园论坛网站的实体主要有:管理员实体,用户信息实体,帖子实体,短信息实体.(1)管理员信息实体 E图 如图 4所示:管理员用户密码权限图。4 管理员信息实体ER 图()用户信息实体 ER 图如图 4.所示:用户用户名密码头像图 4 用户信息实体 E
28、R 图(3)帖子实体 ER 图 如图 4。所示:-帖子所属版用户内容主题图 4.6 帖子实体 E-R 图4.3 数据库逻辑结构设计通过对系统的需求和功能的分析我将系统的数据结构主要分为四个部分,包括用户信息,专区信息,主题信息以及回复信息。用户信息包括:用户 i,用户名,真实姓名,用户密码,密码确认,用户性别,用户联系方式,用户头像,E_mai,联系地址.tb_bsnswer 用于存放会员留言.tbbbs 用于存放会员发表的帖子信息。tuer 用于存放论坛用户信息.tbnews 用于存放新闻。tblss 用于存放论坛类别介绍.Tb_bad 用于存放版面信息.建立数据库结构如图:tbser 表字
29、段iuser_nameusr_passwoder_poneuwr_aiuser_sxuser_手机号邮箱性别头像vrharvarchavarcavacr是是是是101描述注册用户用户名密码类型smaltvrcharvachr空值非是是长度22020-Userrom用户地区arcr是00tbbs 表字段bs_idbstitebbs_cntentbs_sendTibs_eneb_cebs_opimebs_toGoTm描述帖子编号帖子标题帖子内容发帖时间发帖人发帖人头像置顶时间成为精华时间tbbbsAswe表字段描述留言编号留言者编号回帖标题回帖内容回帖者姓名留言时间留言者头像tb_cass 表字段
30、calssidcls_nmecls_intro描述分区编号分区名称分区信息类型intnvacharnarchar空值非是是长度50200类型intinchrvarcararchartetimevarcr空值是是是是是是长度44702000250类型ivarcharvchardeimeahararchavarcharvarch空值非是是是是是是是长度47200820108bsAserdbner_rotidbsAwer_ttlebbAnwer_contnbbsAnswer_sederbsAnwe_snimbbsAnsw_aetb_bdr 表字段board_idborclassId描述版块编号板块编
31、号类型itsman空值非是长度42-board_nameoar_mastroard_cad版块名称斑竹版块提醒nacharattenarchar是是是0202004。4 数据库的连接(1)加载数据库程序根据读取的数据驱动配置字符串 rivers,动态加载数据库驱动的程序。首先通过 ls.frme()来动态加载,在使用 DrveMane 数据库驱动管理器来注册该驱动类.publi D()lasName=co.mcrosoft。jdbc.sqrver.QLSererDrir”;url=jbc:micrsoft:sqlevr:/lalst:143;dtabseNae=b_lunan;srname”s
32、a;paword=”s”;tryClss。rNae(clssNme);cath(ClasNFoudExceptin e)Sstmutprintn(加载数据库驱动程序失败!”);erttakTrae();()取得数据库连接程序用户编写程序中,如果需要取得数据库连接,只需要调用该函数.pbicvoid etCon()try con=DrivrManage.etCnnecton(ur,usame,passord);cac(SQLExcepton e)Smoprintln(获取数据库连接失败!);e。pnttacTrace();(5)释放连接用来释放一个连接到数据库连接池 pools 中的.如果使用完
33、了每个连接,就需要调用该函数将连接关闭。public id close()tyif(pstm!=ull)ps.cose();ath(Exeptine)Symout.pritln(关闭 pstm 对象失败!”);tryif(con!=null)-n.clse();catch(Excetione)steut.prnln(”关闭 co对象失败!”);第五章 功能模块的设计与实现.主页面主页面是论坛的门户,所以主页面的设计好坏直接影响到整个论坛的形象。论坛首页所载的内容有:论坛工具栏,包括登录、注册、发贴排行、帮助、管理员登录、退出;LOGO图标;论坛统计信息;论坛版面列表;论坛版权信息。2 用户登录
34、注册模块设计5.1 用户登录用户进入主页面,若想浏览具体的帖子必须先登录。点击工具栏上“登录”按钮则进入登录页面,效果如图5.1 所示。该模块在用户登录要进行用户名和密码的有效性检验,查询用户表,如果该用户存在则让他进入主页面,也就是前面介绍的论坛主页面,如果不能登录成功则给予提示,用户名不存在或者密码错误,回到登录页面以便用户再次输入用户名及密码登录。图。用户登录界面登录页面主要代码:-pubpubtiForad iserLogin(AcinMapping maping,AtioForm m,Hpervletqst requst,HttSretReson reponse)tpeioneson
35、=request.getSessin();bec lginer=sesio.getAtibute(”logoner”);i i(logine!nullnull&(loer insinsanceofanceofserF))tonsags mesges=newnewAcioessaes();essages.dd(logiR”,newnew ctionessae(untan。bb。aveErrs(rques,ssages);returetun n mappn.fidFowad(Fhaveogi);have.in));lselser rt trnrn mppng。ndorward(nLgin);52.
36、2 用户注册如果用户是首次反问校园论坛,还没有注册,可以单击【注册】按钮进入新用户注册界面,先进行用户注册,这是用户进入论坛的一个通道,是任何论坛都不可缺少的部分.效果如图 63 所示图 5.用户注册界面-sql”insrt to tb_user vlues(?,?,?,?,?,?,?,?,?);parm=newnew je9;param0erName;ars1=usasswod;prms3=userSe;paam4srPone;paras5=usCQ;paams=userFace;params6usermail;param=erFro;pars=userAble;intint myOp.Op
37、Udt(sql,param);ifif(i=0)ytemou.prinl(”用户注册失败!);messas.dd(useOR”,w w AconMessage(utan.us.eg.”);elselsstem。ouprintln(用户注册成功!”);reFm。cler();messes。dd(”useOpR,nene AtioMessage(luntn.uereg.S);svErrrs(rquest,mesges);5.3 帖子相关界面5。3。发新帖子点击某一具体论坛分类,进入帖子页面,单击“发表新贴”,则进入发新帖子的页面,如图。4 所示.这里只允许会员发表新帖子,需要填写的新帖子信息包括:
38、用户名、密码、主题、当前心情、具体内容等,这也是帖子表里应该有的最基本信息。其中标题不能超过 5个汉字。“内容”是指书写帖子内容时输入框支持什么不支持什么等。具体内容输入框上的按钮可以对输入的内容进行字体等方面的设置,用过or的人可以很容易掌握这些小按钮的用法,其中有加粗、斜体、下划线等,还可以设置字体效果等.输入框下方提供了一些小图片,用户单击表情图标就可以在帖子中加入相应的表情。“是否显示您的签名”和“有回复时使-用邮件通知您”看作者而定,可以选择也可以不选。所有的内容都填写完毕后,单击【发表】按钮则数据库中相应的帖子表增加一条记录,用户帖子发表成功。具体代码如程序 63 所示:图 5.3
39、发新帖子界面保存帖子程序 6-3String sql=”insert into tb_bsvlues(?,?,?,?,?,?,?,?,?,?,?);jctparam=boardId,bbTitle,bsCo,bsender,bSendTime,bbsace,bsOpime,bIsTp,bsoTopTime,bbsIsGood,boooTie;AtoMssages messas=neneActionesges();OpDB myOp=n nw w pDB();f f(i0)essaeadd(userOpR”,nene ActionMssag(luntbn n i=myO。OpUpdte(sql,
40、parms);Sstemou.println(发表帖子失败!”);add.E));avErrs(rques,messe);r rturtur mappin。finForad(”error);elseelseyt。utpinn(”发表帖子成功!”);sesionsetribute(cuntP,);bsFrmcler();mssags。ad(urOpR”,newnew AtioMessag(”lunanbbs.addS”));vErrors(st,esages);returetun n mping。ndForward(ccess);-5.2 浏览帖子单击某一具体的帖子,可以阅读帖子的内容.如图。5
41、 所示是浏览某一个具体帖子的界面,最上方【发表话题】、【回复帖子】按钮,用户可以单击按钮进行相应的操作。同一行的右边是一个对本帖子阅读的人数的统计。再下来是作者的一些基本信息。同一水平线上与之对应的是帖子的具体信息,包括帖子的内容、发表时间等。还可以对帖子做相应的一些操作或进入相关链接。如果帖子有跟帖,则会在这个帖子的下方以同样的表现形式列出来图 5.4VectorLabelVaueean jmpBardw w VetorLabaleBean();ist brlt(ArraLst)sssongAttrib(clas”+clsId);-ifif(boardis!nullnullbardlst。e
42、()!=0)forfor(ntnti0;iboalissize();i+)BoadForm boadigle=(BoaFo)oalite(i);jmpBoar。ad(nene bleBen(boarSingle。gBoaNme(),bodSingle。getord()));ifif(bardIdals(ardSinglgetBoardd())sso。Attute(”bordMast sessinstAttribur”,oaSinle.etardMaster();e(”orPrd,adSingle.getBordPcad());sessinsetAttribute(umpoard,upBoar)
43、;String sql”;Obect aramsboardI;pDB myp=newnewOB();myO。sMark(f fs s);bbs_toTopTe ESC”;sqlelc*from tb_bbsheebbs_boardI=?andbb_sop=order byList opbslit=mOp。OpBbLstShw(q,ars);sessinsettribute(”topbslist,topbslt);Strin curentP=requst。gePaaeter(shopage);f f(crrent=n nllll|curnuls()curent=(Strin)seso.gtttr
44、iute(”urentP”);sesesessio.setAttibt(crrentP,currntP);String gowhich=user/lstShowdo?mo=rootstSow;myOp.etMark(truetrue);curentP,gowhic);ql=sect from tbbs wher bbs_boadID=?nd(bbLittherbblist=myOp。OpsLisShw(ql,paras);_isTop=0 orbisGd=)odeybbsoie DESC”;CrePage page=mOp.etage();session。setttibue(”pag,age)
45、;mO.etPgeIn(er,esinstAttribt(”otherbsst,oterbbslit);-5。.帖子列表帖子是论坛的主要交流内容,是用户网页用户之间交流的必要手段.单击某一论坛分类,则进入帖子列表页面,效果如图 55 所示:图 554 新闻模块新闻在人们的生活中是必不可少的,是了解世界的必要信息,为了方便用户因此,我在此系统中加入了新闻模块,使用用户在进入本系统浏览时,也可以方便的读取当天要点新闻,了解时事,这样也使得系统功能不再单一,显得过于死板.在功能列表里点击【新闻】,系统列出当天提供的新闻题目列表,点击新闻题目,查看新闻,效果如图 5.6-图 5publpublc c
46、v vi i nesMana(tpServletRequest re,HttpSrvletResos re)thrthrw wervetException,IOExceptinis newsListn nw w ArrayLit();ring sql=seect fromt_ne whee el=no;bjec paam;DB myd=newnew();t ty ymydb.dstm(sql,aram);whwhl l(rs.nex())Te nws=newnew news();new.seId(s。getting(”id”));eslttryb.gRs();s.st(rsgetSring(t
47、tle));ews.stContent(rsgetString(connt”));nes。eShijian(r。geStin(hii));ne.seDel(sgtString(dl));nsLi.ad(nes);rs.cse();catccatc(Eetio e)eprintStcTace();mydb.lose();reAtribue(newsLis,nwList);rq。geReqestspaher(paes/adin/newsnesMaasp”)。frward(req,);-第六章 后台管理模块的设计与实现后台的设计完全是为了前台服务的,前台主要是论坛帖子的管理,所以后台必须有支持前台帖
48、子发布的论坛管理,用户个人信息的有些设置也是在后台管理的.后台的维护功能主要包括如下:论坛版面管理、更新论坛数据、用户信息管理、论坛页面样式管理,更换新闻。61 后台管理61管理员登陆模块管理员的登陆界面和普通的用户的登陆界面为公用,管理员的账号和密码是数据库里默认已经存在的用户名dmn,密码 ami,下面是代码程序:管理员登陆后,在系统主页的最下方点击“进入后台”然后进入后台管理界面,左面是功能菜单,包括论坛的管理,帖子的管理,用户的权限管理,和新闻更新管理。-6。2 论坛管理管理员登录进入后台维护模块,负责新建论坛类型,论坛名称等基本信息,如图6.所示是管理员首先看到的论坛列表:图 61列
49、表页是管理员对论坛进行各种操作的关卡,相当于一个门面,所以要留给用户一些接口以便用户进入到其他页面进行其他各种操作,如新增论坛分类、新增论坛、分类排序修改、删除分类等。6。2.添加论坛分类论坛分类的维护包括新增、编辑和删除。如图6。所示是单击【新建论坛分类按钮的部分界面,管理员需要填写分类名,单击【添加】按钮即可添加一个新的论坛分类,相应的数据库论坛分类表里增加一条记录。-图 6.26.2.删除论坛分类对数据有新增功能,就必然要有删除功能,要删除论坛分类,是通过单击【删除分类】按钮完成删除动作的。6.3 编辑论坛单击【编辑论坛】按钮后界面与图.3 相同,不同的是修改的界面绑定了原有的数据.修改
50、选定的论坛的信息,数据库论坛表里相应的一条记录信息被修改了。6用户管理在这里后台用户模块的设计是对前台人员的维护。前台新建注册的系统用户,在此都可以看到,管理员可以对用户进行权限设置,单击列表中的用户名可以查看用户的基本信息,在删除列选中相应的用户名后可以删除该用户.该模块的功能主要是管理前台系统的基本用户,为了用户信息不产生冗余,影响系统的性能。这给管理员一个进行管理用户的接口。如图 64 所示:-图.Htpson esion=rues。gtSssn();sesin。seAtribute(”backMaiPage,。ueuserLisShowjsp”);String gtType=reqst