搜档网
当前位置:搜档网 › SSH框架项目

SSH框架项目

SSH框架项目
SSH框架项目

南华大学

计算机科学与技术学院项目设计报告

(2014 ~2015 学年度第 1 学期)

课程名称JavaEE轻量级结构项目设计 BBS论坛系统

姓名牛宇辰学号20124360212

郭旭20124360215

胡绍坤20124360115

李进怀20124360214

专业网络工程班级网络01、02

地点8教实验室教师谢卫星

组长:牛宇辰组员:郭旭、胡绍坤、李进怀。

一:系统分析

1、需求分析

2、功能分析

二:系统设计

1、绘制用例图设计系统功能

2、绘制系统流程图

三:数据库分析与设计

1、数据库E-R 图

2、数据库逻辑结构设计

3、创建数据库及表

四:公共类设计

1、新增用户

2、浏览用户

3、浏览用户

五:栏目管理模块

1、创建新栏目

2、查看所有栏目

3、删除指定栏目

六:子栏目管理模块

1、在栏目下创建子栏目

2、查询栏目下所有子主题

3、删除指定子栏目

七:前台功能模块

1、指向论坛首页

2、显示子栏目中所有主题

3、发表新主题

4、浏览主题

5、回复主题

基于SSH的BBS论坛系统

论坛是BBS的中文译名,最早的论坛是用来公布股票价格等信息的。随着互联网的发展和普及,论坛已成为网民相互交流的主要工具。目前主流门户网站,例如搜狐、百度等等都拥有自己的论坛频道。还有一些专门的论坛网站,如天涯论坛、水木社区。通过论坛,网民可以发布一些自己感兴趣的主题,也可以回复别人发表的主题。在本章中我们就来开发一个类似的论坛系统。

重点内容:

了解论坛网站系统的基本需求

学会如何分析和设计数据库

学会如何使用Struts2+Spring+Hibernate进行开发

学会数据库的基本使用

学会使用MyEclipse进行SSH整合开发

一、系统分析

1.需求分析

对于一个论坛系统来说,最大的需求就是让更多的用户来发表和回复主题。对于任何用户,只要进入论坛系统,就能够浏览其他用户发表的主题。但是用户要自己来发表主题或者回复别人发表的主题,首先需要注册,注册完成后,就能进行登录。用户登录后,就能够发表自己感兴趣的主题,来供其他人分享。也可以回复别人的主题,来和别人一起交流。

2.功能分析

论坛是为用户交流提供的一个平台,对于所有的用户都可以浏览论坛。不过在论坛系统中同样对用户权限进行限制,在该系统中根据权限将用户分成四种角色,分别为游客、普通用户、版主和管理员。

对于游客,允许其查看论坛栏目和查看其他用户发表的所有主题和回复,不过不允许其发布主题和回复。

对于普通用户,同游客一样可以浏览论坛中的所有内容,包括栏目、主题以及回复。普通用户还可以发表自己感兴趣的主题和回复其他用户发表的主题。

对于版主,除了拥有普通用户的所有功能外,还需要管理自己所在版块。需要删除一些非法的主题和回复,还可以对用户进行处罚,例如禁言、扣分等等。还可以对一些主题和回复进行奖励,例如加分、奖励勋章等等。

管理员是最高权限的角色,需要对系统的用户进行管理,包括新增用户、删除用户以及更新用户等等。还需要对论坛栏目和子栏目进行管理,包括新增(子)栏目、更新(子)栏目、删除(子)栏目等等。同样管理员还可以对已经发表的主题和回复进行管理,而且其管理范围比版主要大,它需要管理论坛的所有栏目。

二、系统设计

1.绘制用例图设计系统功能

从前面的系统分析中知道论坛系统一共包含四种用户角色,分别是游客(未登录用户)、普通用户(登录用户)、版主以及管理员。下面就来分析这四个角色所对应的用例图。

2.绘制系统流程图

用户在进入本系统后,将首先打开论坛首页。在论坛首页,用户可以选择注册新用户、登录系统、进入系统管理后台。只有登录的用户才可以发表帖子和回复,而也只有版主可以删除帖子和回复。同样只有管理员才可以进入系统管理后台。系统流程图如图所示。

三、数据库分析与设计

1.数据E-R图:

2.数据库逻辑结构设计

本系统一共设计规划出五个表,分别是用户表、栏目表、子栏目表、主题表以及回复表。下面就来对每个数据库表进行逻辑结构设计。

(1)用户表用来保存用户的信息,包括用户编号、用户名、密码、性别、年龄、出生日期、权限以及积分。该表的逻辑结果如下表所示。

(2)栏目表用来保存栏目信息,包括栏目编号、栏目名称、栏目介绍、栏目版主。

该表的逻辑结果如表所示。

(3)子栏目表用来保存子栏目信息,包括子栏目编号、子栏目名称、子栏目介绍、所属栏目编号、子栏目版主。该表的逻辑结果如表所示。

(4)主题表用来保存主题信息,包括主题编号、主题标题、主题内容、主题发表者、主题发表时间、主题查看数量、主题所属子栏目编号,该表的逻辑

结果如表所示。

(5)回复量表用来存储回复信息,包括回复编号、回复内容、回复时间、所属主题编号、回复发表者,该表的逻辑结果如表所示。

3.创建数据库及数据表

创建数据库db_bbs,其SQL语句代码如下。

CREATE DATABASE db_bbs;

其他数据库表的SQL语句代码如下。

1.创建用户表user。

2.创建栏目表item。

3.创建子栏目表subItem

4.创建主题表topic

5.创建回复表reply

四、公共类设计

本论坛系统是采用SSH2框架技术开发的,在进行Hibernate操作时,要创建和数据库连接的实体类,这就是公共类,其中包括栏目类、子栏目类、主题类、回复类和用户类。在显示主题和回复时,要采用分页技术,这是因为当数量多时显示到同一页中是不方便查看的。本系统的所有公共类以及功能如表所示。

1.新增用户

论坛中的普通用户通常是通过注册的形式产生的,但是对于管理员和版主来说,就需要管理员在后台添加。在后台管理页面的左边管理列表中,单击“新增用户”超链接,就会进入新增用户页面,如图所示。

2.浏览用户

在后台管理页面中,单击“浏览用户”超链接,将会将该论坛中的用户显示出来,在其中可以选择权限,从而将该权限的所有用户查询出来,如图所示。

3.删除用户

在浏览用户页面中,在每一个用户的后面都有一个“删除”超链接,单击该超链接就会执行删除操作,从而将该用户删除。要想完成用户删除功能,同样需要新增一个删除用户Action控制器,还需要在数据访问层和业务逻辑层添加相应的删除方法。

五、栏目管理模块

1.创建新栏目

论坛中的栏目是经常换的,例如现在出现了某一流行技术,我们就应该增加该栏目。在后台管理页面中,单击“新增栏目”超链接,就会进入创建新栏目页面,如图所示。

2.查看所有栏目

在后台管理页面中,单击“浏览栏目”超链接,就会查看目前论坛中所有栏目,如图所示。

3.删除指定栏目

在查看所有栏目页面中,在每一个栏目后面都有一个“删除”超链接,单击该超链接就会执行删除操作,从而完成删除所在行栏目的功能。要想完成删除指定栏目功能,同样需要新增一个删除栏目Action控制器,还需要在数据访问层和业务逻辑层添加相应的删除方法。

六、子栏目管理模块

1.在栏目下创建子栏目

在创建子栏目时,必须要指定该子栏目是属于哪一个栏目,该栏目是必须存在的。例如我们创建Linux子栏目,它是属于操作系统栏目的,这种情况下必须首先创建操作系统栏目,再来创建Linux子栏目。在栏目下创建子栏目的页面如图所示。

2.查询栏目下所有子主题

在后台管理页面中,单击“浏览子栏目”超链接,就会进入查询栏目下所有子栏目的页面,如图所示。

3.删除指定子栏目

将某一栏目下的所有子栏目显示出来后,在每行的子栏目信息后都有一个“删除”超链接。单击该超链接,就会删除该子栏目。要想完成删除指定子栏目功能,同样需要新增一个删除子栏目Action控制器,还需要在数据访问层和业务逻辑层添加相应的删除方法。

七、前台功能模块

1.指向论坛首页

将某一栏目下的所有子栏目显示出来后,在每行的子栏目信息后都有一个“删除”超链接。单击该超链接,就会删除该子栏目。要想完成删除指定子栏目功能,

同样需要新增一个删除子

栏目Action控制器,还需

要在数据访问层和业务逻

辑层添加相应的删除方法。

2.显示子栏目中所有主题

在首页中,单击子栏目超链接,就会进入该子栏目,从而将该子栏目下的所有主题显示出来,如图所示。

3.发表新主题

在首页中,单击子栏目超链接,就会进入该子栏目,从而将该子栏目下的所有主题显示出来,如图所示。

4.浏览主题

在显示子栏目中所有主题页面中,每一个主题都是一个超链接,单击该超链接就会查看该主题的信息,包括主题标题、主题内容、发表时间,以及发表者的相关信息,如图所示。

5.回复主题

在浏览主题页面中的最下方有一个用于对主题进行回复操作的表单。在页面中单击“回复”按钮,也会到该表单,用户在该表单中输入要回复的内容,然后单击“发表回复”按钮,就会执行发表回复操作,如图所示。

相关主题