1、毕业设计(论文) I 目 录 摘 要 .I 引 言 . 1 1.绪论 . 2 1.1 项目来源 . 2 1.2 项目目标与期望 . 2 1.3 项目设计原则 . 2 2.可行性分析 . 4 2.1 技术可行性 . 4 2.2 系统结构可行性分析 . 6 2.3 开发环境介绍 . 7 3.需求分析 . 8 3.1 系统功能需求 . 8 3.2 系统的运行需求 . 9 4.概要设计 . 31 4.1 系统功能模块图 . 31 4.2 系统功能的设计 . 32 结束语 . 34 致 谢 . 32 参考文献 . 32 毕业设计(论文) I 基于 JSP 技术的 BBS 论坛设计与实现 摘 要 网络化的
2、今天, BBS 论坛系统的功能得到了很的大扩充。 BBS 的用户已经扩展到各行各业,除原先的计算机爱好者们外,商用 BBS 操作者、 环境组织、宗教组织及其它利益团体也加入了这个行列 。 通过 BBS 系统来和别人讨论计算机 软件 、 硬件 、 Internet、多媒体、程序 设计以及医学等等各种有趣的话题 。 给计算机爱好者提供一个互相交流的地方 。 整个论坛采用 Struts 框架设计完成。结合 JSP、 Java、 JavaScript、 J2EE 等基础知识完成 BBS 论坛。本系统将用户划分为游客、用户、管理员 3类,他们的权限不同,能够使用的 功能也不同。对于系统来说,需要实现的功
3、能总体来说分为以下两大模块。 前台模块提供给所有用户使用。不论是论坛的注册用户,还是普通的浏览者都可以进入其中。区别在于随着用户的等级不同,所允许使用的功能也有所不同。后台模块提供给管理人员(包括管理员和版主)使用,以对用户、论坛及文章进行管理维护。普通用户如果试图使用这一模块将被系统拒绝 我主要负责 BBS 论坛后台页面的管理员登录和用户管理功能模块。 关键词: JSP 技术 , BBS 论坛 , 设计与实现 毕业设计(论文) 1 引 言 BBS 是 Bulletin Board System(电子公告栏 )的缩写,网络上通常称之为论坛。它通过以文字为主的界面,为广大网友提供一个彼此交流的空
4、间。 BBS 与Email 都是早期 Internet 最普遍的应用之一,至今仍然广泛使用。 目前,通过BBS 系统可随时取得国际最新的软件及信息,也可以通过 BBS 系统来和别人讨论计算机 软件 、 硬件、 Internet、多媒体、程序设计以及医学等等各种有趣的话题,更可以利用 BBS 系统来刊登一些“征友”、“廉价转让”及“公司产品”等启事。网络化的今天, BBS 论坛系统的功能得到了很的大扩充。 BBS 的用户已经扩展到各行各业,除原先的计算机爱好者们 外,商用 BBS 操作者、环境组织、宗教组织及其它利益团体也加入了这个行列 。 通过 BBS 系统来和别人讨论计算机 软件 、 硬件
5、、 Internet、多媒体、 程序 设计以及医学等等各种有趣的话题 。 给计算机爱好者提供一个互相交流的地方 。 本系统主要完成 Web 服务器端的用户管理、帖子管理、数据库管理、浏览和查找功能等设计、实现与完善以及整个实验网站的组织建立和测试工作。 本文中数据库服务器端采用了 MYSQL 数据库并以先进的 JDBC 技术进行数据库存取等操作,使 Web 与数据库紧密联系起来。 为了让网友可以自由发表观点和提出问题以及帮助他人解决问题,或者交流经验。特开发了 BBS 论坛系统。 毕业设计(论文) 2 1.绪论 1.1 项目来源 网络化的今天, BBS 论坛系统的功能得到了很的大扩充。 BBS
6、 的用户已经扩展到各行各业,除原先的计算机爱好者们外,商用 BBS 操作者、环境组织、宗教组织及其它利益团体也加入了这个行列 。 通过 BBS 系统来和别人讨论计算机 软件 、 硬件 、 Internet、多媒体、 程序 设计以及医学等等各种有趣的话题 。 给计算机爱好者提供一个互相交流的地方 。结合 JSP、 Struts、 Java、 JavaScript、 J2EE等基础知识完成 BBS 论坛。 1.2 项目目标与期望 1.2.1 促进广大用户交流 在计算机网络飞速发展的今天, BBS 已经成为人们网上交流的重要平台,在BBS 里,人们之间的交流打破了空间、时间的限制。 BBS 大大加深
7、了广大用户之间的交流。 因此对 BBS 论坛的研究是十分必要的。 1.2.2 体现集体观点 用户 可以阅读他人关于某个主题的看法,也可以将自己的想法毫无保留地贴到公告栏中。 这样,通过 BBS 论坛,广大用户的思想观点即会体现出来。可充分反应最广大人民群众的集体意见。 总结上述几点,网站建设目标可总结如下: ( 1) 促进加深用户之间的交流,为用户打造一个畅想欲言的天地。 ( 2) 使用户可以充分交流经验、知识、看法。 1.3 项目设计原则 1.3.1 实用性原则 充分考虑到在 BBS 论坛中可能遇到的种种问题,尽量全面的做好需求分析,以减少日后更新软件的次数。 1.3.2 经济性原则 毕业设
8、计(论文) 3 提供广泛的涵盖 用户多种需求的功能,数据处理方式灵活以满足需求,节省网站建设成本,并确保其较好的拓展性和开放性;同时网站具有基于 WEB 界面的管理后台,能够自主的对网站中大部分内容作更新、修改操作,节省了企业网站的运营成本,提高了信息更新、传播效率。 1.3.3 扩充性原则 网站的整体规划及框架设计是具可扩充性的,前台页面的设计能保证网站在增加栏目后不会破坏网站的整体结构。后台数据库的设计具有高度的扩充性,能够根据需要对栏目、类别的增、删、修改。 毕业设计(论文) 4 2.可行性分析 2.1 技术可行性 2.1.1 动态网站技术介绍 Internet 起源于 20 世纪 60
9、 年代的美国,它在近几年迅速风靡全球,其根本原因不仅在于她拥有卓越的国际通信功能,更在于它拥有巨大的信息资源。所谓的 Internet 是指由分布在全世界成千上万的计算机网络遵循一定的通讯协议,并相互联系在一起而形成的国际互连网络,也就是说, Internet 是建立和使用这些网络的人群、群体、公司以及各种网络资源的集合体。 随着网络技术的不断发展,单纯的静态页面已经不能满足发展的需要,因为静态页面是用单纯的 HTML 语言组成的,它没有交互性。因此,为了满足实际的需要,许多网页文件扩展名不再只是 “ htm” ,“ html” ,出现了以“ php” ,“ asp” ,“ jsp” ,“ s
10、html” 等为后缀的网页文件,这些都是采用动态网页技术制作出来的。 2.1.2 程序语言的选择 JSP( JavaServer Pages)是由 Sun 公司倡导,许多别的公司参与一起创建的一种新动态网页技术标准,类似其他技术标准。在传统的网页 HTML 文件( *.htm,*.html)中加入 Java 程序片断( Scriptlet)和 JSP 标签,构成了 JSP网页( *.jsp) Servlet/JSP Container 收到客户端发出的请求时,首 先执行其中的程序片断,软后将执行结果以 HTML 格式响应给客户端,其中程序片断可以是:操作数据库,重新定向网页以及发送 E-Mai
11、l 等等,这些都是建立动态网站所需要的功能。所有程序操作都在服务器端运行,网络上传送给客户端的仅是得到的结果,与客户端的浏览器无关,因此, JSP 称为 Server-side Language。所以被许多人认为是未来最有发展前途的动态网站技术之一。 语言优势如下: (1)将内容的生成和显示进行分离 使用 JSP 技术, Web 页面开发人员可以使用 HTML 或者 XML 标识来设计和格式化最终页面。使用 JSP 标识或者小脚本来生成页面上的动态内容。生成的内容的逻辑被封装在标识和 JavaBeans 组件中,那么其他人,如 Web 管理人员和页面毕业设计(论文) 5 设计者,能够编辑和使用
12、 JSP 页面而不影响内容的生成。 (2)一次编写,到处运行 作为 Java 平台的一部分, JSP 拥有 Java 编程语言 “ 一次编写 ,到处运行 ”的特点,随着越来越多的供应商将 JSP 支持添加到他们的产品中,您可以使用自己所选择的服务器和工具,但并不影响当前的应用。 (3)JSP 的平台适应性更广 这是 JSP 比 ASP 的优越之处,几乎所有的平台都支持 Java, 它们可以在任何平台下通行无阻。虽然 NT 的 OS 占据了很大的市场的份额,但在服务器方面UNIX 的优势仍然很大 .从一个平台移植到另一个平台, JSP 和 JavaBeans 甚至不用重新编译,因为 Java 字
13、节码都是标注的字节码与平台无关。 (4)健壮的存储管理和安全性 由于 JSP 页面的内置脚本语言是基于 Java 编程语言的,而且所有的 JSP 页面都被编译为 Java Servlet, JSP 页面就具有 Java 技术的所有优点,包括健壮的存储管理和安全性。 (5)数据库连接技术 数据库连接是一种关键的有限的昂贵的资源,这一点 在多用户的网页应用程序中体现得尤为突出。对数据库连接的管理能显著影响到整个应用程序的伸缩性和健壮性,影响到程序的性能指标。 本系统采用 SRTUTS 连接池连接 MYSQL 数据库。 在 struts-config.xml 配置文件中,定义 data-source
14、 元素设置了具体的数据源,可以使用这个数据源来连接数据库。使用数据源来连接数据库有很多优点,比如事务处理,连接效率,管理方便, J2EE 核心技术 JNDI 实现等 2.1.3 STRUTS 框架应用 Struts 是 Apache 软件组织提供的一项开放源码项目,它为 Java Web 应用提供了模型 -视图 -控制器( Model-View- Controller,简称 MVC)框架,尤其适用于开发大型可扩展的 Web 应用。 MVC 模式 ,即把一个应用的输入、处理、输出流程按照 Model、 View、 Controller 的方式进行分离,这样一个应用被分成三个层 模型层、视图层、控
15、制层。 Struts 为 Web 应用提供了一个通用的框架,使得开发人员可以把精力集中在如何解决实际业务问题上。此外, Struts 框架毕业设计(论文) 6 提供了许多供扩展和定制的地方,应用程序可以方便的扩展框架,来更好的适应用户的实际需求。 2.2 系统结构可行性分析 本系统采用 B/S 模式进行开发 2.2.1 B/S 模式简介 B/S( Browser/Server)结构即浏览器和服务器结构。它是随着 Internet技术的兴起,对 C/S 结构的一种变化或者改进的结构。在这种结构下,用户工作界面是通过 WWW 浏览器来实现,极少部分事务逻辑在前端( Browser)实现,但是主要事
16、务逻辑在服务器端( Server)实现,形成所谓三层 3-tier 结构。这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本( TCO)。以目前的技术看, 局域网建立 B/S 结构的网络应用,并通过 Internet/Intranet 模式下数据库应用,相对易于把握、成本也是较低的。它是一次性到位的开发,能实现不同的人员,从不同的地点,以不同的接入方式(比如 LAN,WAN,Internet/Intranet 等)访问和操作共同的数据库;它能有效地保护数据平台和管理访问权限,服务器数据库也很安全。特别是在 Java 这样的跨平台语言出现之后, B/S 架构
17、管理软件更是方便、快捷、高效。 2.2.2 B/S 模式的优点 (1)维护和升级方式简单 目前 , 软件系统的改进和升级越来越频繁 , B/S 架构的产品明显体现着更为方便的特性 。 对一个稍微大一点单位来说 , 系统管理人员如果需要在几百甚至上千部电脑之间来回奔跑 , 效率和工作量是可想而知的 , 但 B/S 架构的软件只需要管理服务器就行了 , 所有的客户端只是浏览器 , 根本不需要做任何的维护 。 无论用户的规模有多大 , 有多少分支机构都不会增加任何维护升级的工作量 , 所有的操作只需要针对服务器进行 ; 如果是异地 , 只需要把服务器连接专网即可 , 实现远程维护 、 升级和共享 。
18、 所以客户机越来越 “ 瘦 ” , 而服务器越来越 “ 胖 ” 是将来信息化发展的主流方向 。 今后 , 软件升级和维护会越来越容易 , 而 使用起来会越来越简单 , 这对用户人力 、 物力、时间、费用的节省是显而易见的 , 惊人的 。因此 , 维护和升级革命的方式是 “ 瘦 ” 客户机 , “ 胖 ” 服务器 。 毕业设计(论文) 7 (2)成本降低 , 选择更多 大家都知道 windows 在桌面电脑上几乎一统天下 , 浏览器成为了标准配置 ,但在服务器操作系统上 windows 并不是处于绝对的统治地位 。 现在的趋势是凡使用 B/S 架构的应用管理软件 , 只需安装在 Linux 服务
19、器上即可 , 而且安全性高 。所以服务器操作系统的选择是很多的 , 不管选用那种操作系统都可以让大部分人使用 windows 作为桌面操作系统电脑不受影响 , 这就使 的最流行免费的 Linux操作系统快速发展起来 , Linux 除了操作系统是免费的以外 , 连数据库也是免费的 , 这种选择非常盛行 。 比如说很多人每天上 “ 网易 ” 网 , 只要安装了浏览器就可以了 , 并不需要了解 “ 网易 ” 的服务器用的是什么操作系统 , 而事实上大部分网站确实没有使用windows 操作系统 , 但用户的电脑本身安装的大部分是 windows 操作系统 。 2.3 开发环境介绍 2.3.1 软件
20、环境 操作系统 : Window xp 数据库 : MySql Web 服务器 : TOMCAT 开发环境: Eclipse3.2+Myeclipse5.0+Fireworks8 + Dreamweaver8 2.3.2 硬件环境 AMD Athlon 64 3000+, KingMax PC3200 512MB 2 , Gainward NV35XT Seagate SATA 8M 120GB 2 毕业设计(论文) 8 3.需求分析 3.1 系统功能需求 BBS 论坛 分为前台和后台两个模块。前台模块的使用对象包括了所有用户(管理员、用户、游客),提供的功能 包括注册 账号 、 浏览主题 、
21、发表 主题 、回复 主题等。后台模块的使用对象为管理人员(管理员、版主),提供的功能包括管理用户、管理论坛、 管理主题。 BBS 论坛系统功能预览如下: 前台: (1)用户登录 (2)用户注册 (3)发表主题 (4)回复主题 (5)用户注销登录 后台: (1)管理员登录 (2)用户管理 (3)论坛管理 (4)主题管理 (5)管理员注销登录 目标系统应该达到以下要求: (1)时间经济性。优化逻辑设计与物理设计,使系统运行效率高,反映速度快。 (2)可靠性。能连续准确的处理业务,有较强的容错能力。 (3)可理解性。用户容易理解和使用该系统。 (4)可维护性和适应性。系统应易于修改、易于扩充、易于维护,能够适应业务不断发展 变化的需要。 (5)可用性。目标系统功能齐全,能够完全满足业务需求。 (6)安全保密性。保证系统的物理安全、数据存储和存取的安全与保密、数据传输的安全与保密,做好使用人员的授权管理。