基于JSP的BBS论坛设计与实现
来源:99网
’ ’ ’’ ’‘一’‘ …一……。 ‘ 。。‘……’ …‘ …‘ ’… …’ 实用第一 智慧密集 ..,。 .... . … .…....…... . .. . ..。 … 基于JSP的BBS论坛设计与实现 韩会雯 (中 飞行试验研究院,西安710089) 摘要:随着lnlernet技术的快速发展,网络视频、网络聊天、博客已成为人们彼此沟通、交流信息的主要方 式 开发BBS论坛系统的目的是提供一个供用户交流的平台,为广大用户提供交流经验、探讨问题的网上社 区 长论坛系统是基于是JSl +Oracle实现的,它具有使用方便、操作灵活、运行稳定、安全可靠等特点 关键词:在线论坛;系统设计;JSP语言;Orac:le数据库 随着现代网络技术和多媒体技术的迅猛发展.BBS论 坛已经成为网络川户交友娱乐和认识世界的重要T 具.基 丁此背景下,能够开发 一款面向旧内用户甚至是困外用 r】、提供丰富多彩的旅游信息、川户体验良好,集用户管 、好友管理、 信息功能、帖子发布与管理、评论管理、 收藏管理以及版 饭块管理等的BBS美食论坛系统就成为 ・个热门的课题 、 I 程序设计 本系统需要川户通过在网贞客户端上进行操作来实现 指定的功能 、卡7J次进入该系统的游客可以注册成为系统的 会员、可以浏览各板块的帖子信息等;用户登录成功后可 以对个人信息进行修改:系统管理员可以对用 进行权限 蒯整、删除等操作;管理员还町以发表站内信息,使每一 个登录系统的川rl郜可以存主贞I 看到此站内信息:系统 的用户_j『以发帖、对帖子评论、收藏帖子;系统巾的用户 还_¨『以添加其他川户为好友等 1所示。 IBBs旅游论坛系统4上——I r——i—r——i—一 f ! I———j——1一—i 一一一 l ——J-1 }用户管理: I好友管理}l短信管理I I帖子管理{l评论管理I l收藏管I lJ皈区板劂 l模块} {模块l j模块I 模块}I模块J}理模块i 理模块l 阔国鸯圜 圉圜 离 国罔同圄崮 圜罔国圉圉 图1 系统功能结构图 1.1功能模块 基=J 以J 求分析.从数据侔的角度可以将系统分为 以下7个功能模块: (1)刚,、一箭 模块:游客i,f注册成为某一版块下的会 ,川r】髓入系统后可查询和更新自己的所有信息(除权 外);版块版卡,fxq其版块l大】所_仃会员进行删除操作:当 2017.05 盈==I==I玉蕊 雏 b 前用户可点击帖子界面中的用户名字进入指定用户的个人 中心,可查看对方基本信息、帖子等信息,还可添加对方 为好友 (2)好友管理模块:用户可通过姓名搜索或进入到对 方的个人中心添加对方为好友,待对方接受申请双方可成 功建立好友关系,若对方拒绝请求,则申请方可再次提… 申请或撤销请求.对于对方尚未审核的申请,申请方Il『撤 销请求。 (3)短信息管理模块:当前用户可查询与之保持通信 父系的好友信息.对于每一用户可 示与该好友之间的未 读短信条数:当前用户可在此界面向好友发送信息,以及 对已有信息执行删除等操作。 (4)帖子管理模块:普通会员和版块版主可在其版块 内发帖:对于当前H】户发表的帖子,权限高于当前用户的 川户可对该帖子进行审核。 (5)评论管理模块:当前用户可对在任意界面看到的 任意帖子进行评论,用户对于自己发表的评论或自己帖子 内的任意一条评论可执行删除操作。 (6)收藏管理模块:当前用户可对在任意界面看到的 任:卷帖子执行收藏操作。可查看已收藏的帖子,还可取消 收藏。 (7)版区板块管理模块:当前用户可在所有m现帖子 的界面按作者名、帖子名或帖子内容中的关键词搜索帖子, 可对搜索到的帖子进行评论、收藏、分享等操作等。 1.2数据库 陔系统数据库主要有8张表: 用户信息表、好友关系表、通知信息表、帖子信息表、 评论信息表、公告信息表、管理员信息表、举报信息表 、 作者简介:韩会雯(1993一),女,助理1 程师,研究办阳 信息安全。 收稿日期:20l6一l2—13 以下是其中几张数据库表,如表1~表4所示。 表1用户信息表 编号 用户名 呢称 年龄 注册日期 性别 角色 Int Varchar2 Varcher2 Varchar2 Varchar2 Varcha Varchar2 表2好友关系表 好友关系编号 发起方编号 发起方姓名 收到方编号 收到方姓名 varchar2 varchar2 varchar2 varchar2 varchar2 表3帖子信息表 帖子编号 帖子名称 版块编号 类型 用户名 发帖时间 内容 Int Varchar2 Varcher2 Varch.2 Varchar2 date Varchar2 表4举报信息表 举报编号 举报者 举报信息 举报时间 举报类型 处理结果 int varchar2 varehar2 date varchar2 varchar2 2系统实现 2.1项目整体 该美食论坛系统采用客户一服务器设计模式,基于 Servlet、JSP和JavaBean技术,在实际运行过程中,用户在网 页客户端的操作以请求的方式提交给服务器,服务器处理完后 将结果以响应的方式反馈给指定的网页,借以实现指定的功 能。按服务器处理网页客户端请求的流程将其分成以下5层: (1)Common层:通用层,提供通用类,为方便使用, 通常将类中的方法定义为类方法:该层中包括对数据库进 行操作的类DBUtil和能够自动生成主键的类CreatelD。 (2)Control层:控制层,每一个Servlet对应一张数据 库表,来自网页客户端的请求首先提交给该层处理,服务器 层处理后的结果也返回到该层,并由其响应给指定的网页。 (3)Dto层:数据模型层,采用JavaBean技术,将每 一张数据库表都映射为该层中的一个类,并提供一些基本 的业务逻辑,同时,来自网页客户端的参数也由该层封装。 (4)Dao层:接口层,该层中定义了对数据库操作的 各种接口,其具体的功能有DaoImpl层来实现。 (5)DaoImpl层:数据访问层,该层实现了Dao层中的 方法,并对数据库进行直接访问与操作。 系统工作的一般流程如图2所示。 图2系统工作的一般流程 2.2模块功能 此处以搜索帖子为例。搜索帖子流程图如图3所示。 当前用户进人 某一版块看帖 ______________-_-_____●__一 ————主—一 在搜索框中输入 关键词 —————t——一 在服务器中按J比 关键词搜索该牺 搜索是否成功 \/ 是I ————主一 ————j__一 将搜索结果 发送到网页 返回到失败界 \\/ 删多 是I t l在服务器中查找I f该版块下的帖子I 结束 图3搜索帖子流程图 用户登录系统后。点击我的帖子超链接,在该超链接 中将当前用户的userid作为参数,连同业务处理路径一起 以请求的方式提交InvServlet;在该代码块中首先用 BBS_Inv封装来自网页客户端的请求,然后调用BBS_Inv中 相应的业务逻辑;BBS—Inv中的业务逻辑首先通过InvDao 中的接口来调用InvDaolmpl中相应的业务处理方法,以 userid作为参数,对数据库进行操作;服务器层将操作结果 逐层返回InvServlet.InvServlet根据操作结果进行判断,若 操作成功.则将指定用户的信息反馈给网页客户端,若操 作失败。则将操作失败页面fail.jsp反馈给网页客户端。 3应用举例 此处以浏览帖子为例。用户登录过后,首先需要进行 一个版区的选择,当用户选择好版区进去以后,就可以看 到该版区的所有帖子,这个时候,当用户选择一个帖子的 时候,当点击的时候就把帖子的ID传送到关于帖子的 CardServlet里面去了 通过调用方法去数据库里面查找该帖子的内容.然后 把取得的结果通过session进行封装.跳转到具体帖子浏览 (下转第39页) …… .ⅡATABASE&嘲f0R脯ATION MANAGE……-……- …… 。 -…… ¥wp—roles一>role—names[ author 】: 课程教师 : Swp—roles一>roles[ contributor 】I name 】= 学生 es一>rolenames[Swprol contributor 】= 学生 ………~…・… ‘… …… - 一一…-; --一 征职业技术学院顺利上线,目前已有近50门课程上线或LI: 在建设中。WordPress不但适合单个站点的开发,也是优秀 的集群网站开发框架。通过这次歼发,对WordPress的结 构、运行机制有了更深入的理解,对课程管理系统也彳『r 全新认识。日前.课程管理系统更多的还是起到收集、存 —) addaction( init , xCourse—change—role—name ): —2.4网站功能开发 WordPress的插什机制允许开发者在不修改WordPress 的核心代码的情况下,通过一种简单的方式_来修改、定义 储教学资源的作用,教师是主要的使用荇,学生的参与度 还有待提高。WordPress的优秀的扩腱性能,为未来进一步 扩展功能、细化课程模块、增加题岸、考试模块,增强教 和增强网站的功能 、}l】前,【 传WordPress官 网站的免费 插件多达4.9万个,能够满足基本需要,仉一些特殊功能 仍然需要自己开发. .(1)交互功能。采用bbPress作为课程管理系统的讨论 师与学生之问、学生与学生之l1=IJ的交流功能,把课程管理 系统打造成学习管理系统成为可能 、 参考文献 [1】戴一平.基于WordPress的CMS分析与设计『J1.计算 组,提供师生之『HJ的交匾。bbPress是rf=l WordPress官方开发 的论坛系统,作为一个捅件存在,冈此安装非常简单,只需 要在管理后台添加捕件,搜索到bbPress后点 安装即可 机与现代化,2011,(4):79—83. 【2】黎加厚,赵怡.课程管理系统(CMS)及其选择【J1. 现代教育技术,2008,(9):64—71. f31宋维堂,张淑梅.基于Web2.0理念的高职院校教学资 (2)作业模块 作业模块采用插件方式开发,实现在 线布置作业、完成作业、提交作业和批改功能 (3)活动和通知功能。活动和通知功能利朋自定义字 段开发,埘活动或通知叮以设定时间、地点、事项,以及 下线13期,并以小T具的方式呈现,可以很容易地拖放到 模板预设的/b3:具 域 源库建设研究lJ1.中国教育信息化,2011,(9):31— 34. f41赵周栋,张捷,林莉.高校课程管理系统选择策略研 究….中国远程教育,2008,(1):66—70. [5】WordPress.About WordPress【EB/OL]. 3结语 通过对WordPress的二次开发.课程僻理系统_往浙江长 .S止.S止.址.Sl上 S止 .S止.Sl上.S止.址 5止. .S止.5止 5止.址.S止.5止.址.S .S止 .S屯 .址.S止.S止.S止.S止.S止.S止.址.址.址.址.S止 S .S .址.址.S止.S也.S .址—址 (上接第17页) 4结语 基于人们对BBS论坛系统的多种需求,设计并实现了 的界面,之后把这篇帖了的内容在这里具体地 示 来, 包括一些以往用厂1对这篇帖子的评论等。帖子浏览的界面 如图4所示,具体帖子的浏览如图5所示。 具有用户管理模块、好友管理模块、短信息管理模块、帖 子管理模块、评论管理模块、收藏管理模块和版区版块管 理模块等功能的美食论坛,基本实现了设计之初对系统 性能的预期。但由于开发时间和开发难度等客观 素, 该系统在功能方面特别是用户友好方面还存在着一定程 ■■● 度的不足 参考文献 【1】一E行青.Oracle数据库应朋开发基础『M1.北京:清 华大学}{l版社,2003. 图4浏览帖子目录 [2】褚尚军,王亮.轻松学Java【M】.北京:电子工业 版社.2013. …{ H-■ ^~一~●……一}r一~…■一…● …[3J邓子云.Java Web轻量级开发全体验【M】.北京:电 子【业出版社 2012. ……… …I … 自…—……t■■q■■^* ■…’…~……~^ ●~…●…■~ ●…-… …∞…■●_ m● 图5具体帖子浏览 39 j 奠_震2扳0巧17与.0覃5  ̄一