SSH实现论坛BBS系统

项目编号:BS-PT-001 

SSH论坛系统设计文档说明书







1.引言







1.1 目的

读者范围:项目经理、组织人员、设计人员、开发人员、测试人员。

本文档作为酒店管理系统的概要说明文档,主要在于明确数据结构和软件结构,此外总体设计还将给出内部软件和外部软件部件之间的接口定义,各个软件模块的功能说明,数据结构的明细以及具体的装配要求。







1.2 背景

论坛系统是一种B/S架构的在线交流平台系统。实现用户在线根据不同的兴趣在不同的版块进行交流沟通。本项目基于Spring+Struts2+Hibernate框架来进行实现,前端使用框架BootStrap实现,数据库使用MySql5.5。







1.3 定义







1.3.1 JSP

JSP(Java Server Pages)技术使用Java编程语言编写类XML的tags和Scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务器端的资源的应用逻辑。JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。







1.3.2 Struts2





Struts2是一个基于MVC设计模式的Web应用框架,它本质上相当于一个servlet,在MVC设计模式中,Struts2作为控制器(Controller)来建立模型与视图的数据交互。Struts 2是Struts的下一代产品,是在 struts 1和WebWork的技术基础上进行了合并的全新的Struts 2框架。其全新的Struts 2的体系结构与Struts 1的体系结构差别巨大。Struts 2以WebWork为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与ServletAPI完全脱离开,所以Struts 2可以理解为WebWork的更新产品。虽然从Struts 1到Struts 2有着太大的变化,但是相对于WebWork,Struts 2的变化很小。

1.3.3 MySql

MySql是一款高性能的关系性数据库,目前使用非常流行,其灵活的SQL语句具有非常强大的查询功能。







1.3.4 Hibernate





Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,它将POJO与数据库表建立映射关系,是一个全自动的orm框架,hibernate可以自动生成SQL语句,自动执行,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的JaveEE架构中取代CMP,完成数据持久化的重任。



1.3.5 Bootstrap

Bootstrap是Twitter推出的一个开源的用于前端开发的工具包。是一个Web前端CSS框架。Bootstrap是基于jQuery框架开发的,它在jQuery框架的基础上进行了更为个性化和人性化的完善,形成一套自己独有的网站风格,并兼容大部分jQuery插件。酒店管理系统采用这个框架做前端开发,实现响应式设计。







1.4 参考资料

  • 《J2EE 项目实训UML及设计模式》 杨少波 等编著 清华大学出版社 2008年5月
  • 《J2EE 项目实训Spring框架技术》 杨少波 等编著 清华大学出版社 2008年5月







2.总体设计







2.1 需求规定

本系统基于SSH的论坛BBS系统,包含游客,会员,管理员三个角色:游客可以浏览相关贴子;会员可以发贴,申请精华贴;管理员可以创建板块,管理板块,管理贴子,对用户禁言操作等,审批精华贴,发布公告。







2.2 运行环境







2.2.1 硬件环境

服务器端:处理器型号以及内存容量:1G以上,外存容量硬盘40G以上,考虑到数据的安全性,要求使用磁盘阵列,广域网网络环境。

客户端:PⅢ或更高配置。







2.2.2 软件环境

服务器端:Windows/CentOS 6.4,MySQL数据库5.0,tomcat8.0

客户端: IE9.0以上,Firefox,Chrome,Opera







2.3系统架构设计和业务处理流程

根据需求文档中描述的功能、非功能性需求进行分析,以及对现有的主流技术框架的研究,本系统采用Spring+Struts2(JSP) + Hibernate +BootStrap + mysql技术框架,实现MVC架构模式,保证了系统良好的可扩展性、可维护性和模块的复用性。

Struts2 具有是一个比较流行的MVC框架,在MVC架构层中进行简单配置即可完成于spring无缝融合,达到Spring提出的高效集成和松耦合的架构目标所以在系统需求下,本论坛采用Struts2作为MVC的架构进行系统实现。

在ORM中,目前成熟的有很多种,基于系统性能和扩展性方面考虑,SL商城采用Hibernate框架实现ORM,Hibernate对CRUD进行了大量的封装,让持久层开发更简单。

论坛管理系统的总体技术架构图如图1所示:在表示层(View)采用了JSP页面进行展示;在效果以及渲染方面,采用Bootstrap框架做前端开发;Spring的事务控制以及控制反转贯穿MVC三层,发挥着无缝连接的作用。在持久层,有Spring对Hibernate的支持以及Hibernate的数据持久化功能;数据库采用mysql数据库。

图2.3.1 系统总体架构图







2.3系统功能结构设计





包含游客,会员,管理员三个角色:游客可以浏览相关贴子;会员可以发贴,申请精华贴;管理员可以创建板块,管理板块,管理贴子,对用户禁言操作等,审批精华贴,发布公告。

2.5尚未解决的问题

    无







3数据结构设计

各个数据表结构及说明:略



4.系统异常处理设







4.1出错信息

采用一览表的方式说明每种可能的出错或故障情况出现时,系统输出信息的形式、含义及处理方法。出错信息采用统一的表现方式,用一个统一的窗口表现给用户,有权限的用户可以看到出错信息的提示。对于数据维护中数据导入或导出出现的错误信息,系统需要给予文档说明,将错误信息的详细描述告诉用户,以便于数据的修改。







4.2补救措施

系统出错后的处理的补救:

   1、数据库恢复。

   2、系统日志恢复和跟踪。







5.功能模块设计







5.1 前端页面







5.1.1 界面设计

注册:

登陆:

查看贴子:



5.2后台管理







5.2.1 公告管理

5.2.1.1 界面设计

发布公告

5.2.2 个人设置

5.2.2.1 界面设计

5.2.3 贴子管理

5.2.3.1 界面设计

5.2.4 精华贴管理

5.2.4.1 界面设计

5.2.5 用户封锁管理

5.2.5.1 界面设计

5.2.6 添加板块管理

5.2.6.1 界面设计

5.2.7板块管理

5.2.7.1 界面设计

本项目是作者当时花费了3个多月的时间完成的.在此拿出来给大家分享,请珍惜作者的劳动成果,用心研读! JEEBBS最新版本采用hibernate3+spring mvc+spring3+freemarker技术架构,重新设计了jeebbs,重新架构后的JEEBBS性能得到了很大的提升,功能相比jeebbs v1.0也丰富了许多。 jeebbsV4.0功能列表 1、论坛APP 2、登录更改shiro登录认证以及记住我 3、在线人数、时长统计 4、提供用户接口、其他系统用户接口调用设置以及接口管理(可与jeecms系列软件无缝对接实现单点登录) 5、用户自定义字段 6、禁用ip、id发帖、回帖 7、注册成功自动登录 8、设置在线活跃度等级 9、手机模板方案设置 10、最近登录过(三天,一周、一个月、三个月、半年)查询 11、类似微信团队号(与用户沟通账户以及推送系统消息) 12、QQ登录 jeebbsV4.0修复以及完善部分 1.权限的访问的地址链接 2.图片太大显示不全问题 3.会员组设置附件上线没有用以及其他相关设置无效 4.附件上传经常上传不了 5.发帖文字内容不能居中、居左、居右 编辑器字体、大小、插入图片、排序列表无效、左浮动、右浮动 6.用户自定义头像错误 7.注册如果发送邮件激活的方式出错(返回页面错误org.hibernate.LazyInitializationException: could not initialize proxy - no Session) 8.禁止用户后不允许登录、发帖、回帖等 9.后台会员搜索中文名搜索乱码 10.注册会员的时候提示邮箱的格式不对 11.登录设置邮箱密码文本框改成密码框
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

编程千纸鹤

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值