1、 2 摘要 本文主要 介绍 了基于 JAVA 技术的 论坛 系统 的设计和实现, 系统包含 七 个模块:论坛用户登陆注册模块,论坛账户信息模块,论坛文章发布模块, 论坛 文章 管理模块, 用户管理模块, 版面设置 模块 , 版主 管理模块。论文详细描述了 这些模块的结构、功能以及具体设计过程。 为了 达到运行 稳定、高效的 目的 , 系统基于 J2EE 平台开发, 采用 MVC 模式, 使用目前流行 Struts + Hibernate 框架,部分采用 JSP + JavaBeans 组件技术 ,并且使用了 Memcached 缓存 以及 Hibernate 数据缓存 。 界面设计人性化, 操
2、作简单。 页面 CSS 以及 JavaScript 的编写遵循最新 W3C 标准 ,均支持 在多种主流浏览器中使用。3 Abstract This article mainly introduced based on the JAVA technology forum system design and the realization, the system contains six modules: Forum user debarkation registration module, forum account information module, forum article issue
3、 module, forum article administration module, user administration module, moderator administration module.The paper described these module structure, the function as well as the concrete design process in detail.In order to achieve movement stable, highly effective goal, system based on J2EE platfor
4、m development, uses the MVC pattern, the use popular Struts + the Hibernate frame, the part uses JSP at present + the JavaBeans module technology, and has used the Memcached buffer as well as the Hibernate data buffer.The contact surface design user friendly, the operation is simple.Page CSS as well
5、 as the JavaScript compilation deference newest W3C standard, supports in many kinds of mainstream browser uses. 关键字 JAVA, MVC, AJAX, Struts, Hibernate, JSP, BBS4 目 录 第一章、论坛应用简介 . 6 一、论坛的分类 . 6 二、论坛开发的技术类型 . 6 三、设计目标 . 6 第二章 论坛的需求分析 . 7 一、基本流程 . 7 二、模块分析 . 7 第三章、论坛的系统分析 . 8 一、开发工具的选择 . 8 二、运行环境的选择:
6、. 8 三、数据库的选择 . 8 第四章、论坛的系统设计 . 8 一、数据库设计 . 9 二、数据库结构设计 . 9 三、数据库逻辑结构设计 . 11 第五章、开发环境配置 . 14 一、安装 JDK 及环境变量配置 . 14 二、安装配置 Tomcat . 14 二、安装配置 Eclipse 及 MyEclipse . 14 三、 Struts 配置 . 15 四、 Hibernate 配置 . 15 第六章、系统实现技术 . 15 一、用户登陆注册模块 . 15 二、论坛账户信息模块 . 21 三、论坛文章发布模块 . 23 四、论坛文章管理模块 . 30 五、用户管理模块 . 32 六、
7、版面设置模块 . 34 七、版主管理模块 . 37 第六章、性能测试与分析 . 40 结束语 . 41 参考文献 . 41 5 前 言 现今的社会是一个信息飞速发达的社会,在信息的 交流 和 传递 当中,互联网占据着一个非常重要的位置。人们可以通过互联网查看 最新的消息,也可以通过互联网进行信息的交流。而论坛就是大家进行信息交流的其中一个渠道。 它具有 信息传递及时,信息交流 方便 , 利于 互动的优点 ! 论坛的概念:论坛( BBS)是 Bulletin-Board-System 的缩写,即电子公告栏。它是一种在 Internet 网上开放的信息服务系统,通过论坛用户在论坛中可以发布信息,进
8、行讨论,聊天,共享文件等等。BBS 多用于大型公司或中小型企业 ,开放给客户交流的平台 。 对于初识网络的新人来讲 , BBS - 就是用于在网络 上交流的地方 ,可以发表一个主题 ,让大家一起来探讨 ,也可以提出一个问题 ,大家一起来解决 ,可以上传资源供大家分享 等。 在论坛里,人们之间的交流打破了空间,时间的限制。在与别人进行交往时,无须考虑自身的年龄,学历,知识,社会地位,财富,外貌,健康状况,也无从知道交谈的对方的真实社会身份。这样,参与讨论的人可以处于一个平等的位置与其他人进行任何问题的探讨。论坛往往是由一些有志于此道的爱好者建立,对所有人都免费开放。而且,由于 BBS的参与人众多
9、,因此各方面的话题都不乏热心者。我们当然可以利用它来解决学习中的一些疑惑,也 可以把自己的心事吐露出来。 6 第一章、 论坛 应用简介 一、 论坛的分类 早期的 BBS 由教育机构或研究机构管理,现在多数网站上都建立了自己的 BBS 系统,供网民通过网络来结交更多的朋友,表达更多的想法。 目前国内的 BBS 已经十分普遍,可以说是不计其数,其中 BBS 大致可以分为 5 类: ( 1)校园 BBS: CERNET 建立以来,校园 BBS 恨快地发展了起来,目前很多大学都有了 BBS,几乎遍及全国上下。象清华大学、北京大学等等都建立了自己的 BBS 系统,清华大学的水木清华很受学生和网民们的喜爱
10、。大多数 BBS 是由各校的网络中心 建立的,也有私人性质的 BBS。 ( 2商业 BBS 站 : 这里主要是进行有关商业的商业宣传,产品推荐等等,目前手机的商业站、电脑的商业站、房地产的商业站比比皆是。 ( 3技术 BBS 站:如 CSDN 技术论坛,主要 为各种技术 开发人员和相关企业提供全面的信息服务和技术服务 。 ( 4)专业 BBS 站 : 这里所说的专业 BBS 是指部委和公司的 BBS,它主要用于建立地域性的文件传输和信息发布系统。 ( 5) 综合 BBS: 主要 关于 新闻, 娱乐 ,以及各种热门话题的交流 ( 6)资源 BBS:主要用于各种资源的发布 并 提供用户下载 ( 7
11、)个人 BBS: 有些个人主页的制作者们在自己的个人主页上建设了 BBS,用于接受别人的想法,更有利于与好友进行沟通。 二、 论坛开发的技术类型 目前主流的论坛开发技术有基于 ASP、 PHP(有名如 Discuz)、 JAVA(如 OSPOD)的等等,每种技术都有自己的优点、缺点。 Java 是由 Sun Microsystems 公司推出的 Java 程序设计语言(以下简称 Java 语言)和 Java 平台的总称。 Java 语言 是一种简单的,面象对象的,分布式的,解释的,健壮的 ,安全的,结构的中立的,可移植的,性能 优异的 , 多线程的,动态的语言。 有着“一 次编写到处运行”的特
12、点 ,并且与平台为关。 它 还有着众多的 开源项目 、 丰富的资源库 以及众多的中间件开发商 。 正因为 JAVA 有 如此 多的优点 , 使 它 的支持者越来越多 ,同时对 Web 的迅速发展 起到至关重要的作用。 本论坛系统也将基于 JAVA 来实现。 三 、 设计目标 本论坛 系统将使用 JAVA 程序设计语言 开发 , 属于 技术 支持和维护 类 , 采用提问 -回答模式,与CSDN 相似 , 为 用户 提供各种 信息 资源和 思想交流的 场所 。 7 第二 章 论坛的 需求 分析 一、 基本 流程 要想使用 论坛 提供的各项功能服务, 首先 必须注册。基本流程是首先,注册人 须 阅读
13、 互 联网有关法 规及 论坛 服务条款款,并提交同意申请; 论坛 管理系统 将设定 一个账号名 和 密码 并询问 注册人一些情况,如姓名、性别、年龄、身份证号码、职业等等。注册人必须如实填写,系统能够进行验证码, 通过后 整个注册过程就基本完成。一旦注册成功,便成为 论坛 的合法 会员 。 会员 拥有唯一的帐号,这个帐号就是他在 论坛 中的通行证,是 众多会员中 相互辨别的唯一标志。在 使用论坛的过程中 所有会员 必须遵守 论坛 的各项规章制度和行为准则,否则将被管理员开除或者被封 Post 权! 二、 模块分析 根据以上流程大致分为以下 几 个模块: (一) 用户登陆注册模块 登陆将 使用帐
14、号 +密码 +验证码的方式,成功后登陆信息将存储在 Session 中,关闭浏览器后失效,注册时用户必须先阅读论坛服务条款,之后填写论坛注册的各项信息,验证成功后即可使用论坛的各项功能。 (二) 论坛账户信息模块 用户可查看和修改自己的信息,同时也可以通过名片功能查看其他用户信息, 用户的信息分为基本信息,详细信息,积分信息,状态信息等 。 基本信息包括登陆名,密码, Email,用户类型 ,用户特性 等 ; 用户的类型分为系统管理员,版主和普通会员,系统管理员可管理所有用户,可设置论坛的版面和版主,版主可管理普通用户的 帖子,发布公告等等。 用户特性分为,专家和普特会员两中, 详细信息包括真
15、实姓名,通信地址,联系电话 等 ; 积分可通过发帖 、 回帖获得, 也可以在 帖子被版主置顶或推荐时可获得奖励积分 ; 状态信息由 管理员 设定,可 修改 或 删除用户。 (三) 论坛文章发布模块 用户登陆后可使用文章发布功能 (即发帖、回复) ,文章内容支持使用 HTML 在线编辑功能,用户可通过设定提问分数来吸引其他用户的参与,并可 想专家体温。 (四) 论坛文章 管理 模块 管理功能只限版主使用,主要功能包括发布公告,文章设置置定、推荐或取消 置定、取消推荐 ,删除文章,删除 回复等。 (五) 用户管理 模块 系统管理员可管理各个用户的状态,也可直接删除用户。 (六) 版 面 管理模块
16、系统管理员可设置版 面 信息 。 有添加、修改、删除功能。 ( 七 ) 版 主 管理模块 系统管理员可设置各个版块的版主,也可以取消设置。 8 第 三 章 、 论坛的 系统分析 一、 开发工具的选择 目前 JAVA 的主流开发工具有 JBuilder、 VisualAge for Java、 Forte for Java、 Visual J+、Eclipse、 NetBeans、 JCreator+J2SDK、 JDK+记事本、 EditPlus+ J2SDK 等等。一般开发 J2EE 项目时都需要安装应用服务器 (中间件 )和相应的开发工具。 论坛使用的是 Eclipse+MyEclipse
17、+Tomcat6.0作为开发工具以及应用服务器。 Eclipse 是一种可扩展的开放源代码 IDE,由 IBM 出资组建。 Eclipse框架灵活、扩展容易 , 最大特点是它能接受由 Java 开发者自己编写的开放源代码插件, 同时 为工具开发商提供了更好的灵活性,使他们能更好地控制自己的软件技术 , 因此很受开发人员的喜爱,目前它的支持者越来越多,大有成为 Java 第一开发工具之势 。 MyEclipse 是 Eclipse 的 一款 插件, 利用它我们可以在数据库和 J2EE 的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的 J2EE 集成开发环境,包括了完备
18、的编码、调试、测试和发布功能,完整支持 HTML, Struts, JSF, CSS, Javascript, SQL, Hibernate。 Tomcat 是一个免费的开放源代码的 Web 应用服务器, 它是 Apache 软件基金会( Apache Software Foundation)的 Jakarta 项目中的一个核心项目,由 Apache、 Sun 和 其他一些公司及个人共同开发而成。 Tomcat 是 一个小型的轻量级应用服务器 , 在中小型系统和并发访问用户不是很多的场合下被普遍使用 , 它运行时占用的系统资源小,扩展性好,支持负载平衡与邮件服务等开发应用系统常用的功能 , 技
19、术先进、性能稳定 ,已经 成为目前比较流行的 Web 应用服务器。 二、 运行环境的选择: 本系统的运行环境应用: Windows 2000、 Windows XP 操作系统。 三、 数据库的选择 论坛使用的数据库为 MySql,它 是一个小型关系型数据库管理系统 , 由于其体积小、速度快、总体拥有成本低 、 开放源码 等 特 点 , 被广泛地应用在 Internet 上的中小型网站中 。 第 四 章 、 论坛的 系统 设计 对上述各项功能进行集中、分块,按照结构化程序设计的要求,得到系统功能模块图 如下 : 9 论 坛 系 统登 陆 注 册 文 章 发 布 文 章 管 理 用 户 管 理 版
20、 主 管 理用户注册用 户 信 息用户登陆退出登陆查看修改回复发帖发布公告置顶推荐删除修改删除设置版主取消版主版 面 管 理修改添加删除图 4.1 系统功能模块图 一、 数据库设计 数据库设计是一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用需求(信息要求和处理要求)。 在 系统的总体模块确定之后,接下来的工作就是数据库的设计了,而数据库的设计在一个信息管理系统中占有非常重 要的地位,因为一个系统中数据库结构设计的好坏,直接对应用系统的效率以及实现的效果产生影响。合理的数据库结构设计可以提高数据存储的效率,保证数据的完整和一致。同时,
21、合理的数据库结构也将有利于程序的实现。 论坛 需求具体体现在各种信息的 保存、更新和查询,这就要求数据库结构能充分满足各种信息的输出和输入。收集基本数据、数据结构以及数据处理的流程,组成一份详尽的数据字典,为后面的具体设计打下基础。 二 、 数据库 结构设计 得到上面的数据项和数据结构以后,就可以设计出难免满足用户需求的各种实体,以及它们之间的关系, 10 用 户 ( 基 本 信 息 )登 陆 名密 码I D昵 称E M a i l头 像 路 径性 别状 态注 册 时 间积 分特 性信 用所 在 城 市真 实 姓 名 出 生 日 期图 4.2.1 用户 (基本信息) 实体 用 户 ( 详 细 信 息 )月 收 入教 育 程 度I D兴 趣 爱 好所 属 行 业通 讯 地 址技 能 特 长手 机我 的 状 况联 系 电 话联 系 人邮 政 编 码M S NQ Q传 真公 司学 校图 4.2.2 用户(详细信息) 实体 论 坛 版 面排 序 号父 I D类 型I D名 称图 4.2.3 论坛版面 实体