1、 本科毕业论文(设计) 题 目 : 基于 SSH 框架的论坛设计与实现 院 系 : 计算机科学系 专 业 : 计算机科学与技术 姓 名 : 学 号 : 指导教师 : 教师职称 : 填写日期: 2012 年 5 月 1 日 贵阳学院计算机科学系本科生毕业论文设计 BBS 论坛设计 - 2 摘要 当今社会正处在网络时代,信息化大潮席卷全球,网络正以前所未有的速度在我国普及开来。网站以其独特的优势在信息化的过程中占有重要的一席。 为了方便信息的交流,在结合 JAVA 和 SSH 技术之下开发了这个快捷、界面友好的交流系统,实现了一个功能相对齐全的论坛系统,网友可以自由地提出问题以及帮助他人解决问题,
2、或者交流经验。 论坛 在 struts+spring+hibernate, struts 负责表示层, spring 负责业务逻辑 层,hibernate 负责数据持久层。 论坛 将采用 B/S 体系结构, 人们 通过浏览器就可以访问教学网站的主页,保证的服务器的安全。数据库采用免费,小巧,易用的 sql数据库。 该论坛功能较齐全,在这里可以自由地发表自己的观点和对论坛的主题发表意见,我们还可以对网友的问题及时地解决,获取对自己有用的知识。该论坛还有一些特殊的功能,如在线人员显示、强大的搜索功能。 本网站严格按照软件项目开发的流程进行开发,对于网站开发的可行性分析、需求分析、概要设计、详细设计
3、以及对网站的测试与维护都有详细的论述和实现过程。 本套论坛的优点 在于它具有强大的可扩展性和可维护性 ,非常适合网民创建自己的中小型 BBS 论坛 ! 关键词 : BBS ,S.S.H(Struts ,Hibernate ,Spring),JAVA , SQL ,JSP 贵阳学院计算机科学系本科生毕业论文设计 BBS 论坛设计 - 3 Abstract todays society is in network era, information tide sweeping the globe, the Internet is at an unprecedented rate in our cou
4、ntry popularity to spread. Web site with its unique advantages in the process of information occupies the important a seats. In order to facilitate information exchange, in combination with JAVA and S.S.H technology developed this quick, under a friendly interface communication system, realize a rel
5、atively complete BBS system function, this can be free to put forward questions and help others to solve problems, or exchange experience. BBS in Struts + Hibernate + Spring expand Struts on the basis of frame, with todays mainstream web development techniques JSP language development. BBS will use
6、the B/S architecture, people through the browser can visit the home page of the teaching website, ensure the safety of the server. Database using free, small, easy mysql database. This BBS function is more complete, here will be free to speak their minds and the theme of the BBS of opinions, we also
7、 can solve the problems in time, to obtain useful knowledge. The BBS and some special function, such as online personnel display, powerful search function. This web site in strict accordance with the software development process of development, for the website development feasibility analysis, needs
8、 analysis, general design, detailed design and the test and maintenance of the website of detailed discussion and realization process. The set of the BBSs advantage is that it has strong expansibility and maintainability, very suitable for Internet users to create their own small and medium-sized BB
9、S BBS! Keywords: BBS ,SSH(Struts ,Hibernate ,Spring),JAVA , SQL ,JSP 贵阳学院计算机科学系本科生毕业论文设计 BBS 论坛设计 - 4 目 录 摘要 .2 Abstract . . .3 目 录 . .4 第一章 系统概述 . . . . . .6 1.1 总体概述 . . .6 1.2 开发背景 . . . . . .7 1.3 开发目的 . . . .8 第二章 系统分析 . . . 9 2.1 技术可行性分析 . .9 2.1.1 开发语言综述 .9 2.1.2 S.S.H 框架优点 . 10 2.1.3 系统层次设计
10、. 13 2.1.4 技术可行性综述 . .14 2.2 时间可行性 (项目开发计划 ) . .14 2.3 系统需求分析 . .14 2.3.1 系统开发运行环境 . .14 2.3.2 功能描述 .14 2.3.3 数据流程 .16 第三章 系统设计 .19 3.1 数据库设计 . .19 3.1.1 概念模型设计 (E-R 图 ) . .19 3.1.2 数据库表及关系建立 . 21 3.1.3 详细数据库结构设计 . 21 3.2 系统概要设计 . . .24 3.2.1 功能模块设计 . 24 3.2.2 系统界面设计 . 27 3.2.3 系统的组件设计 . 29 第四章 系统实现
11、 .32 4.1 系统框架实现 . .32 4.1.1 底层数据库的建立 .32 4.1.2 持久化层的建立 (hibernate) .33 4.1.3 业务逻辑层的建立 .33 4.1.4 表示层的建立 . 35 4.2 系统功能模块实现 . . .35 4.2.1 会员模块实现 .38 4.2.2 帖子模块实现 .40 4.2.3 后台管理模块实现 .43 贵阳学院计算机科学系本科生毕业论文设计 BBS 论坛设计 - 5 4.3 系统设计总结 . .44 第五章 系统的调试与测试 . 45 5.1 测试概述 .45 5.1.1 软件测试的目的 .45 5.1.2 软件测试的任务 .45 5
12、.1.3 测试环境 .46 5.2 单元测试 . . 46 5.2.1 黑盒测试 .46 5.2.2 白盒测试 .47 5.2.3 模块接口测试 .48 5.3 集成测试 . . .49 5.3.1 自顶向下集成 .49 5.3.2 确认测试标准 .49 第六章 结论 . 50 致 谢 51 参考文献 . 51 贵阳学院计算机科学系本科生毕业论文设计 BBS 论坛设计 - 6 第 1 章 系统概述 1.1 总体概述 进入二十一世纪, 计算 机技术迅速向着网络化、集成化方向 发展 。传统的单机版应用软件正在逐渐退出舞台,取而代之的是支持网络、支持多种 数据 信息(多媒体)的新一代网络版应用软件,
13、而目前网络版软件中似乎存在着两种不同的趋势,一种是称为客户端 服务器的 C/S 结构,这类软件具有结构严谨,运行效率高,服务器端压力小,安全性好等优点 ,被广泛运用于局域网中。而另一种,也是本毕业设计所采用的,是称为浏览器 服务器的 B/S 结构,它的特点是在客户端直接采用了功能强大的浏览器软件作为界面,其优点在于软件开发效率高,客户端不受操作平台的限制、也不受地域的限制,网络传输量少,即适用于局域网,更适用于 Internet,而且投资小、见效快,用户可以不必进行服务器方面的投资,而是去租用,甚至是免费使用 ISP 的服务器资源,因而受到越来越多中小型单位的青睐。 随着 Internet 技
14、术的不断发展,以及用户群爆炸性地增长,网络不再仅仅是信息的被动获取来源,更成 为人们探讨间题、交换观点的场所,其中,网上论坛扮演了极其重要的角色,随着时间的推移,论坛站点中积存了丰富的信息资源,不但有各类技术资料和新闻文档,还包含着用户的判断和评论,论坛站点己成为Web 信息库的重要组成部分,自网上论坛诞生 20 多年以来,随着 Web 技术的发展,己经由原来简单的电子公告板系统发展为功能丰富的网上论坛和虚拟社区模式。各种论坛随着网络迅速发展,几乎充实着生活工作的每一个方面,无论是商界、政界,还是娱乐界,都有各种论坛。 互联网正在融入我们的生活,网络提供给我们的不只是一个获取信息的来源,而且还
15、是 一个可以相互交流的空间,网上论坛正是一种供人们进行交流的网络空间 , 影 响和改变着我们的生活。 贵阳学院计算机科学系本科生毕业论文设计 BBS 论坛设计 - 7 1.2 开发背景 1978 年 在 美 国芝 加 哥 开发 出 一 套基 于 8080 芯片 的 CBBS/Chicago (Computerized Bulletin Board System/Chicago),此乃最早的一套 BBS 系统。之后随着苹果机的问世,开发出基于苹果机的 Bulletin Board System 和大众信息系统( Peoples Message System) 2 种 BBS 系统。 1981 年
16、 IBM 个人计算机诞生时,并没有自己 的 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 系统时都以
17、 此为框架,所以 RBBS-PC赢得了 BBS 鼻祖的美称。 大约是从 1991 年开始,国内开始了第一个 BBS 站。经过长时间的发展,直到1995 年,随着计算机及其外设的大幅降价, BBS 才逐渐被人们所认识。 1996 年更是以惊人的速度发展起来。国内的 BBS 站,按其性质划分,可以分为 2 种:一种是商业 BBS 站,如新华龙讯网;另一种是业余 BBS 站,如天堂资讯站。由于使用商业 BBS 站要交纳一笔费用,而商业站所能提供的服务与业余站相比,并没有什么优势,所以其用户数量不多。多数业余 BBS 站的站长,基于个人关系,每天都互相交换电子邮件 ,渐渐地形成了一个全国性的电子邮件网
18、络 China FidoNet(中国惠多网)。于是,各地的用户都可以通过本地的业余 BBS 站与远在异地的网友互通信息。这种跨地域电子邮件交流正是商业站无法与业余站相抗衡的根本因素。由于业余 BBS 站拥有这种优势,所以使用者都更乐意加入。这里 “ 业余 ”2 字,并不是代表这种类型的 BBS 站的服务和技术水平是业余的,而是指这类 BBS 站的性质。一般 BBS 站都是由志愿者开发的。他们付出的不仅是金钱,更多的是精力。其目的是为了推动中国计算机网络的健康发展,提高广大计算机用户的应用水平 贵阳学院计算机科学系本科生毕业论文设计 BBS 论坛设计 - 8 国内的 BBS 站,大多数 还是大型
19、综合性 BBS 站 。随着计算机的普及,特别是 宽带的普及 , BBS 的活动将会进一步高涨。但是,随之而来 对专注于领域方面的 BBS将会慢慢增加需求 。尽管 BBS 站台的数量在不断增长 ,但 BBS 的发展过程,也出现了一些问题。由于国内使用的 BBS 架站软件,都是从国外引进的,因此没有必要的中文说明。虽然一些热心的站长翻译了一些资料,但是仅靠这些是远远不够的。另外,有些站台的设立是相互抄袭,所以在结构上难免有雷同之处。 而国内自己开发的 BBS 基本上都是处于最原始的 JSP MODEL1 模式 , 这种模式 是控制层 与表示层合二为一 ,虽然开发简单 ,但是拥有很差的扩展性 ,可维
20、护性 ,这样极大的限制了 BBS 站点的扩展 , 于是在这种情况下 ,本文提出了目前比较流行的 ,基于 MVC 模式的 SSH 框架(Sturts+Spring+hibernate)的 BBS 论坛 ,本套论坛的优点在于它具有强大的可扩展性和可维护性 ,非常适合网民创建自己的中小型 BBS 论坛 ! 1.3 开发目的 当今社会正处于网络时代,信息化大潮席卷全球,网络正也前所未有的速度在我国普及开来。网站以其独特的优势在信息化的过程中占有重要的一席。为了方便信息交流,在结合 java和 ssh 技术之下开发了这个快捷、界面友好的交流系统,实现了一个功能相对齐全的论坛系统,网友可以自由的提出问题也
21、及帮助他人解决问题,或者交流经验。 论坛在 Struts + hibernate + spring扩展 Structs 框架的基础上,用今天主流的网站开发技术 jsp 语言进行开发。论坛将采用 B/S体系结构,人们通过浏览器就可也访问网站的主页,保证的服务器的安全。该论坛功能较全,在这里可以自由地发表自己的观点和对论坛主题发表意见,我们还可也对网友的问题进行及时的解决,获取对自己有用的知识,该论坛还有一个特殊功能, 如在线人数显示、强大的搜索功能。本网站严格按照软件项目开发的流程进行开发,对于网站开发的可行性分析、需求分析、概要设计、详细设计以及对网站的测试与维护都有详细的论述和实现过程。 贵
22、阳学院计算机科学系本科生毕业论文设计 BBS 论坛设计 - 9 第 2 章 系统分析 2.1技术可行性分析 2.1.1 开发语言综述 本系统是基于面向对象思想的 JAVA语言中 J2EE平台进行编写 ,J2EE平台具有以下优点 1.简化结构 :J2EE 平台支持简化的、基于组件开发模型,由于 J2EE 基于 Java编程语言和 J2SE 平台,它提供了编写一次,随处运行的可移植性,遵循 J2EE 标准的所有服务器都支持 该模型。 EJB 组件使编写应用程序更为简单。尽管 EJB 体系结构复杂,但应用程序开发人员一般都必再编写访问系统服务的代码, EJB 容器会实现系统级的服务,例如,事务、安全
23、性等。 另外, J2EE 还支持异构环境。基于 J2EE 的应用程序不依赖任何特定操作系统、中间件或硬件,因此,设计合理的基于 J2EE 的程序只需开发一次就可以部署到各种平台,这在典型的异构企业算环境中是十分关键的。 J2EE 标准还允许客户订购与 J2EE 兼容的第三方的现成组件,把其部署到异构环境中,节省了由自己制订整个方案所需的费用。 2. 提高 开发效率 :由于组件技术的使用,可以按照开发人员的技能对应用程序开发进行分工,并行开发,提供整体开发效率。例如:图形设计师创建 JSP 模板,商业逻辑由该领域的专家完成, JSP 页面和 EJB 由 Java 工程师完成,应用程序的装配和部署
24、由团队中其他的成员完成,其中许多工作可以同时进行,有助于加速应用程序的开发。 3.可移植性强 :除了 Java 语言固有的可移植性外, EJB 体系结构在 Bean 和支持该 Bean 的容器之间提供了一套标准化的应用程序编程接口,这使开发人员能够将 Bean 从一种操作环境移植到另一种操作环境,而无需重新编 写其源代码。 4.重用性好 :由于在 EJB 模型中,各个软件组件都是严格分离的,因此,可以贵阳学院计算机科学系本科生毕业论文设计 BBS 论坛设计 - 10 从现有的软件组件装配出服务器端应用程序,这与从现有的 JavaBean 可以装配出客户端应用程序一样,使软件能够重用。 5.易于
25、维护 :基于组件的设计简化了应用程序的维护。由于组件可以被独立地更新和替代,通过更新应用程序中特定的组件,新的功能可以被很容易地增加。 6.可伸缩性 :企业必须要选择一种服务器端平台,以便满足那些在它们系统上进行商业动作大批新客户。基于 J2EE 平台的应用程序可被部署到各种操作系统上,例如,可被部署到高端 UNIX 或其他的大型机系统上。 J2EE 领域的供应商提供了更为广泛的负载平衡策略,能消除系统中的瓶颈,允许多台服务器集成部署,实现可高度伸缩的系统,满足未来商业应用的需要。 7.被广泛接受 :主要的 IT 供应用商都采纳 EJB 体系结构,不同供应商的产品只要符合 EJB 体系结构,就
26、都是可互操作的。 2.1.2 S.S.H 框架的优点 S.S.H 框架是 J2EE 应用中 struts+spring+hibernate 三大免费开源框架的结合使用 , 它可以看成 工具,也是中间件。他是用来提高我们的开发效率,提高我们软件产品的可维护性、 可扩展性乃至敏捷性的。他们里面有很 多 优秀的设计理念及模式应用。比如, struts 属于 MVC 框架,关键是要了解 MVC 的概念及大致原理;而 hibernate 属于 ORM 系统,属于持久层的解决方案,同样需要对 ORM 的概念及原理有一个总体的了解。而 spring 属于应用程序框架,其核心是 IOC 容器以及AOP,Spring 中还集成了很多适用东西,比如对 JDBC 的封装、自己的 MVC、对动态语言的简洁访问等, 它由以下 3 个框架构成 : 1.Struts 框架 Struts 是 Apache 组织的一个开放源码项目。 Struts 是一个 比较好的 MVC 框架,提供了对开发 MVC 系统的底层支持,它采用的主要技术是 Servlet, JSP 和