1、I基于 JSP 的 BBS 实现摘 要现今的社会是一个信息飞速发达的社会,其中在信息的交流当中,互联网占据着一个非常重要的位置。人们可以通过在互联网上收到最新的消息,也可以通过互联网进行信息的交流。而论坛就是大家进行信息交流的其中一个渠道。论坛的概念:论坛(BBS)是 Bulletin-Board-System 的缩写,即电子公告栏。它是一种在 Internet 网上开放的信息服务系统,通过论坛用户可以方便的实现信息的交换和文件的共享。本文主要完成了基于 JSP 技术的信息交流论坛的设计和实现,主要实现了客户端和服务器端的动态交互。该系统包含六个模块:论坛用户登陆注册模块,论坛账户信息模块,论
2、坛文章发布模块,公告/制度模块,版块管理模块,信息管理模块。论文详细描述了模块的结构、功能以及具体设计过程。系统采用了 JSP 技术以及 JavaBeans 组件技术和 JDBC 技术实现。关键词:JSP,BBS,MYSQL,JavaBeans,系统设计Bulletin-Board-System realization based on JSPIIAbstractNowadays is a flourishing society that information travels fast. Among the exchanges of information, the Internet occ
3、upies a very important position, through which people can receive the latest news, and can exchange with each other as well. And the forum is an outlet for everyone to exchange information, which can also make the exchange of information convenient.The concept of the forum: The forum (BBS) is the ab
4、breviation of the Bulletin- Board- System, namely the column of the electronics announcement. It 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. In this text, it mainly comple
5、ted the design and realizations of information exchanges forum based on the JSP technique. And it main carry out a dynamic state between the customer and the server. There are six molds piece: The forum customer debarkation registers the mold piece, the forum bank account information mold piece, the
6、 forum article releases the mold piece, announce/ the system mold piece, a management mold piece, information management mold piece. The thesis has described module structure、function detailed and has designed process concretely. System has adopted the JSP technology and the JavaBeans module technol
7、ogy and the JDBC technology have come true.KeyWord: JSP, BBS, MYSQL, JavaBeans, System design目 录摘 要 .IAbstract.IIIII绪 论 .1第一章 系统概述 .21.1 设计目标 .21.2 研究方法 .21.3 项目中涉及的技术 .21.3.1 JSP 技术 .21.3.2 JavaBeans 技术 .31.3.3 JDBC 技术 .31.4 设备要求 .4第二章 需求分析 .52.1 需求规格 .52.1.1 系统组成 .52.1.2 功能性需求 .52.1.3 非功能性需求 .72.2
8、 开发环境的选择 .7第三章 概要设计 .83.1 总体设计 .83.2 系统结构与程序的关系 .103.3 运行模式 .103.4 接口设计 .103.4.1 用户接口 .103.4.2 外部接口 .103.4.3 内部接口 .113.5 数据结构设计 .113.5.1 系统 ER 图 .113.5.2 逻辑结构设计要点 .113.5.3 物理结构设计要点 .133.5.4 数据结构与程序的关系 .133.6 功能模块设计 .163.6.1 总体设计 .163.6.2 功能模块设计 .163.7 系统故障处理设计 .183.7.1 出错信息 .183.7.2 补救措施 .193.7.3 系统
9、维护设计 .19第四章 详细设计 .204.1 用户注册登陆模块 .204.1.1 功能说明 .204.1.2 功能实现 .204.1.3 程序运行过程截图 .234.2 帐户信息模块 .244.2.1 功能说明 .244.2.2 功能实现 .254.2.3 程序运行过程截图 .28IV4.3 文章发布模块 .284.3.1 功能说明 .284.3.2 功能实现 .284.3.3 程序运行过程截图 .294.4 公告制度模块 .294.4.1 功能说明 .294.4.2 功能实现 .294.4.3 程序运行过程截图 .314.5 版块管理模块 .314.5.1 功能说明 .314.5.2 功能
10、实现 .314.5.3 程序运行过程截图 .334.6 信息管理模块 .344.6.1 功能说明 .344.6.2 功能实现 .344.6.3 程序运行过程截图 .36第五章 结论 .37参考文献(References) .38致谢 .391绪 论随着互联网日益深入社会生活,BBS 开发技术发展至今,从 CGI,ASP,到 PHP 已经日趋成熟,功能也更加丰富,但携着 Sun 公司的 Java 技术所实现的“一次编写,到处运行”的优势,继承这一衣钵的 JSP 技术越来越受到人们的注视。BBS 作为一种对外的展示窗口,进行内外信息交流,已成为大众的广泛需要。为了进行更好的交流,用户想就自己的专业
11、和爱好能和其他的用户进行及时专业的交流,这就有了论坛,这样以来我们就可以在网络这个虚拟的空间中方便地实现交流。Internet 上发布信息主要是通过网站来实现的,获取信息是要在网站论坛中和 Internet“海洋”中按照一定的检索方式将所需要的信息的。因此论坛建设在 Internet 应用上的地位显而易见,它已成为现代人勾通和获取信息的重要组成部分,从而倍受人们的重视。现在各个大学网站都有 BBS 论坛,在 BBS 上,同学与同学之间,老师之间可以非常轻松的进行交流,有网络的地方,不同的地区和国家的各种不同的人都可加入到 BBS 上进行交流。这也节省了大量的教育资源,和充分的利用教育资源。Ja
12、va 是未来的主流开发技术,具有很多优势。JSP 则是 Java 在 InternetIntranet Web 上的重要应用技术,得到了广泛的支持和承认,它可以和各种 Java 技术完好地结合在一起,从而实现非常复杂的应用。本网站使用 JSP + JavaBeans 和后台数据库 MYSQL 在WEB 系统开发的,从而创建一个更为稳定,高效,安全的运行环境。本文主要讨论了基于 B/S 模式的一种 JSP 论坛的设计与实现,主要功能是实现客户端和服务器端的动态交互。其中有六个模块:论坛用户登陆注册模块,论坛帐户信息模块,论坛文章发布模块,公告/制度模块,版块管理模块,信息管理模块。实现论坛的基本
13、功能,具体功能的实现利用 JavaBeans 组件技术。2第一章 系统概述1.1 设计目标BBS是互联网一种人与人之间交互的必备工具,特别是做网站必备。以前我们一直用留言本形式,但是随着您的网站的大规模化,越来越多的迫切需要一种可以易于维护和易于交流的平台,那就要用BBS。BBS可以通过WEB浏览器访问,并且实现在线交流等诸多功能。网民们便逐步开始接受这种使用方便快捷、功能日渐强大的系统。在它上面网民们可以发贴和发布各种各样的信息,讨论各式话题。随着中国网络的普及和计算机及其外设的大幅度降价,Internet这个概念逐渐深入人心。中国网民的数量呈几何级数量增长,BBS的普及程度也直追Email
14、。每个网站几乎都拥有自己的BBS或者BBS链接, BBS社区提供给用户的服务是全面而且非常友好的,用户在社区中可以根据自己的喜好设置不同的显示风格,根据自己的需求定制各种服务。1.2 研究方法本虚拟社区是采用 JSP + JavaBeans + MYSQL 开发的。运行平台:JDK 1.5 + Tomcat5.5 + MYSQL + Windows XP。采用模块化思想,分为 3 层:a数据存储层:使用 MYSQL 来存放 BBS 的所有数据,包括用户信息,文章数据用户消息,系统数据,关键问题,数据库的规划。b. 系统功能层:完成 BBS 的基本功能,由多个并列模块组成,向下调用 MYSQL
15、的数访问数据库,向上接受处理请求,将处理的结果返回上层,根据请求类型,返回成败结果和其他数据。而且模块高度灵活,可以方便的修改增加。c. 服务层:直接和客户机对话,根据客户机的请求,调用功能模块取得数据,然后将数据发送回客户端,根据客户端的类型,分别开发不同的服务模块,并且尽可能合理进行抽象,使对不同的服务层,能共用系统功能层的模块。1.3 项目中涉及的技术1.3.1 JSP 技术JSP(Java Server Pages)是由 Sun Microsystems 公司倡导、许多公司参与一起建立的一种动态网页技术标准。 JSP 技术是用 JAVA 语言作为脚本语言的,JSP 网页为整个服务器端的
16、 JAVA 库单元提供了一个接口来服务于 HTTP 的应用程序。 在传统的网页 HTML 文件(*.htm,*.html)中加入 Java 程序片段(Scriptlet)和 JSP 标记(tag),就构成了 JSP 网页(*.jsp)。Web 服务器在遇到访问 JSP 网页的请求时,首先执行其中的程序片段,然后将执行结果以 HTML 格式返回给客户。程序片段可以操作数据库、重新定向网页以及发送 email 等等,这就是建立动态网站所需要的功能。所有程序操作都在服务器端执行,网络上传送给客户端的仅是得到的结果,对客户浏览器的要求最低,可以3实现无 Plugin,无 ActiveX,无 Java
17、Applet,甚至无 Frame。 1.3.2 JavaBeans 技术什么是 JavaBeans?JavaBeans 就是 Java 的可重用组件技术。最初,JavaBeans 的目的是为了将可以重复使用的软件代码打包标准。特别是用与帮助厂家开发在综合开发环境(IDE)下使用的 java 软件部件。这些包括如 Grid 控件,用户可以将该部件拖放到开发环境中。从此,JavaBeans 就可以扩展为一个 java web 应用的标准部件,并且 JavaBeans 部件框架已经扩展为企业版的 Bean(EJB) 。JavaBeans 是描述 JAVA 的软件组件模型,有点类似于 Microsof
18、t 的 COM 组件概念。在 JAVA 模型中,通过 JavaBeans 可以无限扩充 JAVA程序的功能,通过 JavaBeans 的组合可以快速的生成新的应用程序。对于程序员来说,最好的一点就是 JavaBeans 可以实现代码的重复利用,另外对于程序的易维护性等等也有很重大的意义。ASP 通过 COM 来扩充复杂的功能,如文件上载、发送 email 以及将业务处理或复杂计算分离出来成为独立可重复利用的模块。JSP 通过 JavaBeans 实现了同样的功能扩充。JSP 对于在 Web 应用中集成 JavaBeans 组件提供了完善的支持。这种支持不仅能缩短开发时间(可以直接利用经测试和可
19、信任的已有组件,避免了重复开发) ,也为 JSP 应用带来了更多的可伸缩性。JavaBeans 组件可以用来执行复杂的计算任务,或负责与数据库的交互以及数据提取等。在实际的 JSP 开发过程中,读者将会发现,和传统的 ASP 或 PHP页面相比,JSP 页面将会是非常简洁的,由于 JavaBeans 开发起来简单,又可以利用 Java语言的强大功能,许多动态页面处理过程实际上被封装到了 JavaBeans 中。1.3.3 JDBC 技术JDBC 是一种可用于执行 SQL 语句的 Java API(Application Programming Interface,应用程序设计接口) 。它由一些
20、 Java 语言写的类、界面组成。JDBC 给数据库应用开发人员、数据库前台工具开发人员提供了一种标准的应用程序设计接口,使开发人员可以用纯 Java 语言编写完整的数据库应用程序。Java 具有坚固、安全、易于使用、易于理解和从网络上自动下载等特性,是编写数据库应用程序的杰出语言。所需要的只是 Java 应用程序与各种不同数据库之间进行对话的方法。而 JDBC 正是作为此种用途的机制。通过使用 JDBC,开发人员可以很方便地将 SQL 语句传送给几乎任何一种数据库。也就是说,开发人员可以不必写一个程序访问 Sybase,写另一个程序访问 Oracle,再写一个程序访问 Microsoft 的
21、 SQL Server。用 JDBC 写的程序能够自动地将 SQL 语句传送给相应的数据库管理系统(DBMS) 。不但如此,使用 Java 编写的应用程序可以在任何支持 Java 的平台上运行,不必在不同的平台上编写不同的应用。Java 和 JDBC 的结合可以让开发人员在开发数据库应用时真正实现“Write Once,Run Everywhere!”JDBC 扩展了 Java 的功能。例如,用 Java 和 JDBC API 可以发布含有 applet 的网页,而该 applet 使用的信息可能来自远程数据库。企业也可以用 JDBC 通过 Intranet 4将所有职员连到一个或多个内部数据
22、库中(即使这些职员所用的计算机有 Windows、 Macintosh 和 UNIX 等各种不同的操作系统) 。随着越来越多的程序员开始使用 Java 编程语言,对从 Java 中便捷地访问数据库的要求也在日益增加。1.4 设备要求主机类型:服务器(IBM 兼容机)最低配置CPU:P3-850MHz;内存:256MB硬盘:20GB网卡:10/100MB 自适应客户机(IBM 兼容机)最低配置CPU:P3-450MHz;内存:128MB硬盘:10GB网卡:10/100MB 自适应5第二章 需求分析2.1 需求规格2.1.1 系统组成系统可以分为以下几个功能模块:1. 论坛用户登陆注册模块:包括用
23、户登陆,退出,注册等功能。2. 论坛帐户信息模块:当用户登陆系统后,在个人中心,可以通过修改个人资料的链接来修改个人资料(其中用户 ID 是不允许修改的) ,通过我的话题来查看和修改自己发布的文章。3论坛文章发布模块:用户登陆系统后可以查看其他所有用户发的文章,并可以发布自己的话题,也可响应回复其他用户和自己发表的话题。4公告/制度模块:论坛管理员可以通过后台管理系统发布论坛公告,今日话题等功能,论坛的制度上可以设置对文章操作的得分,发帖数,精华帖。5. 版块管理模块:论坛管理员可以通过后台管理系统控制论坛的版块,管理员可以完成下列功能:任命斑竹,修改版块等操作。6信息管理模块。社区信息配置;
24、添加管理员; 编辑管理员;设定等级;配置权限;重新登录;安全退出;用户等级。以上的功能完成了整个论坛的配置,用户的管理,管理员的管理都可以通过对应的链接来完成。以下是该 BBS 系统软件的功能模块图:图 2.1 BBS 系统软件的功能模块图2.1.2 功能性需求1用户注册登陆模块表 2-1 用户注册登陆模块模块名称:用户注册登陆 模块标识:A1注册登陆 帐户信息 文章发布 公告制度 版块管理 信息管理BBS 软件系统6其中可能涉及到的操作有以下几种:1 用户登录:管理员及用户可以根据用户名及密码登陆系统。 2 用户注册:用户可以独立注册论坛帐户。3 修改数据:管理员可以修正错误数据,比如用户信息等。4 用户退出:用户退出时,变成游客权限,只能浏览帖子。2. 帐户信息模块表 2-2 帐户信息模块模块名称:帐户信息 模块标识:A2该模块主要在个人中心中,对用户信息及发表文章进行操作。其中可能涉及到的操作有以下几种:1 添加,删除,修改个人信息。2 查看,修改或删除本用户发