第一范文网 - 专业文章范例文档资料分享平台

BBS论坛系统设计与实现毕业论文

来源:用户分享 时间:2025/6/18 5:09:11 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

毕业论文 第5章 系统详细设计与实现

通过上面的配置,当提交发表帖子页面的表单后,会先进行表单验证,验证成功后,则调用mefhod请求参数指定的com.yxq.action.BbsAction类中的方法处理表单。

(5)在BbsAction类中创建处理发表帖子表单的方法。在发表帖子页面的代码中已经指定了处理表单的方法为addBbs(),在该方法中主要实现的是获取表单数据,然后生成向数据表中插入记录的SQL语句,最后执行该SQL语句完成发表帖子操作。addBbs()方法的关键代码如下:

BbsForm bbsForm=(BbsForm)form;

String boardId=(String)session.getAttribute(\

String bbsTitle=Change.HTMLChange(bbsForm.getBbsTitle());

String bbsContent=Change.HTMLChange(bbsForm.getBbsContent());

String bbsSender=((UserForm)session.getAttribute(\String bbsSendTime=Change.dateTimeChange(new Date()); String bbsFace=bbsForm.getBbsFace(); String bbsOpTime=bbsSendTime; String bbsIsTop=\String bbsToTopTime=\

String bbsIsGood=\String bbsToGoodTime=\

String sql=\

Object[]params={boardId,bbsTitle,bbsContent,bbsSender,bbsSendTime,bbsFace,bbsOpTime,bbsIsTop,bbsToTopTime,bbsIsGood,bbsToGoodTime}; ActionMessages messages=new ActionMessages(); OpDB myOp=new OpDB();

int i=myOp.OpUpdate(sql,params);

5.1.7 根贴操作的设计与实现

本论坛系统除了对根贴实现查看详细内容的功能外,还实现了“将帖子提前”、“置顶帖子”、“设为精华帖子”和“删除帖子”4个功能。其中管理员可对根贴进行所有操作,而当前根贴发表者和当前根贴所属版主只可进行“将帖子提前”和“删除帖子”的操作。

因为“将帖子提前”与“删除帖子”功能的实现比较相似,“置顶帖子”与“设为精华帖”的功能实现也是相似的,所以现在主要介绍“将帖子提前”与“置顶帖子”的实现。

1.将帖子提前操作的设计与实现

- 27 -

毕业论文 第5章 系统详细设计与实现

通常情况下,显示版面下根贴的根贴都是按照发表时间降序排列,最新发表的帖子在第一页的最顶部显示,如图5.7所示。

图5.7 最新发表的帖子显示在最顶部

将帖子提前,就是将发表的根贴设置为在版面下第一页中的最顶部位置进行显示。将不是最新发表的帖子提前操作后,就会将该帖子提前到最顶部位置,并不是所有用户可对根贴进行提前的操作,除管理员和当前版面的版主外,只有当前根贴的发表者可进行提前帖子的操作;否则会提示用户无权进行操作。提前贴子如图5.8所示。

图5.8 提前帖子

以下为将帖子提前操作的实现过程

(1)在查看根贴的页面中实现将帖子提前操作的超链接的实现代码如下:

${sessionScope.bbsRootSingle.bbsId}&bbsSender=${sessionScope.bbsRootSingle.bbsSender}\帖子所属者/楼主/管理员操作\将帖子提前

- 28 -

毕业论文 第5章 系统详细设计与实现

(2)在Action处理类中编码实现处理提前帖子的操作。该编码首先需要判断当前操作用户的身份,若当前用户是管理员或当前版面版主或当前帖子的发表者,则实现提前帖子功能,否则生成无权操作提示信息。实现提前帖子功能的关键代码如下:

UserForm logoner=(UserForm)session.getAttribute(\ String bbsId=request.getParameter(\ //获取被提前帖子的ID String bbsSender=request.getParameter(\ //获取被提前帖子的发布者 bbsSender=new String(bbsSender.getBytes(\ String time=Change.dateTimeChange(new Date()); //获取操作时间 String lognerAble=logoner.getUserAble(); //获取当前登录用户的权限 String lognerName=logoner.getUserName(); /获取当前登录用户的用户名

String master=(String)session.getAttribute(\ //获取当前版面的斑竹if(bbsId==null) bbsId=\

if(bbsSender==null) bbsSender=\

String forwardPath=\

ActionMessages messages=new ActionMessages();

/* 如果当前登录的用户是帖子的发表者、帖子所属版面的斑竹、管理员 */ if(lognerAble.equals(\if(bbsId!=null&&!bbsId.equals(\

Object[] params={time,bbsId};

String sql=\OpDB myOp=new OpDB();

int i=myOp.OpUpdate(sql,params); if(i<=0){

System.out.println(\提前帖子失败\forwardPath=\

messages.add(\} else{

System.out.println(\提前帖子成功!\forwardPath=\

messages.add(\} } else{

forwardPath=\}

- 29 -

毕业论文 第5章 系统详细设计与实现

} else{

System.out.println(\您没有权限提前该帖子!\forwardPath=\

messages.add(\}

(3)配置Struts配置文件代码如下:

path=\

type=\ parameter=\

2.置顶帖子操作的设计与实现

置顶帖子就是将根贴与其他根贴单独显示,并且显示在版面下最顶栏,并不是所有用户可以对根贴进行置顶操作,只有管理员才有权限进行此操作;否则会提示用户无权进行操作。置顶帖子的显示位置如图5.9所示。

图5.9 置顶帖子的显示位置

- 30 -

毕业论文 第5章 系统详细设计与实现

以下为置顶帖子操作的实现过程。

(1)在查看根贴的页面中实现置顶帖子操作的超链接,实现代码如下:

href=\otSingle.bbsId}\管理员操作\置顶帖子 

(2)编写过滤器。当用户触发上面的超链接时,会执行该过滤器,该过滤器用来验证用户身份是否为管理员,首先从session中获取当登录的用户,然后判断其用户身份。实现该过滤器的关键代码如下:

String able=logoner.getUserAble();

if(able.equals(\ chain.doFilter(Srequest, Sresponse); }

else{

request.setAttribute(\您没有权限进行该操作!\RequestDispatcher rd=request.getRequestDispatcher(\rd.forward(Srequest,Sresponse); } }

else{ request.setAttribute(\您没有登录,请先登录!\RequestDispatcher rd=request.getRequestDispatcher(\rd.forward(Srequest,Sresponse);

(3)在Action处理类中编码实现处理置顶帖子的操作。该编码操作首先获取请求中传递的帖子的ID值,然后获取当前时间,最后生成SQL语句,并执行该SQL语句实现置顶帖子操作。实现置顶帖子功能的关键代码如下:

String bbsId=request.getParameter(\if(bbsId!=null&&!bbsId.equals(\Date date=new Date();

String today=Change.dateTimeChange(date);

String sql=\Object[] params={today,bbsId}; OpDB myOp=new OpDB();

int i=myOp.OpUpdate(sql, params); } (4)配置Struts配置文件,代码如下:

- 31 -

搜索更多关于: BBS论坛系统设计与实现毕业论文 的文档
BBS论坛系统设计与实现毕业论文.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c10r2a5bjy77s7tu43p391qw0b8cv4600t39_7.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top