论文部分内容阅读
[摘要] 本次设计题目就是使用JSP技术建立的一个BBS论坛系统。采用的是MYSQL数据库及纯JavaBeans技术,开发实现了一个可移植性较好的简洁的BBS系统,本论坛实现了论坛的大部分功能,例如发帖子、回复帖子、浏览信息﹑用户权限设置、用户管理等。总体上,本次开发的BBS论坛是一个简而实用的“师生交流论坛”。
[关键词] BBS论坛系统 JSP技术 MYSQL数据库 JavaBeans技术
1.引言
随着市场经济的运行,人们越来越感觉时间就是金钱,也就越来越多的忙于各种事情——工作、学习等,人们之间交流显得很少,尤其近些年来的从心态上人们不断趋于过早的成熟,这一点更加体现在从初中到高中的学生身上,他们开始不是在一起聊天,而是转而迷于网上聊天,更加减少了于老师之间的沟通。而一个能够能够增加他们之间交流的平台,此刻就显得至关重要。
2.系统软件设计方案
2.1 系统开发需求分析
我们从用户使用论坛的角度来分析论坛系统,那么用户使用论坛,要按照一定的流程来进行,如:用户注册登陆论坛,就某个话题(主题贴)展开讨论,通过发贴功能来发布新的话题,通过回帖功能回复已有的话题,通过浏览话题信息来寻找自己感兴趣的话题。再者,管理员要管理论坛,软件需要具有管理注册用户,管理帖子信息,设置用户权限的功能。这样确立了论坛系统的应具有的功能
2.2系统开发模式
系统开发采用了图1所示的开发模式,此种开发模式对于基本的数据库应用和基本页面都能够通过参数来实现,对于页面和数据库设计复杂的情况,此种设计也对一些特殊情况进行了处理设计。
图1设计模式
2.3 系统功能模块组成及说明
从上述论坛功能体系图解分析,确立论坛系统由7大模块组成,其中有4大主要模块:用户登陆注册模块,信息显示模块,信息操作模块,数据库模块。
用户登陆注册模块,应用三层登陆验证体制,保证登陆用户的合法性原则,确定不会出现用户登陆冗余。
信息显示模块,采用实时分页技术,将信息显示于同一网页不同页数中,力求信息显示高效合理性。
信息操作模块,确立了命令式,任务型分配体制,保证系统页面的可重用性原则。
数据库模块,利用JDBC技术连接关系数据库,通过JavaBean技术对数据库信息进行读写;采用数据库连接池来解决系统资源的频繁分配、释放所造成的一系列问题。
2.4系统数据库信息确立及说明
本论坛系统采用MySQL数据库,通过上述分析工确立数据表信息3个:用户信息表、帖子信息表、管理员信息表。其中管理员表独立,与其他表单无相关性原则。在用户信息表与帖子信息表中,用户信息表中的用户编号,即ID,与帖子信息表的文章发表作者编号,即AuthorID,一致。
2.5 系统功能模块实现
1、用户登陆注册模块
对于Web应用系统来讲,节约资源很重要,所以在本此设计中,采用了JavaScript教本语言在浏览器端验证用户输入的信息的正确性,是否符合注册的基本要求。对于JavaScript来讲验证提交的表单信息显得很简单,同时也节省了资源。
整个的登录过程是通过三层验证组成的,除了上一步的基本表单验证外,接下来的就是提交给数据库的验证体系。验证提交信息用户登陆信息是否和数据库中的表单信息想匹配,被称为二次身份验证;身份验证通过的同时,要对用户是否已经登陆做确认,被称为最终登陆验证。这样的验证结果保证了登录用户的安全性,不会出现登录用户冗余数据;另外,这种验证方法有很好的通用性体制,在以后的开发中仍然有很好的应用性。
2、信息显示模块
对于信息显示来讲,关键在于怎样去分页显示信息,已达到分页预览的目的。为达到显示分页效果,本次设计的算法如下:
(1)定义变量,表1所示:
表1 变量定义表
变量名 PageSize RowCount PageCount Page
变量说明 页显示条数 记录总数 总页数 待显示页码
变量类型 整型 整型 整型 整型
(2)通过数据库查询获得发表的信息总数,从而初始化变量RowCount。
(3)计算总页数的算法:
PageCount = (RowCount+PageSize-1)/PageSize;
(4)调整待显示页码:
if(Page>PageCount) Page = PageCount;
(5)执行SQL语句并取得相应结果集,将记录指针定位到待显示页的第一条记录上。
(6)分页显示,每页八条文章信息,当Page> PageCount时,显示“下一页”,向列表显示页提交信息;当Page>1时,显示“上一页”,提交信息。
(7)交替往复,直至用户关闭显示。
此算法是一个比较通用的分页信息显示算法,通过动态的设置网页显示格局,可以很轻松的实现个中当前的信息分页显示。
3、信息操作模块
信息的编辑、删除均有一个共同点,那就是对数据库的读取,利用SQL的条件查询语句,达到数据修改和删除的效果。
信息的操作有分为管理员操作、论坛版区管理员操作和普通用户操作,他们被给予不同的操作权限。
用户的权限是通过读取数据库内的相应的用户信息完成的设置,当rankid=1是,是普通用户;rankid=2,该用户为版区管理员,rankid=3,则是系统管理员。
信息的操作部分将操作信息命令化,由变量work标识用户的具体操作;work=“mdfuser”,产生修改相应用户命令;否则,删除该用户。
4、用户信息管理模块
用户管理分为添加用户,修改用户信息,删除用户。
添加用户,通过注册用户添加。
修改用户,主要是对用户的等级身份进行设置。
删除用户,对于那些不遵守论坛规则的用户给予踢出论坛的操作。
作为普通用户,版区管理员与系统管理员的登录后的区别在于:普通用户、版区管理员登录后无用户管理的权限;反之,系统管理员拥有此权限。
3.结论
本次设计的论坛采用了很好的方式:系统的后台与前台统一设计、数据库连接的方便性、组件技术使分层清晰。这些都是在以后的开发过程中仍然可取的宝贵财富。本系统基本上完成了预期的目的,大体上实现了各个模块的功能设计,并在设计过程中增添了一些附加功能,满足了用户需求的同时还丰富了系统的多用性。
参考文献:
[1] 万峰科技编著.JSP网站开发四“酷”全书[M].北京:电子工业出版社.2005.9(1).
[2] 张伟.举一反三——Java程序设计实战训练[M].人民教育出版社.2004.10.
[3] Bruce Eckel.Thinking in java[M].Pearson Education Asiu Limited.2003:50-200.
“本文中所涉及到的图表、公式、注解等请以PDF格式阅读”
[关键词] BBS论坛系统 JSP技术 MYSQL数据库 JavaBeans技术
1.引言
随着市场经济的运行,人们越来越感觉时间就是金钱,也就越来越多的忙于各种事情——工作、学习等,人们之间交流显得很少,尤其近些年来的从心态上人们不断趋于过早的成熟,这一点更加体现在从初中到高中的学生身上,他们开始不是在一起聊天,而是转而迷于网上聊天,更加减少了于老师之间的沟通。而一个能够能够增加他们之间交流的平台,此刻就显得至关重要。
2.系统软件设计方案
2.1 系统开发需求分析
我们从用户使用论坛的角度来分析论坛系统,那么用户使用论坛,要按照一定的流程来进行,如:用户注册登陆论坛,就某个话题(主题贴)展开讨论,通过发贴功能来发布新的话题,通过回帖功能回复已有的话题,通过浏览话题信息来寻找自己感兴趣的话题。再者,管理员要管理论坛,软件需要具有管理注册用户,管理帖子信息,设置用户权限的功能。这样确立了论坛系统的应具有的功能
2.2系统开发模式
系统开发采用了图1所示的开发模式,此种开发模式对于基本的数据库应用和基本页面都能够通过参数来实现,对于页面和数据库设计复杂的情况,此种设计也对一些特殊情况进行了处理设计。
图1设计模式
2.3 系统功能模块组成及说明
从上述论坛功能体系图解分析,确立论坛系统由7大模块组成,其中有4大主要模块:用户登陆注册模块,信息显示模块,信息操作模块,数据库模块。
用户登陆注册模块,应用三层登陆验证体制,保证登陆用户的合法性原则,确定不会出现用户登陆冗余。
信息显示模块,采用实时分页技术,将信息显示于同一网页不同页数中,力求信息显示高效合理性。
信息操作模块,确立了命令式,任务型分配体制,保证系统页面的可重用性原则。
数据库模块,利用JDBC技术连接关系数据库,通过JavaBean技术对数据库信息进行读写;采用数据库连接池来解决系统资源的频繁分配、释放所造成的一系列问题。
2.4系统数据库信息确立及说明
本论坛系统采用MySQL数据库,通过上述分析工确立数据表信息3个:用户信息表、帖子信息表、管理员信息表。其中管理员表独立,与其他表单无相关性原则。在用户信息表与帖子信息表中,用户信息表中的用户编号,即ID,与帖子信息表的文章发表作者编号,即AuthorID,一致。
2.5 系统功能模块实现
1、用户登陆注册模块
对于Web应用系统来讲,节约资源很重要,所以在本此设计中,采用了JavaScript教本语言在浏览器端验证用户输入的信息的正确性,是否符合注册的基本要求。对于JavaScript来讲验证提交的表单信息显得很简单,同时也节省了资源。
整个的登录过程是通过三层验证组成的,除了上一步的基本表单验证外,接下来的就是提交给数据库的验证体系。验证提交信息用户登陆信息是否和数据库中的表单信息想匹配,被称为二次身份验证;身份验证通过的同时,要对用户是否已经登陆做确认,被称为最终登陆验证。这样的验证结果保证了登录用户的安全性,不会出现登录用户冗余数据;另外,这种验证方法有很好的通用性体制,在以后的开发中仍然有很好的应用性。
2、信息显示模块
对于信息显示来讲,关键在于怎样去分页显示信息,已达到分页预览的目的。为达到显示分页效果,本次设计的算法如下:
(1)定义变量,表1所示:
表1 变量定义表
变量名 PageSize RowCount PageCount Page
变量说明 页显示条数 记录总数 总页数 待显示页码
变量类型 整型 整型 整型 整型
(2)通过数据库查询获得发表的信息总数,从而初始化变量RowCount。
(3)计算总页数的算法:
PageCount = (RowCount+PageSize-1)/PageSize;
(4)调整待显示页码:
if(Page>PageCount) Page = PageCount;
(5)执行SQL语句并取得相应结果集,将记录指针定位到待显示页的第一条记录上。
(6)分页显示,每页八条文章信息,当Page> PageCount时,显示“下一页”,向列表显示页提交信息;当Page>1时,显示“上一页”,提交信息。
(7)交替往复,直至用户关闭显示。
此算法是一个比较通用的分页信息显示算法,通过动态的设置网页显示格局,可以很轻松的实现个中当前的信息分页显示。
3、信息操作模块
信息的编辑、删除均有一个共同点,那就是对数据库的读取,利用SQL的条件查询语句,达到数据修改和删除的效果。
信息的操作有分为管理员操作、论坛版区管理员操作和普通用户操作,他们被给予不同的操作权限。
用户的权限是通过读取数据库内的相应的用户信息完成的设置,当rankid=1是,是普通用户;rankid=2,该用户为版区管理员,rankid=3,则是系统管理员。
信息的操作部分将操作信息命令化,由变量work标识用户的具体操作;work=“mdfuser”,产生修改相应用户命令;否则,删除该用户。
4、用户信息管理模块
用户管理分为添加用户,修改用户信息,删除用户。
添加用户,通过注册用户添加。
修改用户,主要是对用户的等级身份进行设置。
删除用户,对于那些不遵守论坛规则的用户给予踢出论坛的操作。
作为普通用户,版区管理员与系统管理员的登录后的区别在于:普通用户、版区管理员登录后无用户管理的权限;反之,系统管理员拥有此权限。
3.结论
本次设计的论坛采用了很好的方式:系统的后台与前台统一设计、数据库连接的方便性、组件技术使分层清晰。这些都是在以后的开发过程中仍然可取的宝贵财富。本系统基本上完成了预期的目的,大体上实现了各个模块的功能设计,并在设计过程中增添了一些附加功能,满足了用户需求的同时还丰富了系统的多用性。
参考文献:
[1] 万峰科技编著.JSP网站开发四“酷”全书[M].北京:电子工业出版社.2005.9(1).
[2] 张伟.举一反三——Java程序设计实战训练[M].人民教育出版社.2004.10.
[3] Bruce Eckel.Thinking in java[M].Pearson Education Asiu Limited.2003:50-200.
“本文中所涉及到的图表、公式、注解等请以PDF格式阅读”