1、 毕 业 设 计 说 明 书摘 要 : 当今社会是一个信息飞速发达的社会,人们通过互联网络可以进行信息的交流。论坛就是一种在 Internet 网上开放的信息服务系统,通过论坛用户可以方便的实现信息的交换和文件的共享。本文研究并实现了基于 B/S 模式的 BBS 论坛系统,该系统采用目前流行的 JSP+JavaBean+后台数据库三层架构。本文从 BBS 系统的开发背景、相关技术、需求分析、详细设计、系统测试与维护等方面详细阐述了整个系统的开发过程。关 键 词 : BBS ,JSP,MYSQL,JavaBeans Abstract:Nowadays is a flourishing socie
2、ty that information travels fast, Through the Internet people can exchange information with each other. The forum is a service system that is open on Internet, through which, the forum customer can conveniently realizes the commutation of the information and the share of the documents. This text res
3、earch and realizes online forum system (BBS) which based on the B/S model, The system used the popular Three-tier Model (JSP+JavaBean+Database).The text detailed description of the whole system development, which described from the background of system, related technologies, demand analysis, detaile
4、d design, system testing and maintenance. Keywords: BBS,JSP,MYSQL,JavaBeans 目录1 前言 .11.1 选题背景和意义 .11.2 系统要解决的问题 .12 相关技术及运行环境简介 .12.1 JSP 技术简介 .12.2 JAVABEAN 技术简介 .22.3 JDBC 技术简介 .22.4 TOMCAT 技术简介 .32.5 运行环境 .33 需求分析 .33.1 用户功能需求 .43.2 数据需求 .54 系统整体设计 .54.1 系统模块结构设计 .54.2 数据库设计 .94.2.1 E-R 图分析 .94.2
5、.1.1 ER 模型 .94.2.1.2 联系定义 .124.2.2 数据表设计 .134.3 系统流程图 .155 详细设计 .165.1 用户登录模块 .165.2 用户注册模块设计 .185.3 帖子主题模块设计 .215.4 浏览帖子模块设计 .245.5 发表帖子模块设计 .265.6 其他模块设计 .295.6.1 查询用户模块 .295.6.2 帖子管理模块 .306 系统运行和测试 .326.1 测试运行情况 .326.2 程序有待改进方面 .33结论 .34参考文献 .35致谢 .3611 前言1.1 选题背景和意义在二十一世纪,地球因为互联网的存在,早已变成一个村落。人们在
6、互联网世界里尽情的遨游,享受着 Internet 带来的无限乐趣。我们习惯了上网看新闻、去论坛看帖、网上购物、撰写自己的网络日志等等。当然,最离不开的,还是各种搜索引擎,帮我们找到想要的信息。总之,互联网已经成为我们的一种生活方式,一个巨大的知识库。本篇设计论文,围绕如何构建网上论坛系统展开研究。网上论坛系统(BBS)是各种信息交流和传布的场所,它不同于电视报纸等传统的媒体,任何人都可以随便的在 BBS 上发表自己的言论,不受任何限制。除了可以发表文字信息外可以上传和转贴图片、音乐、Flash,可以选择字号、颜色,还可以选择有趣的表情图案。只要花几分种注册(甚至不需要)你就能畅游 BBS,从中
7、得到无穷的乐趣。本系统就是基于以上功能的一个 BBS,旨在为广大网民提供了一个交流平台,能够在这里畅所欲言,发表自己的看法、观点,同时能够结交朋友为生活增添乐趣。1.2 系统要解决的问题 本系统要解决网上论坛(BBS)管理的基本功能:用户注册、用户登录、发表文章、阅读文章、回复文章、分页查找、作者查找、个人资料修改。版主可以添加版块,修改版块,查看版主信息,修改版主信息。管理员可以对帖子进行管理,修改管理员自己的信息。超级管理员可以添加新的管理员以及删除管理员,修改管理员资料,以及对帖子的管理,超级管理员还可以添加版主。在设计过程中要解决了 JSP 最常见的中文乱码问题,并针对不同平台总结出了
8、处理乱码的方法,为今后系统的移植做了铺垫。在数据库连接方面采用数据库连接池技术,数据库连接池负责分配、管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而再不是重新建立一个。2 相关技术及运行环境简介2.1 JSP 技术简介JSP 是服务器端的脚本语言,是以 SERVLET 为基础开发而成的动态网页生成技术,它的底层实现是 JAVA SERVLET。JSP(JAVA SERVER PAGES)由 HTML 代码和潜入其中的 JAVA 代码所组成。服务器在页面被客户端请求以后对这些代码进行处理,然后将生产的 HTML 页面返回客户端的浏览器。按照脚本语言是服务于某一个子系统的语言
9、这种论述,JSP 应当被看作是一种脚本语言。2然而,作为一种脚本语言,JSP 又显得过于强大了,在 JSP 中几乎可以使用全部的 Java类。JSP 的特点是面向对象、 跨平台、 和 SERVLET 一样稳定、 可以使用 SERVLET 提供的 API,同时克服了 SERVLET 的缺点。在使用 JSP 时一般和 JAVABEANS 结合使用,从而将界面表现和业务逻辑分离。分开内容和显示逻辑的好处是,更新页面外观的人员不必懂得 Java 代码,而更新 JavaBean 类的人员也不必是设计网页的行家里手,就可以用带 JavaBeans 类的 JSP 页面来定义 Web 模板,以建立一个由具有相
10、似的外观的页面组成的网站。JavaBeans 类完成数据提供,这样在模板中就没有 Java 代码,这意味着这些模板可以由一个 HTML 编写人员来维护。当然,也可以利用 Java Servlet 来控制网站的逻辑,通过 Java Servlet 调用 JSP 文件的方式来将网站的逻辑和内容分离。2.2 JAVABEAN 技术简介JAVABEAN 是基于 JAVA 的组建模型,有点类似于 MICROSOFT 的 COM 组建。JavaBean 就是 JAVA 的可重用组件技术。ASP 通过 COM 来扩充复杂的功能,如文件上载、发送email 以及将业务处理或复杂计算分离出来成为独立可重复利用的
11、模块。JSP 通过JavaBean 实现了同样的功能扩充。JSP 对于在 Web 应用中集成 JavaBean 组件提供了完善的支持。这种支持不仅能缩短开发时间(可以直接利用经测试和可信任的已有组件,避免了重复开发) ,也为 JSP 应用带来了更多的可伸缩性。JavaBean 组件可以用来执行复杂的计算任务,或负责与数据库的交互以及数据提取等。在 JAVA 平台中,可以无限扩充 JAVA 程序的功能,通过 JAVABEAN 的组合可以快速生产新的应用程序。JAVABEAN 通过 JAVA 虚拟机( JAVA VIRTUAL MACHINE)执行,运行JAVABEAN 最小的需求是 JDK1.1
12、 或者以上的版本。对于程序员来说,最好的一点就是 JAVABEAN 可以实现代码的重复利用,另外对于程序的易维护性等等也有很重大的意义。在实际的 JSP 开发过程中,读者将会发现,和传统的 ASP 或 PHP 页面相比,JSP 页面将会是非常简洁的,由于 JavaBeans 开发起来简单,又可以利用 Java 语言的强大功能,许多动态页面处理过程实际上被封装到了 JavaBeans中。JAVABEAN 传统的应用在于可视化的领域,如 AWT 下的应用。自从 JSP 诞生后,JAVABEAN 更多的应用在了非可视化领域,在服务器端应用方面表现出了越来越强的生命力。32.3 JDBC 技术简介JD
13、BC 是一组 API,定义了用来访问数据库源的标准 JAVA 类库,使用这种类库可以使用一种标准的方法、方便地访问数据库资源。JDBC 是用于执行 SQL 语句的 Java 应用程序接口,由一组用 Java 语言编写的类与接口组成,在 JSP 中将使用 JDBC 来访问数据库。JDBC 是一种规范,它让各数据库厂商为 Java 程序员提供标准的数据库访问类和接口,这样就使得独立于 DBMS 的 Java 应用程序的开发工具和产品成为可能。JDBC 的目标是使应用程序开发人员使用 JDBC 可以连接任何提供了 JDBC 驱动程序的数据库系统,这样就使得程序员无须对特定的数据库的特点有过多的了解,
14、从而大大简化了和加快了开发过程。一般的 Java 开发工具都带有 JDBC - ODBC 桥驱动程序,这样,只要是能够使用 ODBC访问的数据库系统,也就能够使用 JDBC 访问了。有趣的是,不同于 ODBC 是 Open Database Connectivity 的简称,JDBC 并不是 Java Database Connecivity 的简称,而是 SUN 的注册商标,至少官方说法是这样的。JDBC API 为访问不同的数据库提供了一种统一途径,像 ODBC 一样,JDBC 为开发者屏蔽了一些细节问题。另外,JDBC 对数据库的访问也具有平台无关性。2.4 TOMCAT 技术简介在已
15、JAVA 技术为的 WEB 开发领域中,TAMCAT 是许多 JAVA 程序员相当喜爱的开放源代码产品,它附属在 APACHE SOFTWARE FOUNDATION 所主导的 JAKART 项目内。由于TAMCT 是 SERVLET 与 JSP 技术的参考实现(REFERNCE IMPLEMENTATION) ,所以它不但可以当作独立的 WEB 服务器,也可以结合其它的 WEB 服务器,只担任 SERVLET 容器或 JSP 容器的角色。2.5 运行环境为了保证 BBS 论坛管理系统运行的高效性和可靠性,服务器应具有较高的软硬件配置,客户端的要求不是很高。此应用程序可广泛运行于国际互联网即
16、Internet,也可适用于内部的局域网。其运行要求如下:软件环境:客户端: Windows95/98/2000/XP,Internet Explorer(IE)等。服务器端:Windows NT/Windows2000,Tomcat 5.0,JDK 1.5 及其以上版本,IE 等;数据库:采用 MYSQL,运行于服务器端。4硬件环境:服务器 CPU:PIII 500 以上 ,内存:512M 以上。客户机 CPU:P200MMX 以上,内存:32M 以上。3 需求分析软件的需求分析必须要有对原业务的一个深入了解、提取、抽象、升华的过程,管理软件需求分析尤其如此。软件的需求分析是从用户的业务中提
17、取出软件系统能够帮助用户解决的业务问题,通过对用户业务问题的分析,规划出我们的软件产品。这个步骤是对用户业务需求的一个升华,是一个把用户业务管理流程优化,转化为软件产品,从而提升管理而实现的质的飞跃,这一步是否成功,直接关系到开发出来的软件产品能否得到用户认可,顺利交付给客户,客户能否真正运用我们的产品帮助他解决业务或管理问题。3.1 用户功能需求为了系统的各模块功能够正常使用、系统更加人性化,还为了满足系统的实用性及安全性,本系统包含 5 个角色:游客,用户,管理员、超级管理员、版主。(1)游客的各项功能: 游客可以浏览本论坛,但是不可以发帖,不可以回帖,也不可以看帖,只有注册了以后成为本论
18、坛的用户,才可以执行用户的功能。(2)用户的各项功能:一旦成为本论坛的用户后享有以下功能:1、用户注册2、用户登录3、发表文章4、阅读文章5、回复文章6、作者查找7、个人资料修改(3)管理员的各项功能:1、修改管理员自己的信息2、对帖子进行管理3、进入前台以及退出后台5(4)超级管理员的各项功能:超级管理员可以添加新的管理员以及删除管理员,修改管理员资料,以及对帖子的管理,超级管理员还可以添加版主。(5)版主的各项功能:版主可以具有的功能如下:1、添加版块2、修改版块3、查看版主信息4、修改版主信息3.2 数据需求用户必须先注册后再登录进入系统,系统用户的数据包括用户名、用户密码、用户类型。用
19、户名在整个系统中是唯一的。用户浏览帖子时,数据应当包括用户名、帖子序号。用户根据某一主题可以发表帖子,发表帖子需要的数据包括用户名、版块编号、版块分类名、发表帖子标题、发表帖子内容、发表帖子类型。用户回复帖子的数据包括用户名、回复帖子序号、回复的内容、版块编号、版块分类名。管理员进入后台管理时,需要数据包括管理员 ID、管理员密码、管理员的类型。管理员根据权限的不同分为普通管理员和超级管理员。版主进去后台管理时,需要的数据包括版主名、版主密码、子版块名、版块编号。4 系统整体设计4.1 系统模块结构设计BBS 论坛系统(前台)的主要功能模块及其关系,如图 4-1 所示:6BBS 论坛系统(前台)用户登录管理用户信息资料管理相关查询管理主题帖子管理 用户注册管理 帮助与退出浏览帖子用户信息修改发表话题 回复帖子 新用户注册按作者名查询后台登录图 4-1 BBS 论坛系统前台主要功能模块