SSH框架项目.docx
《SSH框架项目.docx》由会员分享,可在线阅读,更多相关《SSH框架项目.docx(15页珍藏版)》请在冰豆网上搜索。
SSH框架项目
SSH框架项目(总15页)
南华大学
计算机科学与技术学院
项目设计报告
(2014~2015学年度第1学期)
课程名称
JavaEE轻量级结构
项目设计
BBS论坛系统
姓名
牛宇辰
学号
212
郭旭
215
胡绍坤
115
李进怀
214
专业
网络工程
班级
网络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的中文译名,最早的论坛是用来公布股票价格等信息的。
随着互联网的发展和普及,论坛已成为网民相互交流的主要工具。
目前主流门户网站,例如搜狐、XX等等都拥有自己的论坛频道。
还有一些专门的论坛网站,如天涯论坛、水木社区。
通过论坛,网民可以发布一些自己感兴趣的主题,也可以回复别人发表的主题。
在本章中我们就来开发一个类似的论坛系统。
重点内容:
了解论坛网站系统的基本需求
学会如何分析和设计数据库
学会如何使用Struts2+Spring+Hibernate进行开发
学会数据库的基本使用
学会使用MyEclipse进行SSH整合开发
一、系统分析
1.需求分析
对于一个论坛系统来说,最大的需求就是让更多的用户来发表和回复主题。
对于任何用户,只要进入论坛系统,就能够浏览其他用户发表的主题。
但是用户要自己来发表主题或者回复别人发表的主题,首先需要注册,注册完成后,就能进行登录。
用户登录后,就能够发表自己感兴趣的主题,来供其他人分享。
也可以回复别人的主题,来和别人一起交流。
2.功能分析
论坛是为用户交流提供的一个平台,对于所有的用户都可以浏览论坛。
不过在论坛系统中同样对用户权限进行限制,在该系统中根据权限将用户分成四种角色,分别为游客、普通用户、版主和管理员。
对于游客,允许其查看论坛栏目和查看其他用户发表的所有主题和回复,不过不允许其发布主题和回复。
对于普通用户,同游客一样可以浏览论坛中的所有内容,包括栏目、主题以及回复。
普通用户还可以发表自己感兴趣的主题和回复其他用户发表的主题。
对于版主,除了拥有普通用户的所有功能外,还需要管理自己所在版块。
需要删除一些非法的主题和回复,还可以对用户进行处罚,例如禁言、扣分等等。
还可以对一些主题和回复进行奖励,例如加分、奖励勋章等等。
管理员是最高权限的角色,需要对系统的用户进行管理,包括新增用户、删除用户以及更新用户等等。
还需要对论坛栏目和子栏目进行管理,包括新增(子)栏目、更新(子)栏目、删除(子)栏目等等。
同样管理员还可以对已经发表的主题和回复进行管理,而且其管理范围比版主要大,它需要管理论坛的所有栏目。
二、系统设计
1.绘制用例图设计系统功能
从前面的系统分析中知道论坛系统一共包含四种用户角色,分别是游客(未登录用户)、普通用户(登录用户)、版主以及管理员。
下面就来分析这四个角色所对应的用例图。
2.绘制系统流程图
用户在进入本系统后,将首先打开论坛首页。
在论坛首页,用户可以选择注册新用户、登录系统、进入系统管理后台。
只有登录的用户才可以发表帖子和回复,而也只有版主可以删除帖子和回复。
同样只有管理员才可以进入系统管理后台。
系统流程图如图所示。
三、数据库分析与设计
1.数据E-R图:
2.数据库逻辑结构设计
本系统一共设计规划出五个表,分别是用户表、栏目表、子栏目表、主题表以及回复表。
下面就来对每个数据库表进行逻辑结构设计。
(1)用户表用来保存用户的信息,包括用户编号、用户名、密码、性别、年龄、出生日期、权限以及积分。
该表的逻辑结果如下表所示。
(2)栏目表用来保存栏目信息,包括栏目编号、栏目名称、栏目介绍、栏目版主。
该表的逻辑结果如表所示。
(3)子栏目表用来保存子栏目信息,包括子栏目编号、子栏目名称、子栏目介绍、所属栏目编号、子栏目版主。
该表的逻辑结果如表所示。
(4)主题表用来保存主题信息,包括主题编号、主题标题、主题内容、主题发表者、主题发表时间、主题查看数量、主题所属子栏目编号,该表的逻辑结果如表所示。
(5)回复量表用来存储回复信息,包括回复编号、回复内容、回复时间、所属主题编号、回复发表者,该表的逻辑结果如表所示。
3.创建数据库及数据表
创建数据库db_bbs,其SQL语句代码如下。
CREATEDATABASEdb_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.回复主题
在浏览主题页面中的最下方有一个用于对主题进行回复操作的表单。
在页面中单击“回复”按钮,也会到该表单,用户在该表单中输入要回复的内容,然后单击“发表回复”按钮,就会执行发表回复操作,如图所示。