《java通用论坛系统.docx》由会员分享,可在线阅读,更多相关《java通用论坛系统.docx(25页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、摘 要在Internet飞速发展的今天,互联网成为人们快速获取、发布和传递信息的重要渠道,它在人们政治、经济、生活等各个方面发挥着重要的作用。这次我们所设计的课题正是互联网与社会生活之间的紧密关系的体现,现今的社会,人们已经离不开了网络,网络已经成为人与人之间交流的一种形式,它能够把事情的复杂化转为简单化。BBS的英文全称是Bulletin Board System,翻译为中文就是“电子公告板”, BBS在国内一般称作网络论坛。BBS作为一种新兴的网络版应用软件,在交友互动、商业、新闻报道上都有广泛的应用前景,1978年在美国芝加哥开发出一套基于8080芯片的CBBS/Chicago,此乃最早
2、的一套BBS系统。国内大约是从1991年开始,开始了第一个BBS站。经过长时间的发展,直到1995年,随着计算机及其外设的大幅降价,BBS才逐渐被人们所认识。1996年更是以惊人的速度发展起来。本系统利用三大框架(Struts2+Hibernate+Spring)和MySQL5.1做一个在线论坛系统。该系统以Internet为平台,前台可使任何人注册、登陆在论坛上进行发贴及讨论,版主或者前台管理者也可以进行一部分管理。而管理员也可以在后台进行相关的管理。本文详细记录了整个论坛的开发过程,包括系统的分析阶段、设计阶段、测试阶段和实施阶段,并通过文字、图形和表格的形式,详细介绍了这个网络论坛的整体
3、架构和设计特点。本论坛采用目前最流行的JSP技术,结合数据库技术,开发出了这个伸缩性好,扩展性强,能兼容、易维护、界面美观,功能实用的BBS系统。关键词:网络论坛;BBS;JSP技术;MySQLABSTRACTIn the rapid development of Internet, the Internet become rapid access, publish and an important channel for transmission of information, it plays an important role in peoples political, economic
4、, and other aspects of life.This topic we design is the close relationship between the Internet and social life manifestation of todays society, people have been inseparable from the network, the network has become a form of communication between people, it canthings complicated turned simplified.BB
5、S English full name is the Bulletin Board System, is the Chinese translation of electronic Bulletin Board, BBS in domestic generally called network BBS.The rapid development of computer networks today, BBS has become an important platform for online communication, so BBS research is very necessary.
6、This article is based on Web technology, using software engineering, structured development methods, design and develop a simple and practical on-line forum. The system uses three frameworks (Struts2 + Hibernate + Spring) and MySQL5.1 do an online forum system. The system is optimized for Internet a
7、s a platform, enables any person registered foreground, landing on the forum posts and discussion moderators or administrators can also be part of the front desk management. The administrator can also manage associated in the background.This paper records the entire development process of the Forum,
8、 including the system analysis phase, design phase, testing and implementation stages, and through text, graphics and tabular form, detailing the overall structure of the network forum, and design features. The most popular forum using JSP technology, combined with database technology to develop thi
9、s flexibility is good, extensible, compatible, easy to maintain, attractive interface, features practical BBS systems.Key words:Forum;BBS;JSP Technology;MySQL目 录第一章 绪论11.1选题的目的和意义11.2选题国内外研究现状21.3系统简介2第二章 系统开发环境及技术简介42.1平台简介42.2开发工具52.3数据库简介6第三章 系统需求分析73.1编写目的73.2功能需求分析73.3性能需求分析73.4可行性分析83.5软硬件需求8第
10、四章 系统概要设计104.1系统设计目标104.2系统总体模块设计104.3系统流程134.4系统数据库设计13第五章 系统详细设计225.1代码标识设计225.2代码设计原则225.3地址重载225.4权限设计245.5文本编辑器25第六章 系统实现266.1数据库连接266.2公共类设计296.3地址重载技术326.4权限设计336.5登录模块376.6注册模块396.7发帖与回复436.8后台管理模块486.9附件上传和下载52第七章 系统测试557.1测试概述557.2测试方法557.3测试用例及结果56参考文献59致谢60 第一章 绪论1.1选题的目的和意义在Internet飞速发展
11、的今天,互联网成为人们快速获取、发布和传递信息的重要渠道,它在人们政治、经济、生活等各个方面发挥着重要的作用。这次我们所设计的课题正是互联网与社会生活之间的紧密关系的体现,现今的社会,人们已经离不开了网络,网络已经成为人与人之间交流的一种形式,它能够把事情的复杂化转为简单化。进入21世纪,计算机技术迅速向着网络化的、集成化方向发展。传统的单机版应用软件正在逐渐退出舞台,取而代之的是支持网络、支持多种数据信息(多媒体)的新一代网络版应用软件,而目前网络版软件中似乎存在着两种不同的趋势,一种是称为客户端服务器的C/S结构应用系统,这类软件具有结构严谨,运行效率高,服务器端压力小,安全性好等优点,被
12、广泛运用于局域网中。另一种,也是本毕业设计所采用的,是称为浏览器服务器的B/S结构应用系统,它的特点是在客户端直接采用了功能强大的浏览器软件作为界面,其优点在于软件开发效率高,客户端不受操作平台的限制、也不受地域的限制,网络传输量少,即适用于局域网,更适用于Internet,而且投资小、见效快,用户可以不必进行服务器方面的投资,而是去租用,甚至是免费使用ISP的服务器资源,因而受到越来越多中小型单位的青睐。现在大部分论坛都是基于B/S结构实现的。论坛也常被简称为BBS(Bulletin Board System)。随着中国网络的普及和计算机及其外设的大幅度降价,Internet这个概念逐渐深入
13、人心。中国网民的数量呈几何级数量增长,BBS的普及程度也直追Email。每个网站几乎都拥有自己的BBS或者BBS链接,BBS社区提供给用户的服务是全面而且非常友好的,用户在社区中可以根据自己的喜好设置不同的显示风格,根据自己的需求定制各种服务。通过论坛更加快捷的了解企业员工的信息,而建立会员服务的基础是建系论坛管理系统!通过应用该系统可以实现用户与用户间的交流、企业与企业间的信息交互,利用网络经济而又快捷地与外界进行各种信息沟通,取得更有用的信息资源。论坛系统服务已经是互联网站一种极为常见的互动交流服务。论坛可以向网友提供开放性的分类专题讨论区服务,可以在此发表自己的某些观感、交流某些技术、经
14、验乃至人生的感悟与忧欢,亦可以做为网友们之间的交流渠道,网站亦可在此回答网友们提出的问题或发布某些消息。通过论坛的方式,增强个人与个人,团体与团体,个人与团体之间的交流联系,在Internet上实现信息的传递,提高办事效率。因此论坛建设在Internet应用上的地位显而易见,它已成为现代人沟通和获取信息的重要组成部分,从而倍受人们的重视。为了方便大家的沟通和获取信息,特构建此论坛。我们利用JSP和MySQL5.1做一个在线论坛系统。该系统以Internet为平台,前台可使任何人注册、登陆在论坛上进行发贴及讨论,版主或者前台管理者也可以进行一部分管理。而管理员也可以在后台进行相关的管理。1.2选
15、题国内外研究现状1978年在美国芝加哥开发出一套基于8080芯片的CBBS/Chicago,此乃最早的一套BBS系统。BBS发展至今,目前世界上业余的BBS网络除了FidoNet(惠多网)以外,几个较具知名度的还有EggNet、AlterNet和RBBS-Net等等。由于这些网络和FidoNet之间的信息交流不成问题,这就实现了所谓的跨网。大约是从1991年开始,国内开始有了第一个BBS站。经过长时间的发展,直到1995年,随着计算机及其外设的大幅降价,BBS才逐渐被人们所认识。到1996年更是以惊人的速度发展起来。国内的BBS站,按其性质划分,可以分为两种:一种是商业BBS站,如新华龙讯网;
16、另一种是业余BBS站,如天堂资讯站。由于使用商业BBS站要交纳一笔费用,而商业站所能提供的服务与业余站相比,并没有什么优势,所以其用户数量不多。多数业余BBS站的站长,基于个人关系,每天都互相交换电子邮件,渐渐地形成了一个全国性的电子邮件网络China FidoNet(中国惠多网)。于是,各地的用户都可以通过本地的业余BBS站与远在异地的网友互通信息。这种跨地域电子邮件交流正是商业站无法与业余站相抗衡的根本因素。由于业余BBS站拥有这种优势,所以使用者都更乐意加入。这里“业余”二字,并不是代表这种类型的BBS站的服务和技术水平是业余的,而是指这类BBS站的性质。一般BBS站都是由志愿者开发的。
17、他们付出的不仅是金钱,更多的是精力。其目的是为了推动中国计算机网络的健康发展,提高广大计算机用户的应用水平。1.3系统简介Java是当今最流行的开发语言之一,具有简单、跨平台等很多优势。JSP则是Java在InternetIntranet Web上的重要应用技术,得到了广泛的支持和承认,它可以和各种Java技术完好地结合在一起,从而实现非常复杂的应用。本网站主要使用Struts2 +Spring+hibernate技术在MyEclipse系统开发的,从而创建一个更为稳定,高效,安全的运行环境。 本系统主要基于Struts2+Spring+hibernate技术开发,计算机系BBS论坛系统最基本
18、的功能首先是发表主题。此外,为了记录主题的发表者和回复者的相关信息,系统还需要提供用户注册和登录的功能。只有注册的用户登录后才能够发表和回复主题,未登录者只能浏览主题信息。本BBS论坛具备以下各大功能:用户注册、用户登录、站内主题搜索、显示各论坛类别及版面、查看版面下所有根帖、查看精华帖子、查看公告、查看头条、查看查看自己发表的帖子、查看根帖内容、发表帖子、回复帖子、后台管理、论坛类别管理、版面管理等。 设计BBS论坛系统所要考虑的问题最重要的是合理设计系统的架构,提高系统的可扩展性。代码部分尽量做到封装,算法设计简单合理,保证程序的逻辑结构清晰,从而使程序具有较好的可读性和可移植性,有利于其
19、他的设计者对程序的阅读和系统本身代码的维护和安全性;力求对数据库设计合理、操作安全与稳定,尽量避免数据库操作异常带来的严重损失。综合以上各个方面的因素,才能使得系统的综合性能提高,使得系统高效安全稳定的运行,带给用户更多方便。第二章 系统开发环境及技术简介2.1平台简介本系统是用JSP开发基于JAVA平台的。其中所用到的框架包括Struts2和Hibernate、Spring和URLRewrite等。JAVA:是由Sun Microsystems公司于1995年5月推出的Java面向对象程序设计语言(以下简称Java语言)和Java平台的总称。由James Gosling 和同事们共同研发,并
20、在1995年正式推出。用Java实现的HotJava浏览器(支持Java applet)显示了Java的魅力:跨平台、动态的Web、Internet计算。从此,Java被广泛接受并推动了Web的迅速发展,常用的浏览器现在均支持Java applet。另一方面,Java技术也不断更新。JSP:JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计的显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。 JSP(Jav
21、aServer Pages)是一种动态页面技术,它的主要目的是将表示逻辑从Servlet中分离出来。JSP与JavaServlet一样,是在服务器端执行的,通常返回给客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。JSP页面由HTML代码和嵌入其中的Java代码所组成。服务器在页面被客户端请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。Java Servlet是JSP的技术基础,而且大型的Web应用程序的开发需要Java Servlet和JSP配合才能完成。JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特
22、网的所有特点。自JSP推出后,众多大公司都支持JSP技术的服务器,如IBM、Oracle、Bea公司等,所以JSP迅速成为商业应用的服务器端语言。Struts2:Struts 2是Struts的下一代产品,是在 struts 1和WebWork的技术基础上进行了合并的全新的Struts 2框架。其全新的Struts 2的体系结构与Struts 1的体系结构差别巨大。Struts 2以WebWork为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与ServletAPI完全脱离开,所以Struts 2可以理解为WebWork的更新产品。虽然从Struts 1到Strut
23、s 2有着太大的变化,但是相对于WebWork,Struts 2的变化很小。Hibernate:是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。Spring:是一个开源框架,Sping 是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson 在其
24、著作Expert One-On-One J2EE Development and Design中阐述的部分理念和原型衍生而来。它是为了解决企业应用开发的复杂性而创建的。Spring使用基本的JavaBean来完成以前只可能由 EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。简单来说,Spring是一个轻量级的控制反转(IOC)和面向切面(AOP)的容器框架。URLRewrite:UrlRewrite就是我们通常说的地址重写,用户得到的全部都是经过处理后的URL地址。其优点有:一,提高安全性,可以
25、有效的避免一些参数名、ID等完全暴露在用户面前,如果用户随便乱输的话,不符合规则的话直接会返回个404或错误页面,这比直接返回500或一大堆服务器错误信息要好的多;二,美化URL,去除了那些比如*.do之类的后缀名、长长的参数串等,可以自己组织精简更能反映访问模块内容的URL;三,更有利于搜索引擎的收入,通过对URL的一些优化,可以使搜索引擎更好的识别与收录网站的信息。2.2开发工具本系统所用到的开发工具有:MyEclipse、Tomcat、Ultraedit等。下面做详细介绍。MyEclipse:MyEclipse企业级工作平台(MyEclipse Enterprise Workbench
26、,简称MyEclipse)是对EclipseIDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML,Struts,JSP,CSS,Javascript,Spring,SQL,Hibernate。MyEclipse 是一个十分优秀的用于开发Java, J2EE的 Eclipse 插件集合,MyEclipse的功能非常强大,支持也十分广泛,尤其是对各种开源产品的支持十分不错。MyEclipse目前支持Java Servlet,AJAX,JSP,JS
27、F, Struts,Spring,Hibernate,EJB3,JDBC数据库链接工具等多项功能。可以说MyEclipse几乎囊括了目前所有主流开源产品的专属eclipse开发工具。Tomcat:Tomcat 服务器是一个免费的开放源代码的Web 应用服务器。Tomcat是Apache软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。由于有了Sun 的参与和支持,最新的Servlet和JSP规范总是能在Tomcat 中得到体现。因为Tomcat 技术先进、性能稳定,而且免费,因而深
28、受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。Ultraedit:是一套功能强大的文本编辑器,可以编辑文本、十六进制、ASCII 码,完全可以取代记事本(如果电脑配置足够强大),内建英文单字检查、C+ 及 VB 指令突显,可同时编辑多个文件,而且即使开启很大的文件速度也不会慢。软件附有 HTML 标签颜色显示、搜寻替换以及无限制的还原功能,一般用其来修改EXE 或 DLL 文件。能够满足你一切编辑需要的编辑器。2.3数据库简介本系统所用的数据库是MySQL5.1。MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Orac
29、le公司。MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。MySQL的SQL语言是用于访问数据库的最常用标准化语言。MySQL软件采用了双授权政策(本词条“授权政策”),它分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择MySQL作为网站数据库。由于其社区版的性能卓越,搭配PHP和Apache可组成良好的开发环境。与其他的大型数据库例如Oracle、DB2、SQL Server等相比,MySQL自有它的不足之处,如规模小、功能有限(MySQL Cl
30、uster的功能和效率都相对比较差)等,但是这丝毫也没有减少它受欢迎的程度。对于一般的个人使用者和中小型企业来说,MySQL提供的功能已经绰绰有余,而且由于MySQL是开放源码软件,因此可以大大降低总体拥有成本。目前Internet上流行的网站构架方式是LAMP(Linux+Apache+MySQL+PHP/Perl/Python)和LNMP(Linux+Nginx+MySQL+php/perl/Python),使用Linux作为操作系统,Apache和Nginx作为Web服务器,MySQL作为数据库,PHP/Perl/Python作为服务器端脚本解释器。由于这四个软件都是免费或开放源码软件(
31、FLOSS),因此使用这种方式不用花一分钱(除开人工成本)就可以建立起一个稳定、免费的网站系统。第三章 系统需求分析3.1编写目的当今网络技术逐渐渗入社会生活各个层面,以前网站上的论坛管理系统要用户登陆以后才能进行相关访问及互动。而随着网络互联技术的进步,现在网站投票只需打开网页就可进行论坛留言。论坛对象是很多的,各个层次都可进行论坛访问,大至国家领导,小至一个普通干部,访问和留言从到指定用户进行表格到现在通过网络直接点击相应就可进行。网上论坛管理系统可解决游客访问及留言,致使现在几乎各个网站都有各种类型网站论坛管理系统,用户可选择自己的看法。所以我提出了本课题的研究。3.2功能需求分析开发计
32、算机系BBS论坛系统的目的主要是提供给计算机系人士一个供交流专业学术的平台,为广大用户提供交流经验、探讨问题的社区。用户可以阅读他人关于某个主题的看法,也可以将自己的想法毫无保留地贴到公告栏中。这样,通过BBS论坛,广大用户的思想观点即会体现出来。可充分反应最广大人民群众的集体意见。因此,BBS论坛系统最基本的功能首先是发表主题,其次是其他人员根据主题发表自己的看法。此外,为了记录主题的发表者和主题回复者等的相关信息,系统还需要提供用户注册和登录的功能。只有注册的用户登录后才能够发表和回复主题以及其他的相关操作,而未登录者只能浏览主题信息,不能进行相关的操作。用户使用论坛有一定的流程:用户登录
33、进入论坛(一般为游客,有时还要注册为会员),就某个话题(帖子的主题)展开讨论,通过发帖功能发布新的话题,通过回帖功能回复已有的话题,通过搜索功能查找已有的话题。管理员通过管理功能创建、编辑、删除论坛的版块,管理注册的用户,管理帖子等。根据用户的需求及以上的分析,本BBS论坛需要具备以下主要的前台功能和后台功能。 (1)系统前台功能:显示各论坛类别及版面、显示用户信息、查看版面下所有根帖、查看精华帖子、查看自己发表的帖子、站内主题搜索、查看根帖内容、用户注册、用户登录、发表帖子、回复帖子等。 (2)系统后台功能:进入后台、论坛类别管理、版面管理、角色管理、会员管理、主题搜索管理。3.3性能需求分
34、析系统需要较良好的性能,并发数最大可支持1000左右,并且系统的响应速度较快。系统有较好的错误提示页面,在系统出现错误时不应造成系统的崩溃,卡死等现象。3.4可行性分析3.4.1技术可行性技术上的可行性分析主要分析技术条件能否顺利完成开发工作,硬、软件能否满足开发者的需要等。该BBS论坛管理系统采用了流行的JSP语言和当前新兴的Browser/Server(浏览器/服务器)模式进行开发。三层的B/S体系结构具有许多传统Client/Server(客户机/服务器)体系结构不具备的优点,而且又紧密的结合了Internet/Intranet(国际互联网/企业内部互联网)技术,是技术发展的大势所趋,它
35、把应用系统带入了一个崭新的发展时代。数据库服务器选用MySQL5.1数据库,它能够批量处理数据,同时保持数据的完整性并提供许多高级管理功能。它的灵活性、安全性和易用性为数据库编程提供了良好的条件。因此,系统的软件开发平台已成熟可行。硬件方面,科技飞速发展的今天,硬件更新的速度越来越快,容量越来越大,可靠性越来越高,价格越来越低,其硬件平台能满足此系统的需要。3.4.2经济可行性主要是对项目的经济效益进行评估,本系统模拟的是提供一个供用户交流的平台,为广大用户提供交流经验、探讨问题的社区。但实际只是用于个人的毕业设计,只是模拟,也不存在资金的流动,故在经济上是可行的。3.4.3社会可行性随着In
36、ternet技术的快速发展,BBS论坛已成为人们彼此沟通、交流信息的主要方式。在论坛上,人们可以对计算机领域或者其他领域提出自己遇到的问题和自己的看法,随后,论坛上的其他人会根据自己的学识、经验发表意见或提出解决问题的方法。本BBS论坛不但拉近了人们之间的距离,而且它早已成为人们网上生活的必备交流工具。所以说计算机系BBS论坛对当今计算机相关专业人士是相当重要的。3.5软硬件需求为了保证BBS论坛管理系统运行的高效性和可靠性,服务器应具有较高的软硬件配置,客户端的要求不是很高。此应用程序可广泛运行于国际互联网即Internet,也可适用于内部的局域网。其运行要求如下: 1、软件环境: (1)客
37、户端: Windows95/98/2000/XP/7,Internet Explorer(IE),chrome等。 (2)服务器端:Windows NT/Windows2000,Tomcat 5.0,JDK 1.5及其以上版本,IE等; 数据库:采用MySQL5.1,运行于服务器端。 2、硬件环境: (1)服务器 CPU:PIII 500以上 ,内存:512M以上。(2)客户机 CPU:P200MMX以上,内存:32M以上。第四章 系统概要设计4.1系统设计目标对于典型的数据库管理系统,尤其是对论坛这样数据流量特别大的网络管理系统、必须要满足使用方便、操作灵活等设计需求。本系统在设计时应满足一
38、下几个目标:1、采用人机对话的操作方式,界面设计美观友好,信息查看灵活方便、快捷准确。数据存储安全可靠。2、全面展示系统内所有分类的帖子,并进行分别显示。3、为用户提供一个方便快捷的主题信息查看功能。4、实现在线发表帖子、回复帖子的功能。5、提供登录模块,主要用于管理员登录系统和发表帖子时留下发表者的信息。6、用户随时都可以查看自己发表的帖子。7、对于用户输入的数据,要进行严格的检验,尽可能排除人为的错误。8、系统最大限度的实现易维护性和易操作性。9、系统运行稳定、安全可靠。4.2系统总体模块设计BBS论坛系统总体来说可以分为两大模块:前台模块和后台管理模块。4.2.1前台模块根据BBS论坛系
39、统前台的模块图可以得到系统的具体功能:1、用户登录管理功能:新用户注册成功之后,在登录界面输入正确用户名、密码和验证码之后便可以进入本系统。2、用户注册管理功能:游客可以浏览论坛的主题话题但是不可以发表话题和回复帖子,只有当游客在本论坛注册成为论坛的用户后,才能进行相关操作。3、用户信息资料管理功能:在用户登录成功之后,可以修改用户自己的信息,进一步完善用户资料和修改注册时用户填写的资料。4、主题帖子管理功能:为了方便信息交流,用户可以发表话题,更可以根据帖子主题浏览帖子内容和回复帖子。5、查询管理功能:用户可以按作者名查询帖子序号、标题、发帖的时间、发帖人等信息,方便用户快速的找到自己想要的
40、信息。6、用户信息查询:主要是方便用户自己能够快速的查询自己所发过的帖子或者查看自己的回帖。BBS系统前台主要功能结构图如图4-1所示:图4-1 论坛系统前台组织结构图4.2.2后台模块BBS论坛系统后台管理模块可以分为以下几种角色的管理:1、超级管理员拥有系统的一切管理权限,如:任命管理员,版主2、管理员(1)管理员信息管理功能:管理员输入正确用户名、密码之后便可以进入到后台管理系统。管理员可以查看自己的信息,可以添加管理员,可以修改管理员的资料,还可以删除管理员。(2)主题帖子管理功能:管理员可以对用户发表的帖子进行管理,管理员可以按主题帖子序号,主题名,发表的话题进行看帖,修改帖子和删除
41、帖子等操作。(3)版主管理功能:管理员可以根据版块具体要求的不同,添加这一版块的版主负责管理此版块。来分担管理员的管理论坛的工作,可以更好的为广大用户服务。3、版主(1)版块管理功能:只有版主输入正确用户名、密码之后便可以进入到版主后台管理。版主根据版块的分类,可以添加其版块下的子分类,或者修改原有版块下子分类的名称,子分类的描述介绍。(2)版主信息管理功能:可以查看版主自己的信息,可以修改版主的信息资料。本系统的后台管理是由系统管理和论坛管理两大部分组成,系统管理主要是有基本设置和角色管理。基本设置里面有论坛的主题风格设置,分页中每页显示多少条记录设置,论坛的logo设置等。角色管理里面主要
42、是管理不同角色的权限设置。而论坛管理里面主要有主题、回帖、板块、分区等的管理,可以对其进行查询、修改和删除等操作。BBS论坛系统后台模块组织结构图如图4-2所示。图4-2 论坛系统后台组织结构图4.3系统流程BBS论坛系统流程图如图4-3所示:图4-3 系统流程图4.4系统数据库设计4.4.1系统实体图1、分区实体图如图4-4所示:图4-4 分区实体图2、用户实体图如图4-5所示:图4-5 用户实体图3、主题实体图如图4-6所示:图4-6 主题实体图4、回复实体图如图4-7所示:图4-7 回复实体图5、板块实体图如图4-8所示:图4-8 板块实体图6、角色实体图如图4-9所示:图4-9 角色实
43、体图7、附件实体图如图4-10所示:图4-10 附件实体图8、权限实体图如图4-11所示:图4-11 权限实体图4.4.2数据库分析本系统是一个中型的供求信息网站,考虑到开发成本、用户信息量客户需求等问题,决定采用MySQL作为项目中的数据库。MySQL是一个关系型数据库管理系统,它有以下一些特性:1、使用C和C+编写,并使用了多种编译器进行测试,保证源代码的可移植性。2、支持AIX、FreeBSD、HP-UX、Linux、Mac OS、NovellNetware、OpenBSD、OS/2 Wrap、Solaris、Windows等多种操作系统。3、为多种编程语言提供了API。这些编程语言包括
44、C、C+、Python、Java、Perl、PHP、Eiffel、Ruby和Tcl等。4、支持多线程,充分利用CPU资源。5、优化的SQL查询算法,有效地提高查询速度。6、既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中。7、提供多语言支持,常见的编码如中文的GB 2312、BIG5,日文的Shift_JIS等都可以用作数据表名和数据列名。8、提供TCP/IP、ODBC和JDBC等多种数据库连接途径。9、提供用于管理、检查、优化数据库操作的管理工具。10、支持大型的数据库。可以处理拥有上千万条记录的大型数据库。11、支持多种存储引擎。4.4.3数据
45、库表结构1、回复表,用来存放主题回复信息。其结构和字段如表4-1所示:表4-1 回复表(reply)字段名类型长度允许为空是否主键描述idint20否是回复idcontenttext否否回复内容postTimedatetime否否回复时间ipAddrvarchar20是否回复人所在电脑ipstatesmallint4否否回复状态topicIdint20否否回复所属的主题userIdint20否否回复人Id2、板块表,主要存储论坛版块信息。表结构及字段说明如表4-2所示:表4-2 板块表(board)字段名类型长度允许为空是否主键描述idint20否是板块id,自动递增namevarchar30
46、否否板块名称descriptionvarchar255是否板块描述topicCountint20否否板块主题数量articleCountint20否否板块文章数量createTimedatetime否否板块创建时间sortNumint20否否板块排序号码statesmallint4否否版块状态highColorvarchar10是否板块高亮颜色iconvarchar255是否板块图标路径allowRolevarchar255是否板块允许访问的角色lastTopicIdint20是否板块最后发表的主题sectionIdint20否否板块所属的分区3、用户表,用来存放系统用户的信息,其结构和字段如表4-3所示:表4-3 用户信息表(user)字段名类型长度允许为空是否主键描述idint20否是用户idusernamevarchar40否否用户名passwordvarchar40否否用户密码namevarchar20否否用户姓名topicCountint20否否用户发表主题数replyCountint20否否用户回复数creditsint20否否用户积分emailvarchar20是否用户邮箱telvarchar30是否用户电话iconvarchar255是否用户自