1、1本科毕业设计本科毕业设计题 目 基于 JAVAEE 技术的网上论坛系统的设计与实现 专 业 软件工程 作者姓名 学 号 单 位 计算机学院 指导教师 年 月 教 务 处 编2基于 JAVAEE 技术的网上论坛系统的设计与实现摘要随着网络在现代社会中的广泛应用及当今社会快节奏的发展,人们越来越需要一个平台来进行分享并交流相应的资讯信息。现在有各种的论坛网站等系统来实现人们的这一需要,获得有益信息并与他人进行交流,以方便个人扩展知识层面。论文中主要阐述了论坛网站的开发过程。介绍了开发论坛网站的环境及技术,同时详细的叙述了设计的思想及流程,说明了数据库的建立思想以及与程序之间的关联等问题。说明了网
2、站不同功能的实现方法及详细设计过程。该课题主要的工作是对论坛网站的主要功能进行设计与实现,实现用户浏览帖子,发表及回复论坛帖子的功能以及系统管理员对后台的管理功能,如删除帖子和用户信息,对用户权限的设置。主要作用是通过发表新帖并回复他人帖子来实现信息交流。此文章中首先对整个系统功能进行详细的分析与设计;其次采用SQL Server 数据库技术实现对系统中涉及的数据信息进行管理,最后利用 SSH框架进一步具体实现论坛网站各项功能,运行调试确保网站的正常工作。关键词:论坛网站,SSH 框架,SQL 数据库3Online forum system based on JAVAEE technology
3、 in design and implementationAbstractToday the internet maked full use and the fast-paced life,people need a flat to share and communicate the information. Now all kinds of systems like a forum website realize humans requirements to get the usefull news and exchanging with others and convenienting t
4、hey expend the knowledge.The thesis expounds how to design a forum website and the process in chief. It introduces the environment for realizing the website , describes the idea and procedures in detail and explains how to establish a data base and the problem of connecting with the program , at the
5、 same time , show the way to design and relize of the website. The main work is to design and relize the a forum websites important function , such as browse publish, reply cards in the forum and the function of a system administrator to manage the backstage , like deteling cards and information of
6、users , seting up the right of a user. The principal function of the forum is exchanging important information with the others by publishing and replying the cards. At first, thesis analyses the demand of users and designs the whole function of the system. Secondly , using the data base technology a
7、s SQL relize the manage of the data. At last, making use of the SSH technology relize the function of the forum in detail and take advantage of the tomcat as the server to movethe system . Moving and debugging to make the system work.Keyword:Forum website,SSH technology,SQL Database聊城大学本科毕业设计1目录1 引言
8、 .11.1 总体设计 .11.2 开发背景 .11.3 课题研究的目的与意义 .31.4 研究内容 .32 系统分析 .52.1 技术可行性分析 .52.1.1 开发语言综述 .52.1.2 SQL SERVER 数据库的选用 .62.1.3 S.S.H 框架的优点 .72.1.4 B/S 结构 .72.2 系统开发 .82.2.1 开发工具与运行环境 .82.2.2 系统功能概述 .93 系统需求分析 .103.1 系统功能概述 .103.1.1 系统功能需求 .103.1.2 用例分析 .103.1.3 系统活动分析 .123.2 系统性能要求 .143.2.1 系统灵活性 .143.2
9、.2 输入输出要求 .143.2.3 数据管理能力要求 .143.3 可行性分析 .153.3.1 社会可行性 .153.3.2 技术可行性 .153.3.3 操作可行性 .164 总体设计 .174.1 系统机构设计 .174.2 功能设计 .174.3 数据库设计 .184.4 系统界面设计 .215 系统的设计与实现 .23聊城大学本科毕业设计25.1 前台管理模块实现 .235.1.1 用户注册登录 .235.1.2 用户发帖回帖 .275.1.3 用户上传下载资料 .305.2 后台管理模块实现 .335.2.1 后台登录功能 .335.2.2 论坛分类管理 .355.2.3 用户权
10、限管理 .375.2.4 论坛帖子管理 .395.2.5 密码修改 .406 系统测试 .426.1 测试概述 .426.1.1 软件测试的目的 .426.1.2 软件测试的任务 .426.1.3 测试环境 .426.2 单元测试 .436.2.1 黑盒测试 .436.2.2 白盒测试 .436.2.3 模块接口测试 .436.3 系统测试综述 .447 结论 .45参考文献 .46致 谢 .47聊城大学本科毕业设计第 1 页 共 47 页1 引言1.1 总体设计进入二十一世纪,计算机技术迅速向着网络化、集成化方向发展。传统的单机版应用软件正在逐渐退出舞台,取而代之的是支持网络、支持多种数据信
11、息(多媒体)的新一代网络版应用软件,而目前网络版软件中似乎存在着两种不同的趋势,一种是称为客户端服务器的 C/S 结构,这类软件具有结构严谨,运行效率高,服务器端压力小,安全性好等优点,被广泛运用于局域网中 【1】 。而另一种,也是本毕业设计所采用的,是称为浏览器服务器的 B/S 结构,它的特点是在客户端直接采用了功能强大的浏览器软件作为界面,其优点在于软件开发效率高,客户端不受操作平台的限制、也不受地域的限制,网络传输量少,即适用于局域网,更适用于 Internet,而且投资小、见效快,用户可以不必进行服务器方面的投资,而是去租用,甚至是免费使用 ISP 的服务器资源,因而受到越来越多中小型
12、单位的青睐 【2】 。随着 Internet 技术的不断发展,以及用户群爆炸性地增长,网络不再仅仅是信息的被动获取来源,更成为人们探讨间题、交换观点的场所,其中,网上论坛扮演了极其重要的角色,随着时间的推移,论坛站点中积存了丰富的信息资源,不但有各类技术资料和新闻文档,还包含着用户的判断和评论,论坛站点己成为Web 信息库的重要组成部分,自网上论坛诞生 20 多年以来,随着 Web 技术的发展,己经由原来简单的电子公告板系统发展为功能丰富的网上论坛和虚拟社区模式 【3】 。各种论坛随着网络迅速发展,几乎充实着生活工作的每一个方面,无论是商界、政界,还是娱乐界,都有各种论坛。互联网正在融入我们的
13、生活,网络提供给我们的不只是一个获取信息的来源,而且还是一个可以相互交流的空间,网上论坛正是一种供人们进行交流的网络空间, 影响和改变着我们的生活。1.2 开发背景1978 年在美国芝加哥开发出一套基于 8080 芯片的 CBBS/Chicago (Computerized Bulletin Board System/Chicago),此乃最早的一套 BBS 系统。之后随着苹果机的问世,开发出基于苹果机的 Bulletin Board System 和大众信息系统(Peoples Message System)2 种 BBS 系统。1981 年 IBM 个人计算机诞生时,并聊城大学本科毕业设计
14、第 2 页 共 47 页没有自己的 BBS 系统。直到 1982 年,Buss Lane 才用 Basic 语言为 IBM 个人计算机编写了一个原型程序。其后经过几番增修,终于在 1983 年通过 Capital PC User Group( CPCUG)的 Communication Special Interest Group 会员的努力,改写出了个人计算机系统的 BBS。经 Thomas Mach 整理后,终于完成了个人计算机的第 1 版 BBS 系统RBBS-PC。这套 BBS 系统的最大特色是其源程序全部公开,有利于日后的修改和维护,因此后来在开发其他的 BBS 系统时都以此为框架,
15、所以 RBBS-PC 赢得了 BBS 鼻祖的美称。大约是从 1991 年开始,国内开始了第一个 BBS 站。经过长时间的发展,直到1995 年,随着计算机及其外设的大幅降价,BBS 才逐渐被人们所认识。1996 年更是以惊人的速度发展起来。国内的 BBS 站,按其性质划分,可以分为 2 种:一种是商业 BBS 站,如新华龙讯网;另一种是业余 BBS 站,如天堂资讯站。由于使用商业 BBS 站要交纳一笔费用,而商业站所能提供的服务与业余站相比,并没有什么优势,所以其用户数量不多。多数业余 BBS 站的站长,基于个人关系,每天都互相交换电子邮件,渐渐地形成了一个全国性的电子邮件网络 China F
16、idoNet(中国惠多网)。于是,各地的用户都可以通过本地的业余 BBS 站与远在异地的网友互通信息。这种跨地域电子邮件交流正是商业站无法与业余站相抗衡的根本因素。由于业余 BBS 站拥有这种优势,所以使用者都更乐意加入 【4】 。这里“业余”2 字,并不是代表这种类型的 BBS 站的服务和技术水平是业余的,而是指这类 BBS 站的性质。一般 BBS 站都是由志愿者开发的。他们付出的不仅是金钱,更多的是精力。其目的是为了推动中国计算机网络的健康发展,提高广大计算机用户的应用水平国内的 BBS 站,大多数还是大型综合性 BBS 站。随着计算机的普及,特别是宽带的普及,BBS 的活动将会进一步高涨
17、。但是,随之而来对专注于领域方面的 BBS 将会慢慢增加需求。尽管 BBS 站台的数量在不断增长,但 BBS 的发展过程,也出现了一些问题。由于国内使用的 BBS 架站软件,都是从国外引进的,因此没有必要的中文说明。虽然一些热心的站长翻译了一些资料,但是仅靠这些是远远不够的。另外,有些站台的设立是相互抄袭,所以在结构上难免有雷同之处 【5】 。 而国内自己开发的 BBS 基本上都是处于最原始的 JSP MODEL1 模式, 这种模式是控制层与表示层合二为一,虽然开发简单,但是拥有很差的扩展性,可维护性,聊城大学本科毕业设计第 3 页 共 47 页这样极大的限制了 BBS 站点的扩展,于是在这种
18、情况下,本文提出了目前比较流行的,基于 MVC 模式的 SSH 框架(Sturts+Spring+hibernate)的 BBS 论坛,本套论坛的优点在于它具有强大的可扩展性和可维护性,非常适合网民创建自己的中小型 BBS 论坛。1.3 课题研究的目的与意义随着计算机技术的不断发展与提高,人们深刻的认识到了其强大的功能及在现代社会中的各个领域发挥着无可替代的重要的作用。其中计算机网络技术更是得到了充分的应用,然而在网站设计中 Web 数据库技术已然成为最为广泛应用的网站架构的基础技术,网络提供了用户与用户之间通信交流的有效手段。由于网络具有传播信息容量大,形态多样,迅速方便且自由交互的特点,其
19、已发展成为新的传播媒体及交互平台。目前就有很多不同形式的论坛提供人们共享资讯。构建一个交流平台通过互联网使用户和用户之间可以进行交流,分享各种信息;同时也可以通过网络提出所遇到的各种问题等待他人的解答,并彼此认识,交流扩大知识 【6】 。设计实现网上论坛系统的主要意义在于:本文提出了目前比较流行的,基于MVC 模式的 SSH 框架(Sturts+Spring+hibernate)的 BBS 论坛,本套论坛的优点在于它具有强大的可扩展性和可维护性,非常适合网民创建自己的中小型 BBS 论坛。通过数据库与 Web 服务器连接来对网站数据进行管理,掌握不同环境的关联与应用,随着网络的发展及人们对知识
20、信息的需求不断提升,网络已成为不可忽视的资讯来源,而论坛网站便能满足这个要求 【7】 。1.4 研究内容要求达到的目标是能够普通用户的注册登录,并在论坛网站中自由发表新帖及浏览回复他人发表的帖子;管理员对论坛帖子信息、主题信息、用户信息及权限的管理。课题主要研究并实现的内容有如下几方面:1、数据存储与数据库描述由于论坛需要储存用户及其所发帖子的相关信息,而在论坛运行过程中这类相关数据量会逐渐增大,因此要依据数据库来实现对这些数据的存储和管理。通常,用户要存有其注册时的 ID,用户名,密码等个人信息,以方便网站的管理。同时,论坛中的主题及帖子同样需要相应的信息数据,以方便其分类与管聊城大学本科毕
21、业设计第 4 页 共 47 页理。根据上述分析,系统数据库中的主要表及其关系如下:会员信息表(用户 ID,用户名,密码,姓名,性别,年龄)帖子主题表(用户 ID,标题,内容,上传的附件,)帖子回复表(用户 ID,内容,)管理员表(管理员 ID,用户名,密码,)主表中用户的 ID 属性为主键2、用户在网站中进行的活动这是课题的重点工作,涉及到如下内容:普通用户操作用户可在网站中感兴趣的主题发表新帖来表达自己的观点,并通过回帖与他人进行交流,也可浏览新闻区的帖子。在此主要涉及的问题是用户与用户之间发帖进行信息交互,准确显示出用户所表示的帖子内容。管理员操作对于一个论坛网站系统来说,用户之间通过发帖
22、及回帖该进行交流,必然要有管理员对帖子进行管理,对不规范的帖子进行删除,某些用户信息的注销及权限的设置。后台操作管理员对于网站本身所要进行的各种后台操作,包括对于主题的添加,删除。聊城大学本科毕业设计第 5 页 共 47 页2 系统分析2.1 技术可行性分析2.1.1 开发语言综述本系统是基于面向对象思想的 JAVA 语言中 J2EE 平台进行编写,J2EE 平台具有以下优点1.简化结构:J2EE 平台支持简化的、基于组件开发模型,由于 J2EE 基于 Java编程语言和 J2SE 平台,它提供了编写一次,随处运行的可移植性,遵循 J2EE 标准的所有服务器都支持该模型。EJB 组件使编写应用
23、程序更为简单。尽管 EJB 体系结构复杂,但应用程序开发人员一般都必再编写访问系统服务的代码,EJB 容器会实现系统级的服务,例如,事务、安全性等。另外,J2EE 还支持异构环境。基于 J2EE 的应用程序不依赖任何特定操作系统、中间件或硬件,因此,设计合理的基于 J2EE 的程序只需开发一次就可以部署到各种平台,这在典型的异构企业算环境中是十分关键的。J2EE 标准还允许客户订购与 J2EE 兼容的第三方的现成组件,把其部署到异构环境中,节省了由自己制订整个方案所需的费用 【8】 。2. 提高开发效率:由于组件技术的使用,可以按照开发人员的技能对应用程序开发进行分工,并行开发,提供整体开发效
24、率。例如:图形设计师创建 JSP 模板,商业逻辑由该领域的专家完成,JSP 页面和 EJB 由 Java 工程师完成,应用程序的装配和部署由团队中其他的成员完成,其中许多工作可以同时进行,有助于加速应用程序的开发。3.可移植性强:除了 Java 语言固有的可移植性外, EJB 体系结构在 Bean 和支持该 Bean 的容器之间提供了一套标准化的应用程序编程接口,这使开发人员能够将 Bean 从一种操作环境移植到另一种操作环境,而无需重新编写其源代码。4.重用性好:由于在 EJB 模型中,各个软件组件都是严格分离的,因此,可以从现有的软件组件装配出服务器端应用程序,这与从现有的 JavaBean 可以装配出