1、 毕业论文(设计) 基于 jsp的论坛管理系统 学生姓名: 学 号: 系 别: 计算机系 专 业: 计算机科学与技术 指导教师: 评阅教师: 论文答辩日期 答辩委员会主席 中 文 摘 要 当代, 随着因特网的飞速发展,人们对网络的需求也越来越浓烈。在此过程中,论坛脱颖而出,成为了人们获取信息、交流、讨论、解决问题的一个平台;随之,论坛便 成了因特网不可或缺的重要组成部分。 系统采用 B/S 结构,基于浏览器管理界面,无须专业人士维护,在 Windows Xp 平台下开发完成,并且系统无操作系统限制,方便不同平台之间的移植。 在这里, 阐述了一个基于 jsp 论坛管理系统的体系结构 、 具体设计
2、以及实现过程 。系统采用的体系结构是: Struts1.2+MySQL 开发,即前端由 jsp 页面实现表现层,并用 Struts1.2 控制具体的表现逻辑;中间由 service 层控制业务逻辑,后端使用 dao 控制数据层。 该 jsp论坛管理系统是一个典型的 java Web 程序,有系统前台和后台管理两部分组成。系统前台模块提供给所用用户使用,用户包括注册 用户和普通游客,二者所拥有的功能不同。其中系统前台主要包括用户登录、用户注册、发表主题、论坛、 浏览。主题浏览等功能 模块 。系统后台主要是管理员使用,可对论坛中相关信息进行管理维护。普通用户无权使用。其中后台管理主要包括用户管理、
3、栏目管理、主题管理、回复管理、管理员注销等功能模块。 一个成 功的 BBS 系统可大大提高承载此论坛的网站点击率,使用户加入到具体问题 、 具体事务的讨论上来,起到收集反馈资料的作用。通过对 Jsp 论坛管理系统的开发可以从中学到如何进行项目的需求分析,如何进行系统设计,如何进行数据库分析和数据库建模,如何配置Struts1.2 数据源,怎样进行单元测试等等许多东西。 关键字: 论坛 ,电子公告 , Struts1.2 , MySQL , Jsp , 系统前台 , 系统后台 Abstract Contemporary, with the rapid development of Interne
4、t, people need more powerful. In this process, BBS emerged as a people obtain information, communication and discussion, solve the problem of a platform, Subsequently, BBS become an indispensable part of the Internet. System based on B/S structure, the browser, without professional management interf
5、ace in a Windows Xp, maintain lans and operating system and the system without limit, convenient between different platforms for the transplant. Here, describes a BBS management system based on JSP the system structure, design and implementation. The system adopts the system structure is: Struts1.2
6、+ MySQL development, namely the front by the JSP page, and realize the presentation layer Struts1.2 control logic of the specific performance, Intermediate layer control by service business logic, back-end USES dao control data layer. The JSP BBS management system is a typical Java Web program, fron
7、t and back management system has two parts. In front of the system used for users provide modules, including registered users and ordinary users tourists, both of which have different functions. These include user login, in front of the user registration, BBS, browsing topics, published. Theme brows
8、ing, etc. System is mainly used background, BBS of information management in maintenance. Ordinary users to use. One background management include user management, management, management, management, subject librarian cancel such function module. The success of a BBS system can greatly improve the b
9、earing the BBS, users to join web hits specific problems, specific affairs, have discussed the role gather feedback information. Based on Jsp BBS management system can learn how the project requirement analysis, system design, how to handle database analysis and database, and how to configure Struts
10、1.2 data modeling, how many things are unit test, etc. Key words: BBS, electronic bulletin, Struts1.2, MySQL, Jsp, system, system background 论 文 目 录 中 文 摘 要 . 2 Abstract . 3 论 文 目 录 . 4 1.绪 言 . 5 2.1 课题设计的主要来源 . 6 2.2 课程设计的目的 . 6 2.3 课程设计的意义 . 6 2.4 解决的主要问题以及达到的技术要求 . 6 2.4.1 解决的主要问题 . 6 2.4.2 达到的技
11、术要求 . 6 2.5 国内外的发展以及存在的问题 . 7 2.5.1 国内外的发展 . 7 2.5.2 未来的发展趋势 . 8 2.6 课程设计的指导思想 . 8 3方案论证 . 9 3.1 设计原理及方案选择 . 9 3.1.1 MVC 原理 . 9 1、模型端 . 9 3.1.2 Struts 原理 . 10 3.1.3 方案选择 . 10 3.2 为什么要选择这个设计方案及其特点 . 10 3.2.1 为什么要选择这个设计方案 . 10 3.2.2 该设计方案的特点 . 11 4过程论述 . 12 4.1 系统功能结构 . 12 4.2 业务流程图 . 13 4.3 系统预览 . 13
12、 4.3.1 前台注册页面 . 14 4.3.2 后台栏目管理页面 . 14 4.4 开发环境 . 15 4.5 数据库设计 . 15 4.5.1 数据库分析 . 15 4.5.2 数据库概念设计 . 15 4.5.3PowerDesigner 数据库建模 . 18 4.5.4 创建数据库 . 19 4.6 核 心代码讲解 . 19 4.6.1 论坛首页设计 . 19 5结 果 分 析 . 27 6结 论 或 总 结: . 28 7.致 谢 . 29 8.参 考 文 献 . 30 1.绪 言 进入二十一世纪,计算机技术迅速向着网络化、集成化方向发展。传统的单机版应用软件正在逐渐退出舞台,取而代
13、之的是支持网络、支持多种数据信息(多媒体)的新一代网络版 应用软件,而目前网络版软件中似乎存在着两种不同的趋势,一种是称为客户端 服务器的 C/S 结构应用系统,这类软件具有结构严谨,运行效率高,服务器端压力小,安全性好等优点,被广泛运用于局域网中。而另一种,也是本毕业设计所采用的,是称为浏览器 服务器的 B/S 结构应用系统,它的特点是在客户端直接采用了功能强大的浏览器软件作为界面,其优点在于软件开发效率高,客户端不受操作平台的限制、也不受地域的限制,网络传输量少,即适用于局域网,更适用于 Internet,而且投资小、见效快,用户可以不必进行服务器方面的投资,而是去 租用,甚至是免费使用
14、ISP 的服务器资源,因而受到越来越多中小型单位的青睐。 Internet 起源于 20 世纪 60 年代末、 70 年代初,当时,美国国防部为了将充斥于军事基地内各种厂商的电脑主机互连,让它们可以进行数据交换以便研究工作顺利进行,于是成立了 ARPA 网络计划。 ARPA 计划尝试建设一个网络系统,它可将各种不同厂商的电脑连接起来。随着这个计划的成功,各学术单位,研究机构也纷纷与 ARPA 计划所建立的 ARPANet 连接。到了 20 世纪 80 年代, Internet 这个名词因势产生,它代表着这十年来所构建涵盖全球各地的 网络系统。从 1990年起,商业使用的 Internet 在美
15、国急速地扩大,而 Internet 也从原来属于少数人使用的网络系统转变为普通百姓也能够使用的网络系统。 最初的 Internet 资源服务都还停留在文本模式, 1989 年,量子物理实验室( CERN)下的一个研究小组着手开发一种全新的 Internet 服务,它可以在网络上传送图片、文本、影像、声音等多媒体数据。于是由 Tim Berners Lee 领导的小组开发出了一种主从、分布式的网络服务系统,这就是 WWW,俗称 “万维网 ”。 所谓 WWW其实就是连上 Web服 务器访问资源,取得的内容就是所谓的 “主页 ”(HomePage)。进入的网页通常不会只有一页,而是整个网站的内容。
16、“网站 ”是一种呈现在网络上的新兴媒体,通过 Internet 已经成为一个实时的,多媒体的信息传播渠道。它的载体主要是电脑,范围覆盖全球各地,没有国界,不分人种,时时刻刻地提供服务。目前,人们渐渐开始把网站称之为广播、电视、报刊以外的第四新闻媒体,以 “共享、公平、公正、创新、国际化、团队精神 ”为特征的网络文明也已逐渐成为这个时代的标志,人们越来越习惯于通过 Internet 网络获取信息,通过 Internet 在网站上发表自己对社会对生活的理解和建议。 本文设计实现一个基于 Web 的通用 BBS 网站,具有 BBS 网站应该具有的相关功能。 2.论 文 正 文 2.1 课题 设计的主
17、要来源 本课题设计主要来源于湖北民族学院科技学院 信息工程学院 2.2 课程设计的目的 就我个人而言, 开发该 BBS 系统目的是为提高自己的专业实践技术水平,做到平时积累的理论与实践相结合 ,深刻的理解相关专业知识;熟练运用项目开发的有关软件 (如 Eclipse、 tomcat、Dreqamweaver.) ,了解项目开发的具体工作流程;然 后就是锻炼自己独立分析问题、解决问题的能力 。 就其它 (如企业 )而言,开发该 BBS 系统的目的是为企业内部提供一个良好的技术交流平台,得到客户的及时反馈,从而提高公司的整体技术水平,提高企业效益。 2.3 课程设计的意义 通过此次课程设计,可以从
18、中学到如何进行项目的需求分析,如何进行系统设计,如何进行数据库分析和数据库建模,如何配置 Struts 框架,如何配置数据源,如何选择和使用日志,如何进行单元测试。 同时,让我明白: 一个成功的 BBS 系统可大大提高承载此论坛的网站点击率,使用户加入到具体问题、具体事务的讨论上 来,起到收集反馈资料的作用 2.4 解决的主要问题以及达到的技术要求 2.4.1 解决的主要问题 提供一个基于浏览器管理界面,无须专业人士维护,实用性强,能够跨平台运行 的 BBS 系统 ;人们可以在此,获取信息、相互交流、相互讨论和解决问题 ;使系统运行稳定可靠,易于维护和扩展。 2.4.2 达到的技术要求 1.
19、能够熟练使用 Struts1.2 框架,掌握 Struts1.2 的工作流程,并且能够使用它开发一些其它的 web 系统。 2. 能够熟练使用 MySQL 软件,并且能够熟练使用其中的 SQL 语言和命令。 3. 能够在不同的操作系统上 使用,无须专业人士维护。 2.5 国内外的发展以及存在的问题 2.5.1 国内外的发展 早期的 BBS 与一般街头和校园内的公告板性质相同,只不过是通过电脑来传播或获得消息而已。一直到个人计算机开始普及之后,有些人尝试将苹果计算机上的 BBS 转移到个人计算机上, BBS 才开始渐渐普及开来。近些年来,由于爱好者们的努力, BBS 的功能得到了很大的扩充。 B
20、BS 系统最初是为了给计算机爱好者提供一个互相交流的地方。 70年代后期,计算 机用户数目很少且用户之间相距很远。因此, BBS 系统(当时全世界一共不到一百个站点)提供了一 个简单方便的交流方式,用户通过 BBS 可以交换软件和信息。到了今天, BBS 的用户已经扩展到各行各业,除原先的计算机爱好者们外,商用 BBS 操作者、环境组织、宗教组织及其它利益团体也加入了这个行列。只要浏览一下世界各地的 BBS 系统 ,你就会发现它几乎就象地方电视台一样,花样非常多。 起初的 BBS 系统是报文处理系统。系统的唯一目的是在用户之间提供电子报文。随着时间的推移, BBS系统的功能有了扩充,增加了文件
21、共享功能。因此,目前的 BBS 用户还可以相互之间交换各种文件。只需简单地把文件置于 BBS 系统,其它用户就可以极 其方便地下载这些件。 早期的 BBS 系统是一台配有调制解调器的普通 PC机,上面运行了一个 BBS 程序。 BBS程序有各种版本,包括单线路的简单系统到支持十几甚至上百条电话线路的复杂系统。最早的 BBS系统系统把全部报文存放在一个地方,可现在的 BBS 软件却允许操作人员根据报文内容来组织报文。比方说,基于 PC的 BBS 软件很可能包括有专用于 DOS、 OS/2 和 Windows的报文部分。 现如今国内外最常用的三种动态网页语言是 PHP( personalhome
22、page)、 ASP( activeserver page)和 JSP( javaserver page)。 PHP 可以在 Windows、 UNIX、 Linux的 web 服务器上正常执行,支持 IIS 和 Apache 等一般的 web 服务器。微软开发的 ASP 功能强大,简单易学,但是只能在 Windows 系统下运行。 UNIX 下有 Chilisoft 的组件来支持 ASP,但是 ASP本身功能有限,必须通过与 com 的群组合来扩充功能。 JSP 基于平台和服务器的互相独立,支持来自广泛的、专门的工具包,服务器组件和数据库产品由开发商提供。这三种语言各有优缺点,根据 BBS
23、的用途不同,可以选择合适的语言来开发。 2.5.2 未来的发展趋势 Web2.0 的时代已经到来, web2.0 与传统的万维网之间最主要的区别就是用户和用户、产品供应商和企业之间更大的协作。 Web1.0 时代 ,论坛社区基本满足网民信息生活的需求 , web2.0 时代论坛社区呈现出巨大的商业价值。当社区用户数量达到引爆点后,社区流量将开始飞快成长,远远大于 web1.0 网站的流量增长速度。伴随着 web2.0 时代的到来,BBS 将朝着以下两个方面发展: 1) BBS 论坛系统将朝着即时性方面发展。现在动态网站出现一门新技术 ajax。在 ajax之前,页面的部分数据需要更新 时必须刷
24、新整个页面。而使用 ajax 技术的网站,不需要刷新页面就可以更新数据,这就使 web站点看起来是即时响应的。将来可以把 ajax技术运用到 BBS 论坛系统当中,使论坛成员在不用刷新页面时就可以看到别人刚刚发的帖子。 2) BBS 论坛系统也将朝着图形化方向发展。图形虚拟社区可以非常具体和形象化的模拟整个现实社区的生活,并且具备无限的可扩充性。在论坛中你甚至可以找到和现实生活完全对应的建筑。通过一根网线就可以把远在天南海北的朋友聚到一起。试想,你可以通过外形的不同来区分不同社区的朋友而不是通过 ID。你甚至可以通过外形 的不同来猜测对方的性格,这些都是传统虚拟社区所不具备的特点。 2.6 课
25、程设计的指导思想 1) 系统界面友好、美观 2) 划分用户级别,将不同权限划分给不同人群 3) 合理管理论坛相关信息 4) 易于维护和扩展 5) 系统运行稳定可靠 3 方案论证 3.1 设计原理 及方案选择 3.1.1 MVC 原理 首先说明一点, MVC 设计模式可以带来更好的软件结构和代码重用。 MVC 是一个设计模式,它强制性的使应用程序的输入、处理和输出分开。使用 MVC 应用程序被分成三个核心部件:模型、视图、控制器。它们各自处理自己的任务。 1、模型端 在 MVC 模型里,模型便是执行某些任务的代码,而这部分代码并没有任何逻辑决定它对用户端的表示方法。 模型端只有纯粹的功能性接口,
26、也就是一系列的公开方法。通过这些公开方法,便可以取得模型端的所有功能。 在这些公开方法中,有些是取值方法,让系统其他部分可以得到模型端的内部状态参数,其他的改值方法则允许 外部修改模型端的内部状态。 但是一般来说,模型端必须有方法登记视图,以便在模型端的内部状态发生变化时,可以通知视图端。 在 java 语言里,一个模型端可以继承 java.util.Observerable 类 。此父类可以提供登记和通知视图所需的接口。 2、多个视图端 在 MVC 模式里面,一个模型端可以有几个视图端,而实际上复数的视图端是使用 MVC 的原始动机。 使用 MVC 模式可以允许多余一个的视图端存在,并且可以
27、在需要的时候动态地登记上所需的视图。 在 java 语言的 java.awt 库和 javax.swing 库里,所有的视窗构件均可以用来建造视图端。但是一个视图如果能够自动 得到更新,便需要实现 java.util.Observer 接口,这样便使得 MVC 模式符合观察者模式的定义。 在视图端里,视图可以嵌套, 这意味着在视图端里均会有合成模式。 3、多个控制器端 MVC 模式的视图端是与 MVCF 模式的控制器结合使用的。当用户端与相应的视图发生交互时,用户可以通过视窗更新模型的状态, 而这种更新是通过控制器端进行的。控制器端通过调用模型端的改值方法更改其状态值。与此同时,控制器端会通知
28、所有的登记了的视图刷新显示给用户。这意味着在视图端对象和控制器端对象之间会有观察者模式的应用。 一个控制器端对象在回应视图端请求时,会采用策略模式的方式决定如何回应。 3.1.2 Struts 原理 Struts 应用中包含 3 种组 件:控制器组件( C)、模型组件( M)、和视图组件( V)。控制器: ActionServlet、自定义 Action;模型组件:定义和实现业务逻辑的接口和类;视图组件: jsp 页面、 ActionForm 和 Struts 标签。 ActionServet 是 Struts 最核心的组件。在 Web 容器启动的时候, ActionServlet 被初始化,
29、加载 struts-config.xml 配置文件 Struts 处理请求的详细过程: 1) 客户端浏览器发送请求到 ActionServlet,ActionServlet 根据请求的路径和struts-config.xml 的配置信息找到对应的 Action Bean 和 Form Bean 。 2) 在确定将要调用的 Action Bean 和 对应的 Form Bean 后,就将请求中的值填充到 Form Bean 中( Action 可以不关联任何 ActionForm,这一步是可选的)。在调用 Action的 execute方法之前, ActionServlet还要准备好 Actio
30、nMapping 参数,ActionMapping 中包含了该 Action 的配置信息。 3) 然后 struts 将请求分发至相应的 Action Bean 处理, ActionMapping 参数 ,ActionForm 参数 ,request 和 response都作为参数传给处理请求的 Action Bean 的 execute 方法。 4) Action 调用业务逻辑方法,得到返回值,并返回 ActionForward 对象。 5) 控制权重新回到 ActionServlet ,ActionServlet 很据 Action 返回的 ActionForward 对象转发到相应的 jsp 6) 处理结果返回给浏览器。 3.1.3 方案选择 经过上述的分析和解说,该项目最终决定使用 Struts1.2+MySQL 开发 BBS 系统。 3.2 为什么要选择这个设计方案 及其特点 3.2.1 为什么要选择这个设计方案 1) 视图控制模型分离, 提高代码重用性。