BBS论坛系统
BBS论坛系统的设计与实现
1.功能需求
本系统根据论坛系统的需要,以实现交流信息的一个平台。在这个BBS论坛系统中友三类用户,普通用户、版主和管理员。
普通用户具有的功能如下:
✓用户注册
✓分页查看所有主题文章列表
✓发表主题文章
✓回复文章
✓查看主题文章和回复文章的详细内容
✓对自己发表或回复的文章进行修改或者删除
版主具有的功能如下:
✓具有普通用户的所有功能
✓对本讨论区的所有文章可以修改或删除
管理员具有的功能如下:
✓具有普通用户的所有功能
✓对所有版面的所有文章可以修改和删除
✓用户管理功能,包括修改用户的个人信息或删除用户
2.框架规划
2.1划分模块
这个BBS论坛系统设计由6个基本模块所组成:
1)用户注册模块
这个模块完成新用户的注册功能,并能对新用户的注册信息进行差错检验。
包含的文件有:
新用户注册表单页面:register.jsp
验证注册信息并将注册信息存入数据库的页面:chkregister.jsp
2)用户登录模块
这个模块提供用户的登录界面,并验证用户名和密码,以确认用户身份。
包含的文件有:
用户登录页面(论坛的主页面):index.html
验证登录信息的页面:chklogin.jsp
3)信息显示模块
这个模块显示论坛的所有讨论区、各讨论区中所有主题文章、主题文章和回复文章的详细内容。
包含的文件有:
显示所有讨论区列表的页面:listboard.jsp
各讨论区中所有主题文章的分显示页面:listarticle.jsp
显示主题文章和回复文章详细内容的页面:logout.jsp
4)信息操作模块
这个模块提供发表主题文章、回复文章、修改文章以及修改删除文章的功能,并且对不同身份的用户给予不同的操作权限。
包含的文件有:
发表主题文章或回复主题文章的页面:post.jsp
修改主题文章或回复主题文章的页面:modify.jsp
验证文章的合法性并将文章信息存入数据库的页面:chktodb.jsp
删除文章的页面:delete.jsp
5)用户管理模块
这个模块能够对用户个人信息进行管理,可以设置某用户为版主或删除某用户。
包含的文件有:
显示用户列表的页面:manage.jsp
修改用户个人信息的页面:mdfuser.jsp
将修改后的用户信息存入数据库或删除用户:magtodb.jsp
6)数据库模块
这个模块实现通过JDBC-ODBC的技术队Access数据库的连接和访问。
包含的文件有:
连接数据库的JavaBean:DBConn.java
数据库连接池的JavaBean:ConnPool.java
2.2模块之间的关系
数据库模块是这个系统中最重要的一个模块,所有jsp页面的编写都是围绕数据库的操作展开的。用户注册模块将用户提交的个人信息存储到数据库之中,通过用户登录模块可以进入信息显示模块、信息操作模块、用户管理模块。这几个模块之间的关系可以用下图来表示:
2.3制定页面流程
页面流程图如下图所示:
3.数据库设计
这个BBS论坛系统使用Microsoft Acess作为数据库。
3.1设计数据表的结构
分两条线索来组织系统所要用到的数据:一条线索是用户的个人信息,另一条线索是文章的相关信息。
这两张表分别为:
用户表Users:保存用户个人信息,如:用户名、密码、用户的身份等级、用户的头像等等。
字段名 | 类型 | 说明 |
ID | 自动编号 | 用户的唯一标识,为主键 |
UserName | 文本 | 用户名,唯一 |
Password | 文本 | 用户密码 |
文本 | 用户的电子邮箱 | |
Sex | 文本 | 用户的性别 |
Phone | 文本 | 用户的电话号码 |
Adress | 文本 | 用户的住址 |
Age | 文本 | 用户的年龄 |
PostNumber | 数字 | 用户发表的文章数 (包括主题文章和回复文章) |
Rank | 数字 | 用户的身份等级 (0为普通用户,1为第一个讨论区的版主,2为第二个讨论区的版主,3为管理员) |
Face | 文本 | 用户的头像,用头像图片的存储目录表示 |
字段名 | 类型(值) | 说明 |
UserID(主键) | Int(10) | 用户ID |
UserName | Varchar(20) | 用户名 |
UserPassword | Varchar(20) | 用户密码 |
UserSex | Varchar(4) | 用户性别 |
Varchar(50) | 用户Email | |
Regdate | date | 注册日期 |
Privilege | Int(10) | 用户类型 0:普通用户;1:版主 |
Varchar(10) | ||
ImageAddr | Varchar(20) | 头像地址 |
4.1用户注册登陆功能
此部分是实现用户的注册功能。通过填写注册资料,正确填写后,点击注册按钮后便可注册成为正式的会员。
如果密码输入错误会出现如下页面。
4.2 用户发贴与回复功能
此部分实现会员的发表新帖以及回帖等功能。
发表帖子会员只针对会员开放,如果想发表新的主题,必须登陆如果没有账号必须注册以后便可直接点击发表帖子按钮。进到发表帖子页面后,首先要写自己想发表的主题,然后填写作者和正文。如果没有登陆直接点击发表主题,则会直接跳到用户登陆页面。发布新帖子的页面如下图
显示发布帖子的页面如下图
论坛栏目页面如下图
话题栏页面如下图
4.3 管理员管理帖子与用户管理功能
此部分主要是管理员对论坛的帖子和会员进行综合管理,删除、编辑、查询、等等。普通会员是不可以进行此操作的。
非法管理如下图所示
管理员管理用户页面如下图
用户修改个人信息页面如下图
用户退出论坛页面如下图
5.个人心得
在此次课程设计——BBS论坛系统中主要负责用户登录注册的相关代码编写和测试完善处理工作。用户登录模块是防止非法用户登陆的第一道防线,通过它可以保护后台数据库的安全性,当用户要进行发贴或回复时,首先要进入的就是身份验证界面,只有在密码正确的情况下才能进行以后的操作,如果输入的密码不正确,则不能进行发表新帖和回复。如果用户以浏览者的身份进入网站,则只能进行一般的帖子浏览和搜索,而不能发表新帖和回复,在点击发表新帖后,系统会判断该用户是否是登录用户,如果不是则进入登录页面,如果是第一次登录,请先注册。
用户注册时,提交信息之后,系统开始判断用户的注册信息是否有效,首先是用户名是否为空,用户输入的两次密码是否一致,然后依次往后判断用户所填写的各项信息是否符合要求,直到所有信息均正确无误,系统将该用户注册信息写入用户表Users,并提示用户注册成功。就可以进行其它有效的操作了。
通过这次课程设计,我从中学到了许多新的知识,培养了我综合多门学科中的知识、迅速规划并开发出目标系统的能力,以及编程能力也有了很大的提高。另外也有许多心得体会,所谓系统开发如人生百味,酸甜苦辣皆有之。
我们小组三人在开始实现这个论坛系统时进行了人员分工,在设计的过程中,我们深深的体会到了团队合作的重要性。