《论坛系统设计与实现》毕业论文

更新时间:2024-06-05 20:09:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

毕业设计(论文)

题目: 论坛系统设计与实现

系 别 信息工程系 专业名称 网络工程 班级学号 088207138 学生姓名 张波 指导教师 陈雪军

二O 一二 年 五 月

毕业设计(论文)任务书

I、毕业设计(论文)题目:

论坛系统设计与实现

II、毕 业设计(论文)使用的原始资料(数据)及设计技术要求:

1、用JSP语言编写界面以及用MySQL作为后台数据库而开发出的一个论坛系统 2、系统能够展示一个标准论坛系统的界面

3、本系统能够实现前台信息浏览、用户管理、后台管理等功能

4、系统要达到给用户提供便捷的信息浏览服务,快速的信息分类服务 5、在系统中通过会员管理中心模块,使用户能够快速的进行注册,以及信息的发布、编辑、管理功能。

6、系统实现通过后台管理系统,管理员能够方便查看、修改、删除用户资料,管理留言。

7、在系统里建立用户数据库,对用户的信息,权限等进行管理

8、论文使用的原始资料包括论文资料和部分书籍资料,都来源于校图书馆以及网上下载的资料。

III、毕 业设计(论文)工作内容及完成时间: 工作安排如下:

1、查阅文献,翻译英文资料,书写开题报告; 第1---4周 2、相关资料的获取和必要知识的学习; 第5---9周 3、细化详细设计方案和编写模块代码; 第10--14周

4、对软件进行测试,修改定型; 第15--16周 5、撰写论文;

第17周

6、总结,准备答辩; 第18周

I

Ⅳ 、主 要参考资料:

1. 万峰科技.JSP网站开发四“酷”全书:新闻、论坛、电子商务、博客.北京:电子工业出版社.2005

2. 陈海山.深入JSP Servlet网络编程.北京:清华大学出版社.2002. 3. [美]霍尔、[美]布朗、[美]蔡金 著 胡书敏 译.Servelt与JSP核心编程(第2卷 第2版).北京:清华大学出版社.2009.

4. 李绪成、闫海珍.Java Web开发教程——入门与提高篇(JSP+Servlet).北京:清华大学出版社.2009

5. [美]埃克尔 著.Java编程思想.北京:机械工业出版社.2007 6. 柏亚军.JSP编程基础及应用实例集锦.北京:人民邮电出版社.2001 7. 周影.网络编程语言JSP实例教程.北京:电子工业出版社.2003

8. [美]范斯瓦尼(Vasani,V)著 徐小青.路晓村 译,MySQL完全手册.北京:电子工业出版社.2004

9. [美]吉尔费伦(Glifillan,I)著 王军 译.MySQL 4从入门到精通.北京:电子工业出版社.2003

10. 胡孔法.数据库原理与应用.北京:机械工业出版社.2008

11 陈云芳.精通Struts—基于MVC的Jave Web应用开发实战.北京:人民邮电出版社.2008

信息工程 系 网络工程 专业类 0882771 班 学生(签名): 填写日期: 年 月 日 指导教师(签名): 助理指导教师(并指出所负责的部分):

系主任(签名):

II

学士学位论文原创性声明

本人声明,所呈交的论文是本人在导师的指导下独立完成的研究成果。除了文中特别加以标注引用的内容外,本论文不包含法律意义上已属于他人的任何形式的研究成果,也不包含本人已用于其他学位申请的论文或成果。对本文的研究作出重要贡献的个人和集体,均已在文中以明确方式表明。本人完全意识到本声明的法律后果由本人承担。

作者签名: 日期: 年 月 日

学位论文版权使用授权书

本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权南昌航空大学科技学院可以将本论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。

作者签名: 日期:

导师签名: 日期:

III

论坛系统设计与实现

学生姓名:张波 班级:0882071

指导老师:陈雪军

摘要:随着网络时代的发展,论坛已经备受广大网友所喜爱,论坛作为一个信息交

流平台,在人们获取信息,发表言论的过程中起到了一个很大的作用。因此建立一个号的论坛系统是很有必要的。在论坛里,所以的用户都可以浏览广大网友发表的言论,而想要发表言论,则必须注册论坛账号,而作为管理者,则必须保证论坛的正常运行。 本系统使用动态服务网页(JSP)结合MYSQL技术而开发了这样一个方便快捷,界面友好的网上交流系统。在整个系统包含七个模块: 论坛用户登录注册模块,后台数据管理模块,论坛帖子发表模块,论坛帖子管理模块,用户管理模块,版面模块设置模块,管理员管理模块。用JSP做前台页面,MYSQL作为后台数据库,使得能够开发出一个完整的论坛系统。

关键词:论坛,模块,JSP,MYSQL

指导老师签字:

IV

Forum system design and implementation

Student Name: ZhangBo Class: 0882071 Supervisor: ChenXueJun

Abstract: Along with the development of the network times, BBS has is the net love,

BBS as an information exchange platform, the people to access information, the process of speech can play a very significant role. So to build a number of BBS system is very necessary. In the BBS, so users can browse the net friend statement, and want to speech, it must be registered BBS account, and as a manager, it must ensure the normal operation of the BBS.

This system USES dynamic service page (JSP) combined with MYSQL technology and developed such a convenient and quick, friendly interface online communication system. In the whole system contains seven modules: BBS user login registered module, the background data management module, BBS posts published module, BBS posts management module, user management module, layout module Settings module, the administrator management module. With JSP do front desk page, MYSQL as backend database, make be able to develop a complete BBS system.

Keywords: BBS, modules, JSP, MYSQL

V

目 录

1 绪论

1.1 系统开发背景 ................................................ 1 1.2 国内外发展趋势 .............................................. 2 1.3 系统开发意义 ................................................ 2

2 相关技术概述

2.1 JSP技术 ..................................................... 4 2.2 MYSQL数据库 ................................................. 4 2.3 MVC开发模式 ................................................. 4

3 系统需求

3.1 系统目标 ...................................................... 6 3.2 系统可行性分析 ............................................... 6

3.2.1经济可行性 ................................................ 6 3.2.2社会可行性 ................................................ 6 3.2.3技术可行性 ................................................ 7

3.3 系统业务分析 ................................................. 7 3.4 系统功能需求 ................................................. 8 3.5 系统非功能需求 .............................................. 11 3.6 系统开发和运行环境 ......................................... 11

4 系统设计

4.1 系统功能模块划分............................................ 12

4.1.1 系统前台功能结构设计 .................................... 12 4.1.2系统后台功能结构设计 ..................................... 13

4.2 系统模块设计 ................................................ 14

4.2.1会员注册 ................................................. 15 4.2.2会员登录 ................................................. 15 4.2.3会员帖子浏览 ............................................. 16 4.2.4会员帖子回复 ............................................. 16 4.2.5会员帖子发表 ............................................. 17 4.2.6管理员模块管理 ........................................... 18 4.2.7管理员权限管理 ........................................... 19

4.2.8管理员帖子管理 ........................................... 19

4.3 数据库设计 .................................................. 20

4.3.1数据库分析 ............................................... 20 4.3.2数据库概念设计 ........................................... 20 4.3.3数据库逻辑结构设计 ....................................... 23

4.4 数据库表设计 ................................................ 23

5 系统实现与测试

5.1 前台页面设计 ................................................ 27

5.1.1 用户注册 ................................................ 27 5.1.2 用户登录 ................................................ 28 5.1.3 用户修改信息 ............................................ 30 5.1.4 用户发表帖子 ............................................ 32 5.1.5用户回复帖子 ............................................. 33 5.1.6 用户浏览帖子 ............................................ 34

5.2 后台页面设计 ............................................... 34

5.2.1 管理员登录 .............................................. 34 5.2.2 论坛模块管理 ............................................ 36 5.2.3 论坛帖子管理 ............................................ 37 5.2.4 论坛用户管理 ............................................ 37 5.2.5 论坛公告管理 ............................................ 39

5.3 数据库连接 ................................................. 39 5.4 系统功能测试 ............................................... 40

5.4.1会员发表帖子测试 ......................................... 40 5.4.2其它系统功能测试 ......................................... 41

6 总结与展望 ...................................................... 42 参考文献 ......................................................... 43 致谢 .............................................................. 44

南昌航空大学科技学院2012届学士学位论文

论坛系统设计与实现

1绪论

我们的时代是一个互联网飞速发展的时代,人们在各个方面都用到了互联网,互

联网已经成为全球性信息传输的重要途径,并誉为信息高速公路。互联网的发展不仅包括技术和基础设施的发展,也包括使用互联网的用户人数的发展,随着互联网的广泛普及,各行各业的人都开始使用互联网,现如今,使用互联网的用户量已经达到了一个非常庞大的数字。人们将互联网运用到各方面。也使得互联网得到了广泛的运用。

在这个时代,人们基本都处于一个快速的生活节奏中,人与人面对面交流的时间

与空间都得到了很大的限制,从而人们都往互联网融入,人们越来越多的交流时间和空间都是在互联网上,所有论坛就出现了,论坛在网络信息交流方面有着很重要的作用,人们通过论坛,能够扩大交流面,能够从各方面及时的获取自己需要的信息,也可以分享自己的信息。快速与及时已经是这个时代的代名词了,而论坛就能做到让用户快速及时的获取自己想要的信息。所有建设一个好的有效的论坛很有必要。

论坛系统是一个基于B/S模式的交互性极强的电子信息服务系统 ,它为网络用

户提供了很好的信息交流平台,可以探讨各类信息和发布用户自己的观点。论坛系统不仅仅是交流平台,也是一个信息中心,各方面的信息都在这里显示。

1.1 系统开发背景

论坛也称为BBS,BBS是Bulletin-Board-System的缩写,即电子公告栏。BBS是Internet网上的重要交流工具,在计算机网络飞速发展的今天,BBS论坛系统功能得到了很大的扩充和应用。已经扩展到各行各业,除原先的计算机网络用户以外,商用BBS操作者、环境组织、宗教组织以及其他利益团队也加入了这个行列。通过BBS论坛系统与其他用户讨论计算机软件、硬件、Internet、多媒体、程序设计以及医学等等各种有趣的话题。给计算机网络用户提供一个互相交流的地方[1]。

设计BBS论坛系统是网络开发的一项重要工作,在网上建设BBS网站,建立论坛

交流平台,具有非常重要的作用。它的主要服务是用来帮助浏览者相互沟通、吸引用户、服务用户的。随着计算机技术的发展与网络的普及功能越来越强大,把BBS论坛作为与用户交流的平台和在线技术支持与服务平台,备受广大网友欢迎。

论坛的发展也如同网络,雨后春笋般的出现,并迅速的发展壮大。现在的论坛几

乎涵盖了我们生活的各个方面,几乎每一个人都可以找到自己感兴趣或者需要了解的专题性论坛,而各类网站,综合性门户网站或者功能性专题网站也都青睐于开设自己

1

南昌航空大学科技学院2012届学士学位论文

的论坛,以促进网友之间的交流,增加互动性和丰富网站的内容。

在本文中,主要介绍使用JSP和Servlet技术来实现论坛建设。通过基于Internet互联网的动态WEB数据库技术,可以解决远程的数据传输与读取,远程的客户终端(Client)可以通过WEB页面提交请求,查询远端的数据服务器上的信息,同时还可以向远端数据服务器的数据库中存储信息,以实现信息的共享,同时利用Internet技术可以降低软件的开发和部署成本,只要在服务器端安装WEB应用就可以使每个客户端都能浏览使用。

1.2 国内外发展趋势

在国内外,Internet作为信息基础设施之一,已经深入了到人类社会的各个领域,而word wide web(WWW)在Internet之上为人们提供了一个广泛进行各种数据与信息共享及利用的空间。Web技术已经成为现在信息技术的一个重要领域,并在国民经济建设中发挥着巨大的作用。

计算机的出现给人类社会带来了第三次工业革命,计算机和计算机网络已经深入到了各行各业,各个领域,随着Internet的不断扩大和发展,电脑网络“把每一个国家、每一个城市甚至每一个家庭连接到一起”,形成了一条“信息高速路”,就像高速公路大大提高了车辆行驶的速度一样。 21世纪是个信息化的时代,现代计算机技术的发展,为各行各业的发展创造了一个全新的时代背景——人们的生活、工作等已经越来越离不开计算机科学的运用,而Internet的应用加速了这种趋势,人们越来越需要在互联网上交流各种信息和讨论各种问题。

1.3 系统开发意义

当今网络技术逐渐渗入社会生活各个层面,以前网站上的专题论坛管理系统要用户登陆以后才能进行相关访问及互动。而随着网络互联技术的进步,现在网站投票只需打开网页就可进行论坛留言。论坛对象是很多的,各个层次都可进行论坛访问,大至国家领导,小至一个普通干部,访问和留言从到指定用户进行表格到现在通过网络直接点击相应就可进行。论坛管理系统可解决游客访问及留言,致使现在几乎各个网站都有各种类型的论坛管理系统,用户可选择自己的看法。同时为分散于五湖四海的人们提供一个共同交流、学习、倾吐心声的平台,实现来自不同地方的用户极强的信息互动性,用户在获得自己所需要的信息的同时也可以广交朋友,拓宽自己的视野和社交面。

2

南昌航空大学科技学院2012届学士学位论文

通过网友的发帖中,能得到有益的教诲和启发。网友通过发出关于国家,社会的有益的观点,能被有关部门采纳,而不是网友空自评论,自艾自叹,自喜自悲。一些论点能做到各方观点正确公平的显示,具有参考价值。专题论坛应具有知识性,趣味性,公平性,和谐性等优点。论坛给天下的网民都提供了交流的平台,为网络的互动性作出了巨大的贡献,通过论坛,网民们得以更方便的交流,更便捷的发表自己的观点,而且发布信息都是通过有记录的文字来进行,所以这样也避免了精华内容的流失。通过论坛来征得自己想要的信息,有更高的效率和时效性。也最节约成本和资源,在论坛的交流过程中,无论喜怒哀乐都是在虚拟的环境中进行,也避免的正面的尴尬和冲突等,在专题论坛中,可以演变成任何角色,变换多种身份,因为网络的特征,使得人民更加依赖于论坛中的交流。

3

南昌航空大学科技学院2012届学士学位论文

2 相关技术概述

2.1 JSP技术

JSP页面由HTML代码和嵌入其中的Java代码所组成。Java Servlet是JSP的技术基础,而且大型的Web应用程序的开发需要Java Servlet和JSP配合才能完成[2,3]。JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的等特点。JSP的技术的优势:

1)一次编写,到处运行。在这一点上Java比PHP更出色,除了系统之外,代码不需要做任何更改。

2)系统的多平台支持。基本上可以在所有平台上的任意环境中开发,在任意环境中进行系统部署,在任意环境中扩展。相比ASP/PHP的局限性是显而易见的。

3)JSP技术是用Java语言作为脚本语言的。Java语言是成熟的、强大的、易扩充的编程语言。

4)高效性与安全性。JSP在执行前先被编译成字节码,字节码由Java虚拟机解释执行,比源码解释效率高[4]。

5)可维护性。由于JSP技术是一种开放的、跨平台的结构,因此Web服务器、平台及其他组件能很容易升级或切换,且不会影响JSP基本的应用程序[5]。

6)多样化和功能强大的开发工具支持。Java已经有了许多非常优秀的开发工具,而且许多可以免费得到,并且其中许多已经可以顺利的运行于多种平台之下[6,7]。

2.2 MYSQL数据库

MySQL是一个精巧的SQL数据库管理系统,虽然它不是开放源代码的产品,但在某些情况下你可以自由使用。由于它的强大功能、灵活性、丰富的应用编程接口(API)以及精巧的系统结构,受到了广大自由软件爱好者甚至是商业软件用户的青睐,特别是与Apache和PHP/PERL结合,为建立基于数据库的动态网站提供了强大动力[8]。

SQL是一种标准化的语言,它使得存储、更新和存取信息更容易。例如,你能用SQL语言为一个网站检索产品信息及存储顾客信息,同时MySQL也足够快和灵活以允许你存储记录文件和图像[9,10]。

2.3 MVC开发模式

MVC(Model View Controller)是一个设计模式,它强制性的使应用程序的输入、处理和输出分开。使用MVC应用程序被分成三个核心部件:模型、视图、控制器。它

4

南昌航空大学科技学院2012届学士学位论文

们各自处理自己的任务。视图是用户看到并与之交互的界面。如何处理应用程序的界面变得越来越有挑战性。MVC一个大的好处是它能为你的应用程序处理很多不同的视图。JSP页面处于表现层,也就是视力(View即V)的角色。

模型表示企业数据和业务规则。在MVC的三个部件中,模型拥有最多的处理任务。由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性。JavaBean则负责数据的处理,也就是模型(Model即M)的角色。

控制器接受用户的输入并调用模型和视图去完成用户的需求。所以当单击Web页面中的超链接和发送HTML表单时,控制器本身不输出任何东西和做任何处理。它只是接收请求并决定调用哪个模型构件去处理请求,然后用确定用哪个视图来显示模型处理返回的数据。Servlet用来处理请求的事务,充当控制器(Controller即C)的角色,Servlet负责响应用户对业务逻辑的请求并根据用户的请求行为,决定将哪个JSP页面发送给客户。

初始的请求由Servlet来处理,Servlet调用商业逻辑和数据处理代码,并创建Bean来表示相应的结果(模型)。然后Servlet确定哪个页面适合于表达这些特定的结果,并将请求转发到相应的页面(JSP页面即为视图),由Servlet确定哪个业务逻辑适用,应该用哪个JSP页面相应结果(Servlet就是控制器)[11]。

5

南昌航空大学科技学院2012届学士学位论文

3 系统需求

3.1系统目标

通过BBS的设计,本系统计划实现的的目标分为下面几个:

①界面设计美观友好,给用户提供便捷的信息浏览服务,快速的信息分类服务,用户查看信息方便、快捷、准确,数据存储安全可靠。

②通过会员管理中心模块,使用户能够快速的进行注册,以及信息的发布、编辑、管理功能。

③通过后台管理系统,管理员能够方便查看、修改、删除用户资料,管理公告。 ④建立用户数据库,对用户的信息,权限等进行管理。 ⑥系统最大的实现易维护性和易操作性。 ⑦系统运行安全可靠。

3.2系统可行性分析

可行性分析也称为可行性研究,即是在系统调查的基础上,针对新系统的开发是否具备必要性和可能性,对新系统的开发从技术、经济、管理的方面进行分析和研究,以避免投资失误,保证新系统的开发成功。可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。

3.2.1经济可行性

经济可行性分析主要是对项目的经济效益进行分析,本系统建立的是一个用户交流平台,为广大互联网用户提供信息交流,探讨问题的社区,现在作为个人毕业设计,能够实现用户在系统里进行发帖,回帖等功能,不存在资金的流动问题,所有本系统的在经济上是可行的。

3.2.2社会可行性

在这个互联网发展飞速的时代,论坛是一个广大网民交流经验,发表言论的重要场地,已经成为人们彼此沟通,信息交流的的主要方式,人们离不开互联网,也离不开论坛,论坛让身处各地的人彼此间感觉距离不是那么遥远,可以畅所欲言。现在论坛已经是人们网上生活的必备工具,所有论坛系统的开发在社会方面是可行的。

6

南昌航空大学科技学院2012届学士学位论文

3.2.3技术可行性

技术上可行性分析主要是分析技术条件是否能顺利完成开发的工作,技术上的可行性分析主要分析技术条件是否能顺利完成开发工作,硬、软件能否满足开发者的需要等。

软件方面,系统开发需要的各种软件环境都已具备,数据库服务器方面则有MySQL,均能够处理大量数据,同时保持数据的完整性并提供许多高级管理功能。其灵活性、安全性和易用性为数据库编程提供了良好的条件。因此,系统的软件开发平台已成熟可行。

硬件方面,科技飞速发展的今天,硬件更新的速度越来越快,容量越来越大,可靠性越来越高,价格越来越低,其硬件平台完全能满足此系统的需要。

3.3系统业务分析

系统业务分析主要是通过流程图对整个系统的业务功能进行全方面的分析和解

剖。是对业务功能的进一步细化,业务分析的目的主要是形成合理的,科学的业务流程。经过对整个论坛系统的业务分析,系统划分为前台登录和后台登录两个分系统,在前台登录后,主要是用于会员用户的操作,具体包括:发表帖子,浏览帖子,回复帖子,会员注册以及修改个人信息等功能。后台登录是用于管理员的登录,具体包括:模块管理,帖子管理,会员管理,权限管理等管理功能。

论坛系统的业务流程图如图3-1所示。

7

南昌航空大学科技学院2012届学士学位论文

开始前台登录系统类别输入账户Yes后台登录No账户验证Yes输入账户YesNo前台功能账户验证Yes会员注册发表帖子浏览帖子修改信息回复帖子后台管理操作结果模块管理帖子管理权限管理用户管理公告管理操作结果结束图3-1 论坛系统业务流程图

3.4系统功能需求

设计一个论坛系统,必须符合标准的论坛系统架构和功能,在论坛系统中,用户通过注册,可以浏览帖子,发表帖子,帖子回复。而后台管理的目的是管理用户数据,管理模块和管理帖子。通过后台的管理,使得论坛系统更加方便管理。 1)会员用户功能:

每个用户都有自己的一个身份,为了论坛的方便管理,论坛要确认每一个用户的身份,而在此之前,每个用户在登录论坛的时候,都得在网站上注册一个会员账号,这个账号资料由用户自己设定,论坛管理者虽然知道用户的资料,但在用户资料的保密方面,承诺永不外泄。在用户注册完成后,进入论坛就可以发表帖子,回复帖子等功能。对于那些没有注册的用户,只是一个浏览者的身份,对论坛的帖子只有浏览权。 有以下几个子功能: (1) 会员注册 (2) 会员登录 (3) 帖子浏览

8

南昌航空大学科技学院2012届学士学位论文

(4) 帖子发表 2)管理者功能:

管理者是整个论坛系统的操作者,整个论坛的界面,框架模块,都是由论坛管理者所管理,除此之外,管理者还有权对于一些帖子进行删除和对一些用户权限进行修改,以及对整个论坛的模块进行修改和添加等。作为一个管理者,本身也是一个会员用户,所以也拥有会员的所有功能,包括发表帖子,回复帖子等。删除帖子主要是删除一些有不健康内容的帖子,在浏览所有帖子的时候,对那些建议,意见进行采纳,更好的管理维护论坛系统。 有以下几个子功能: (1) 帖子管理 (2) 版主任命管理 (3) 模块管理 (4) 会员管理 (5) 公告管理 3)公告栏功能:

在一个论坛中,都有一个管理员对论坛的公告信息的公告栏,在这里,浏览者可以看到管理者发布的一些通知和浏览者对于整个论坛的一些意见和建议,这个模块有利于论坛的建设。 4)后台数据维护功能:

后台的管理主要是对用户信息数据的管理,包括用户管理,帖子管理以及密码修改的管理,用来更新帖子和用户密码。

而对于模块化设计的要求不仅是为了提高代码的重用性,更重要的是为了提高代码的可维护性和稳定性。一个模块化程度高、结构清晰的应用程序,在程序维护时的便利性是可想而知的。最初设计方案时,就要规划好哪些模块是可以提出来多次使用,哪些模块虽只使用一次,但提出来之后能使代码更清晰等。

所以把页面中一些常用代码编写为独立的单元,例如页面的头部和尾部、首页各个显示区,这样设计新的页面时如果有重复出现的部分,只需要将编写好的模块用INCLUDE语句来组装就可以了。

论坛系统功能模块主要有以下几个部分组成: (一)用户注册

新用户注册,填写用户信息,检验用户信息的有效性,并将用户信息持久化。

9

南昌航空大学科技学院2012届学士学位论文

(二)用户登陆

提供用户凭证,验证用户信息是否合法,根据用户角色授权。 (三)用户管理

管理员由系统初始化分配一个,管理员可以对用户信息进行部分更改,主要包括用户角色调整,版主调整,删除用户等。 (四)论坛模块管理

管理员可以添加、删除、修改论坛模块。 (五)帖子管理

管理员可以对所有帖子进行修改、删除等操作,版主可以对本模块帖子进行修改、删除等操作。 (六)帖子发表

注册用户可以在感兴趣的版块中发表新帖。 (七)帖子回复

用户可以对自己感兴趣的主题发表回复。 (八)帖子浏览

用户可以浏览所有帖子。

图3-2 系统数据流图

本系统所有功能数据流图如图3-2所示。

10

南昌航空大学科技学院2012届学士学位论文

3.5系统非功能需求

1)用户界面:

本系统用户界面简洁,简单易懂,凡是能够使用网络的用户都能在本论坛里正常

使用。

2)数据库存储方面:

本系统采用的是MYSQL数据库管理系统,能够处理大量数据,同时保持数据的完整性并提供许多高级管理功能。其灵活性、安全性和易用性为数据库编程提供了良好的条件。 3)硬件要求:

用户使用的计算机硬件,都可以使用本系统,在硬件要求上没有大的要求,一般

的计算机都能满足。

3.6系统开发和运行环境

本系统是在正常的计算机系统下开发的,需要具备一些开发软件和开发环境,具体的开发软件和开发环境如下:

① 开发工具:My MyEclipse、EditPlus 、 Adobe Photoshop CS2; ② 数据系统:MySQL;

③ 服务器:Apache Tomcat6.0; ④ 运行环境:JDK1.5;

⑤ 技术:前台网页的设计采用JSP技术制作。负责响应用户对业务逻辑的请求并根据用户的请求行为,决定将哪个JSP页面发送给客户由servlet处理,JavaBean则负责数据的处理。

11

南昌航空大学科技学院2012届学士学位论文

4 系统设计

4.1系统功能模块划分

本系统有前台会员登录系统,也有着后台管理员登录系统。一般的会员和用户只

在前台系统登录,只有管理员才能登录后台系统,对整个系统进行操作。

4.1.1 系统前台功能结构设计

在前台会员登录界面,会员通过注册,成为本系统的会员,如果没有注册,只能算是游客身份,在本系统,游客只有浏览帖子和查看帖子回复的权限,所以如果想要发表帖子等权限,就必须通过注册成为本系统的会员。一旦注册成功,成为了会员,就会自动登录到本系统。在登录后,会员可以浏览整个论坛的所有帖子。也可以再子论坛里发表自己的帖子,也可以回复别人发表的帖子。如果会员用户想要修改自己的个人信息,则可以点击修改个人信息进入修改个人信息界面,从而达到修改个人信息的功能,修改完成后可以查看自己个人信息。如果会员用户想要退出本系统,则可以点击注销,会员用户就退出了登录论坛系统,则系统自动跳转到前台用户登录界面。

前台功能是会员用户登录后能实现的功能,可见的功能模块主要分为: (1)会员用户登录模块

在这个模块里,用户输入用户名和密码,选择Cookis存在的时间,进行登录。 (2)注册模块

在这个模块,用户填写注册信息,点击注册就完成了会员注册功能。 (3)修改用户信息模块

在这个模块,用户填写要修改的信息,对以前的用户信息进行修改。 (4)发表帖子模块

在这个模块,用户发布自己的帖子,可以选择帖子类型等。完成后帖子列表就会出现该帖子。

(5)浏览、回复帖子模块

在这个模块,用户点击帖子名称进入浏览帖子的回复内容以及回复帖子。 (6)投票模块

在这个模块,可以对某个帖子或者主题发起投票。 (7)会员列表模块

在这个模块,列出了所有会员的信息。 (8)短消息模块

12

南昌航空大学科技学院2012届学士学位论文

在这个模块,展现的是用户的短信息,有发出的信息,也有收到的信息。

论坛系统会员游客注册登录注销发表帖子回复帖子浏览帖子查看信息修改信息浏览帖子查看回复图4-1 前台系统功能结构图

4.1.2系统后台功能结构设计

这里是后台管理员登录系统,在本系统中,管理员通过后台管理登录界面进入管

理员管理界,管理员在管理系统界面,可以对整个论坛进行管理操作,其中包括对整个论坛模块的管理,对模块进行增加和删除。会员的管理,如果有用户违反了论坛规定,管理员有权对该用户进行删除操作。权限管理,如果某个子论坛需要更换版主,则在管理员系统下,可以对子论坛的版主更换进行操作,只要选定要作为版主的用户,点击设为版主,就能改变此会员用户的权限了。公告管理,在整个论坛里,有很多公告,管理员都可以对这些公告进行增加,删除和编辑操作。后台管理的好处就是只要对后台系统的参数进行改变,前台页面就能得到相应的改变,方便快捷。后台功能是管理员登陆系统后实现的功能,可见的功能模块主要分为: (1)、管理员登录模块

在这个模块,管理员输入管理员用户名和密码,登录后台管理系统。

(2)、管理首页模块

管理员登录成功后,进入管理首页模块,在这个模块里,罗列出能够管理的功能

模块。

(3)、论坛管理模块

在这个模块里,主要是对子论坛的管理,包括新建子论坛,删除子论坛和编辑子

13

南昌航空大学科技学院2012届学士学位论文

论坛。

(4)、版主管理模块

在这个模块里,主要是对各个子论坛的版主更改操作。 (5)、论坛公告管理模块

在这个模块里,主要是对本系统所有的公告进行操作,包括增加论坛公告,删除论坛公告和编辑论坛公告。 (6)、用户管模块

在这个模块里,主要是对用户的删除操作,对于那些违反了论坛管理规定的用户,管理员有权可以对用户进行删除操作。 (7)金钱/经验/魅力管理模块

在这个模块里,主要是对会员用户的金钱,经验和魅力进行设定。 (8)、论坛变量管理模块

在这个模块里,主要是对论坛的名称、地址、LOGO等论坛变量的设置。

图4-2 后台系统功能结构图

增加模块删除模块会员查看用户删除版主设定公告增加公告删除帖子删除帖子回复模块管理会员管理权限管理公告管理帖子管理论坛系统管理员4.2系统模块设计

本系统有很多功能,每个功能实现都有自己的流程图。每个流程图都能表达具体的实现步骤。下面就具体的功能设计流程图:

14

南昌航空大学科技学院2012届学士学位论文

4.2.1会员注册

在登录的时候,如果你没有本论坛的用户名和密码,则必须注册,会员注册是在

注册界面进行操作的,首先用户在登录界面点击会员注册,进入注册界面,在注册界面用户填写注册信息,如果注册信息合法,则就注册成功,如果不合法就必须重新填写用户注册信息,直到注册成功。一旦注册成功,页面自动跳转到论坛首页。

Y信息合法性检查N填写注册信息会员注册流程图如图4-3所示。

开始注册结束图4-3 用户注册流程图

4.2.2会员登录

会员在拥有了论坛登录用户名和密码后,再下一次进入论坛,就可以不用注册了,

会员用户在登录界面,输入用户名和密码,点击登录,就能登录了,如果会员用户输入的用户名和密码错误或者输入的信息不合法,则登录失败,页面跳转登录失败页面。会员用户必须重新登录。

会员登录流程图如图4-4所示。

15

南昌航空大学科技学院2012届学士学位论文

开始

信息合法性检查输入账号密码及验证NY登录结束图4-4 会员登录流程图

4.2.3会员帖子浏览

在会员用户登录成功后,会员就可以浏览论坛的所有帖子了,会员只要点击子论

坛名称,就会进入子论坛中,找到自己感兴趣的帖子点击进入就可以浏览帖子的所有内容和回复了。进入帖子,只要点击帖子名称就能进入浏览和回复状态了。

帖子浏览如图4-5所示。

帖子浏览会员登录开始结束图4-5 帖子浏览流程图

4.2.4会员帖子回复

会员在进入帖子之后,在最下面有一个回复栏,会员用户在里面填写自己要回复

的内容,点击回复帖子,就能对改帖子进行回复了。

帖子回复如图4-6所示。

16

南昌航空大学科技学院2012届学士学位论文

开始会员登录帖子回复回复成功结束图4-6 帖子回复流程图

4.2.5会员帖子发表

在子论坛界面,点击发表帖子按钮,如果你是会员用户,则会进入发表帖子界面,

在发表帖子界面,会员用户输入帖子主题,帖子类型和帖子内容等要发表的帖子信息。然后点击发表,帖子就会上传到子论坛上去显示。如果只是游客身份,则不会进入发表帖子界面,直接显示需要注册才能发表帖子。

帖子发表流程图如图4-7所示。

17

南昌航空大学科技学院2012届学士学位论文

开始

发表成功Y会员N发表帖子结束图4-7 帖子发表流程图

4.2.6管理员模块管理

首先要进入管理员系统,则必须要管理员登录,如果登录的不是管理员,则无法

进入管理员系统,如果是管理员,就能在管理页面对整个系统的模块进行管理,对模块的管理包括增加模块,删除模块和编辑模块等操作。

模块管理如图4-8所示。

隐藏模块调整模块Y删除模块置顶模块添加模块管理员身份N开始结束图4-8 模块管理流程图

18

南昌航空大学科技学院2012届学士学位论文

4.2.7管理员权限管理

首先要进入管理员系统,则必须要管理员登录,如果登录的不是管理员,则无法进入管理员系统,如果是管理员,就能在管理页面对用户的权限进行管理,主要是对某个子论坛的版主设定和删除用户的管理,可以把要设为版主的用户设定成该子论坛的版主。要是有用户违反了论坛规定,管理员可以对该用户进行删除操作。

Y管理员身份N权限管理流程图如图4-9所示。

开始

修改权限,删除用户结束图4-9 管理员权限管理流程图

4.2.8管理员帖子管理

首先要进入管理员系统,则必须要管理员登录,如果登录的不是管理员,则无法

进入管理员系统,如果是管理员,就能在管理页面对整个论坛的帖子管理。管理员可以对整个论坛的帖子进行删除,置顶等操作。

帖子管理流程图如图4-10所示。

19

南昌航空大学科技学院2012届学士学位论文

开始

对帖子进行删除、置顶等Y管理员身份N结束图4-10 帖子管理流程图 本系统具有完善的发表、回复、短消息、个人信息修改、论坛状态、论坛风格等功能。此外,

更给予管理员强大的论坛管理组织功能,不同论坛内都可以有不同的权限,从而限制该论坛用户进行操作。管理员具有管理整个论坛的功能,即变量设置管理、用户管理、论坛管理、帖子管理、数据管理等功能。

4.3数据库设计

4.3.1数据库分析

数据库的设计,在程序开发中起着至关重要的作用,它往往决定了在后面开发进行怎么样的程序编码,一个合理,有限的数据库设计可降低程序的负责性,使得程序开发过程更为容易。

本系统是一个小型的论坛系统,考虑到用户量,开发经济性,决定用MYSQL作为

数据库系统,

MYSQL数据库系统虽然说规模小,功能有限,但是丝毫也没用减少它受欢迎的程

度,对于一般的个人使用者和中小企业来说,MYSQL提供的功能已经绰绰有余了,有因为MYSQL是开发源码软件,因此大大降低了总体成本,它可以处理千万条记录的大型数据库,支持多种存储引擎。

4.3.2数据库概念设计

概念设计阶段主要是将需求分析阶段得到的用户需求抽象为信息结构(概念模

20

南昌航空大学科技学院2012届学士学位论文

型)的过程,它是整个数据库设计的关键,包括概念模型设计和新系统流程两个阶段。在需求分析阶段所得到的应用需求应该首先抽象为信息世界的结构,才能更好地、更准确地用某一DBMS实现这些需求。

概念数据模型独立于具体的数据处理的细节和数据库管理系统。这次设计仍采用传统的实体联系图作为概念设计的工具。再进行优化后,尽量满足结构清晰、关联简洁、实体个数适中、属性分配合理、没有低级冗余。

E-R模型是对现实世界的一种抽象,它主要成分是实体、联系和属性。使用这三

种成分,我们可以建立许多应用环境的E-R模型。

1)系统E-R图如图4-12所示。

模块N1管理11管理员归属NN管理1管理N帖子1N1会员发表11归属N发表N回复

N图4-11 系统E-R图

删除2)用户属性图

用户实体有ID、用户名、昵称、性别、密码、邮箱和QQ等属性。下图就是用户实体与属性图:

21

南昌航空大学科技学院2012届学士学位论文

图4-12 用户实体图

3)帖子属性图

帖子实体有帖子主题、发表人、发表时间、帖子ID、帖子内容、所属模块、帖子类型等属性。下图是帖子实体和属性图:

图4-13 帖子实体图

4)模块属性图

模块实体图包括模块ID、模块名称。下图为模块的实体属性图:

22

南昌航空大学科技学院2012届学士学位论文

图4-14 模块实体图

4.3.3数据库逻辑结构设计

数据库概念设计完成后,根据E-R图描述的概念设计模型转换为等价的关系模式及其约束。逻辑设计的基本工作主要包括如下的2个步骤。 1、完整性设计

完整性要求用于描述各种信息之间的制约关系,以及关联关系,各个数据项的取值范围以及各个数据项是否可以取值。根据实际需要,采取一定的手段来满足用户的完整性需求。域完整性约束要求属性值必须在域中。实体完整性约束要求主键必须唯一且不能为空。如用户信息表中的用户名设置为主键,并且要求唯一且不能为空。 2、模式优化

本次采用3NF为规范准则来分解关系。将一个关系分解为两个或者多个关系,以满足规范,从而避免产生插入异常、删除异常、更新异常。

4.4数据库表设计

本系统的数据库主要有六张数据库表,这六张数据库表分别是:user用户表,classtype 模块表,board子论坛表,bbsnews 公告表,bbs 帖子表,message短消息表。这主要的六张表的内容如下所示: 1)user用户表主要字段信息表如表4.1所示。

表4.1 user用户主要信息表

字段名 UserID(主键) UserName nickName UserEmail Article UserPassword 类型(值) Int(11) Varchar(50) Varchar(50) Varchar(255) Int(11) Varchar(11) 说明 用户ID 用户名 用户昵称 用户邮箱 用户文章 用户密码 23

南昌航空大学科技学院2012届学士学位论文

sign Sex homepage addDate qq Mediumtext(0) Varchar(10) Varchar(255) Varchar(30) Varchar(50) 签名 用户性别 主页 注册时间 用户QQ 2)classtype模块表如表4.2所示。

表4.2 classtype模块表

字段名 id(主键) classType 3)board子论坛表如表4.3所示。

类型(值) Int(10) Varchar(50) 说明 模块id 模块名称 表4.3 board子论坛表

字段名 Boardid(主键) BoardType classType readme BoardMaster lockboard lastposttime 类型(值) Int(11) Varchar(50) Int(11) Varchar(255) Varchar(4) Int(11) Varchar(255) 说明 子论坛ID 子论坛名称 所属模块 版面描述 版主 是否隐藏 最后发表时间 4)bbsnews论坛公告表如表4.4所示。

图4.4 bbsnews论坛公告表

字段名 Id(主键) boardid title content username addtime 5)message消息表如表4.5所示。

类型 Int(11) Int(11) Varchar(50) Mediumtext(0) Varchar(11) Varchar(30) 说明 公告id 所示模块id 公告主题 公告内容 发布者 发布时间 表4.5 message消息表

24

南昌航空大学科技学院2012届学士学位论文

字段名 Id(主键) sender incept title content flag sendtime delR delS isSend 6)bbs帖子表如表4.6所示。

类型(值) Int(11) Varchar(50) Varchar(50) Varchar(100) Mediumtext(0) Int(11) Varchar(19) Int(11) Int(11) Int(11) 说明 消息id 发件着 收件者 主题 内容 标记 发送时间 删除收件 删除发件 发送标记 表4.6 bbs帖子表

字段名 AnnounceID(主键) ParentID Child BoardID UserName UserEmail Topic Title Body DateAndTime hits ip Expression istop islock isgood 类型(值) Intj(11) Int(11) Int(11) Int(11) Varchar(50) Varchar(255) Varchar(255) Varchar(50) Longtext(0) Varchar(30) Int(11) Varchar(50) Varchar(255) Int(11) Int(11) Int(11) 说明 主键id 论坛id 所属主题id 板块id 发表人名称 发表人邮件 头像 帖子主题 内容 发布时间 点击率 Ip地址 经验值 是否为置顶 是否为锁定 是否为精华 25

南昌航空大学科技学院2012届学士学位论文

isvote heart type lastre

Int(11) Varchar(30) Varchar(30) Varchar(30) 是否投票 心情 帖子类型 最后回复时间

26

南昌航空大学科技学院2012届学士学位论文

5 系统实现与测试

5.1前台页面设计

5.1.1 用户注册

用户通过注册成为论坛会员,就可以浏览帖子,发表帖子以及回复帖子等功能。 用户进入login.jsp页面后,如果是没有注册的用户点击注册按钮,页面就跳转到register.jsp页面通过serson的判断,如果同意条约,就真正进入注册页面,在注册页面,用户填写重要的注册信息,填写完成后用户点击注册,用户信息通过UserServlet.java提交给数据库,就完成了注册功能,完成注册后,就可以通过登录论坛进入论坛首页。 论坛注册界面如图5-1所示。

图5-1 用户注册界面

用户注册代码实现:

if (\.equals(path)) {// 用户注册 user.setUserName(request.getParameter(\));

user.setUserEmail(request.getParameter(\)); user.setArticle(0);// 已发表的文章数

user.setUserPassword(request.getParameter(\)); user.setSign(request.getParameter(\));// 个性签名 user.setSex(request.getParameter(\));// 性别

27

南昌航空大学科技学院2012届学士学位论文

user.setHomepage(\); user.setAddDate(cutils.getTime()); user.setLogins(0);// 登录次数

user.setFace(request.getParameter(\));// 头像 user.setHeight(32); user.setWidth(32);

user.setQq(request.getParameter(\)); user.setBbstype(1);// 普通会员身份 user.setLockuser(0);

user.setUserWealth(config.getWealthReg()); user.setUserEP(config.getCpReg());// 用户经验 user.setUserCP(config.getEpReg());// 用户魅力 userbiz.add(user); tourl = \;

5.1.2 用户登录

已经注册的会员用户,通过登录,进入论坛首页,用户如果没有登录就不能浏览帖子,回复帖子。用户登录是在login.jsp这个页面下登录的。用户输入了用户名和密码后点击登录,然后系统根据用户输入的用户名和密码在后台数据库找到用户名和密码是否匹配,如果匹配成功,则进入论坛首页,如果匹配不成功,这进入失败页面。用户名和密码的匹配过程是通过UserServlet.java来进行匹配的。这里可以根据用户输入的用户名和密码来进行数据库连接。从而达到前台和后台数据库的连接。 用户登录界面时如图5-2所示。

图5-2 会员登录界面

会员登录代码实现:

if (\.equals(path)) {// 登录论坛 Message message = new Message();

user.setUserName(request.getParameter(\));

user.setUserPassword(request.getParameter(\));

28

南昌航空大学科技学院2012届学士学位论文

List list = userbiz.searchById(2, user); MessageBiz messagebiz = new MessageBiz(); message.setIncept(user.getUserName());

List listMess = messagebiz.searchById(2, message); if (list.size() > 0) {

user = (User) list.get(0);

session.setAttribute(\, user);// 记录登录后的用户信息 session.setAttribute(\, user.getUserName());// // session.setAttribute(\ session.setAttribute(\, listMess.size()); session.setAttribute(\, user.getBbstype()); Online online = new Online();

online = (Online) session.getAttribute(\); online.setUsername(user.getUserName()); online.setBbstype(user.getBbstype());

String t_onlineid = session.getAttribute(\) }

onlinebiz.update(online);

session.setAttribute(\, online); String type = request.getParameter(\); if (!\.equals(type))

tourl = \; else

tourl = \;}

.toString();

if (t_onlineid != null) {

int onlineid = cutils.strToInt(t_onlineid); online.setId(onlineid);

记录用户名

用户登录后的界面如图5-3所示。

29

南昌航空大学科技学院2012届学士学位论文

图5-3 会员登录成功后界面

用户登录失败界面如图5-4所示。

图5-4 会员登录失败

5.1.3 用户修改信息

用户在个人管理的时候,可以修改个人用户信息。在用户已经登录的情况下,用

30

南昌航空大学科技学院2012届学士学位论文

户可以修改用户自己的信息,在点击修改信息之后,页面自动跳转的修改用户信息页面,在这个页面,用户填写新的信息,也可以修改密码,填写完成后,点击编辑,系统自动保存了新的用户信息,在UserServlet.java里,通过get和set方法,对用户信息提取和保存的。 用户信息修改如图5-5所示。

图5-5 用户修改信息

修改用户信息代码实现:

else if (\.equals(path)) { // 修改用户个人信息

user.setUserID(cutils.strToInt(request.getParameter(\)));

user.setNickName(request.getParameter(\)); user.setUserEmail(request.getParameter(\)); user.setUserPassword(request.getParameter(\)); user.setSign(request.getParameter(\));// 个性签名 user.setSex(request.getParameter(\));// 性别 user.setFace(request.getParameter(\));// 头像 user.setQq(request.getParameter(\)); boolean flag = userbiz.editUser(user); request.setAttribute(\, \); tourl = \

+ request.getParameter(\);

31

南昌航空大学科技学院2012届学士学位论文

5.1.4 用户发表帖子

用户在进入一个论坛专区之后可以在那个论坛专区里发表自己的帖子,点击发表

帖子按钮,页面通过一个serson进入发表帖子的页面,在这个页面,用户输入要发表帖子的主题和内容,完成后点击提交,系统根据BbsServlet.java来提交用户发表的帖子进入数据库。主要还是通过get和set方法来接收和设置用户提交的信息。 发表帖子代码实现:用户发表帖子界面如图5-6所示。

图5-6 发表帖子界面

if (\.equals(path)) {

User user = (User) session.getAttribute(\); if (null == user) {

request.setAttribute(\, \验证身份出错 \);

request.setAttribute(\, \读取身份信息出错,请您重新登录!\); request.setAttribute(\, \);

Logger log = Logger.getLogger(BbsServlet.class); String body = request.getParameter(\); String title = request.getParameter(\); String heart = request.getParameter(\); String type = request.getParameter(\);

} else {

32

本文来源:https://www.bwwdw.com/article/lhh6.html

Top