1、 I 在线论坛的设计与实现 摘 要 为了方便大家的沟通和获取信息,特构建 一个 在线论坛系统。该系统以 Internet 为平台,采用 B/S 架构,使用 Java 作为后台开发语言,前台页面采用 JSP 做 显示,同时使用 Tiles 标签, EL 表达式, JavaScript 和 Ajax等 更加方便的实现 动态显示数据 ,底层数据库采用 Mysql5.0。系统采用MVC 模式设计, Struts1.0 的 Action 作为控制器,使用 Hibernate3.0 进行数据持久化,从而提高开发效率 和 系统反应速度。系统对于游客、普通用户、版主、 管理员等角色提供 了 用户注册、登录、浏
2、览帖子及其评论,发帖、回复帖子、引用帖子,帖子管理,后台管理等操作,并对于不同的角色有不同的权限。 系统采用富文本编辑器编辑帖子和回复,能够发送图片、附件、视频、 Flash 等,使我们的交流更加丰富多彩。并且系统具有附件上传,站内信,用户相片 设置、主题更改等 功能。系统最终实现了一个基于信息交流的中小型在线论坛。 关键词: 在线论坛 ; Struts; Hibernate; JSP II ABSTRACT To facilitate the communication and access to information, particularly on building a Online
3、Forum System. The system uses Internet as a platform, the use of B / S structure, using the Java programming language, the page display using JSP to do while using the Tiles tags, EL expressions, JavaScript, and Ajax and so more convenient for dynamic display data, the underlying database By Mysql5.
4、0. System uses the MVC model design, Struts1.0 of Action as a controller, the use of persistent data Hibernate3.0 to improve development efficiency and system response speed. System for tourists, ordinary users, moderators, administrators and other roles provided: user registration, login and post t
5、heir comments, post, reply to post, reference post, post management, operations management background, and the different roles have different permissions. System uses a rich text editor to edit posts and replies, can send pictures, accessories, video, flash, to make our communication more colorful.
6、And the system has the attachment upload, station information, photos user settings, the theme changes and other functions. Finally implemented a system based on small and medium online forum for information exchange. Key words: Online Forum; Struts; Hibernate; JSP III 目 录 一、 绪论 . 1 1.1 选题背景及意义 . 1
7、1.2 国内外研究现状 . 1 1.3 在线论坛的发展趋势 . 2 二、 系统可行性分析 . 4 2.1 系统开发目标 . 4 2.2 系统可行性分析 . 4 2.2.1 技术可行性分析 . 4 2.2.2 经济可行性分析 . 4 2.2.3 开发环境可行性 . 4 2.3 开发环境和相关技术介绍 . 4 三、 系统需求分析 . 7 3.1 系统功能需求 . 7 3.2 系统 UML 建模 . 7 3.2.1 系统用例图的建立 . 7 3.2.2 时序图的建立 . 9 3.3 系统性能需求 . 12 3.4 数据需求 . 12 四、 系统功能模块分析与设计 . 14 4.1 系统结构分析 .
8、14 4.2 系统流程分析 . 14 4.3 系统功能模块设计 . 16 五、 系统数据库设计 . 18 5.1 数据库需求分析 . 18 5.2 实体关系分析 . 18 5.21 实体模型分析 . 18 5.12 实体联系分析 . 20 5.3 系统数据库逻辑结构设计 . 21 IV 5.4 系统数据库的创建 . 23 六、 系统功能模块详细设计 . 24 6.1 设计与搭建构架 . 24 6.1.1 设计视图层 . 24 6.1.2 设计控制层 . 24 6.1.3 数据访问层 . 25 6.2 系统功能模块实现 . 26 6.2.1 登录模块的实现 . 26 6.2.2 主界面的实现 .
9、 27 6.2.3 注册模块的实现 . 27 6.2.4 发帖、回复的实现 . 29 6.2.5 上传功能的实现 . 29 6.2.6 后台管理的实现 . 30 七、 系统测试 . 32 7.1 前台界面运行效果 . 32 7.2 后台运行效果 . 33 结束语 . . 35 参考文献 . 36 致 谢 . . 37 1 一、 绪论 1.1 选题背景及意义 在二十一世纪,地球因为互联网的存在,早已变成一个村落。人们在互联网世界里尽情的遨游,享受着 Internet 带来的无限乐趣。我们习惯了上网看新闻、去论坛看帖、网上购物、撰写自己的网络日志、网上聊天,视频等等。当然搜索引擎也成为了一个重要的
10、角色,它帮我们找到想要的信息。总之,互联网已经成为我们的一种生活方式,一个巨大的知识库。本篇设计论文,围绕如何 构建在线论坛系统展开研究。在线论坛系统( BBS)是各种信息交流和传布的场所,它不同于电视报纸等传统的媒体,任何人都可以随便的在 BBS 上发表自己的言论,不受任何限制。除了可以发表文字信息外可以上传和转贴图片、音乐、 Flash,可以选择字号、颜色,还可以选择有趣的表情图案。只要几分钟的注册 (甚至不需要 )你就能畅游 BBS,从中享受无穷的乐趣。本系统就是基于以上功能的一个 BBS,旨在为广大网民提供了一个交流平台,能够在这里畅所欲言,发表自己的看法、观点,同时能够结交朋友为生活
11、增添乐趣。 1.2 国内外研究现状 国外研 究现状 1978 年在美国芝加哥开发出一套基于 8080 芯片的 CBBS/Chicago(Computerized Bulletin Board System/Chicago), 这是 最早的一套 BBS 系统。 在这 之后随着苹果机的问世, 出现了 基于苹果机的 Bulletin Board System 和大众信息系统( People, s Message System) 2 种 BBS 系统。 1981 年 IBM 个人计算机诞生时, 但 并没有自己的 BBS 系统。而是 直到 1982 年, Buss Lane 才用 Basic 语言为 I
12、BM 个人计算机编写了一个原 型程序。在 1983 年通过 Capital PC User Group( CPCUG)的 Communication Special Interest Group会员的努力,改写出了个人计算机系统的 BBS。经 Thomas Mach 整理后,终于完成了个人计算机的第 1 版 BBS 系统 RBBS-PC1。这套 BBS 系统的最大特色是 开源 , 从而 有利于日后的修改和维护 。在这以后的 BBS 系统时都以此为框架,所以 RBBS-PC 赢得了 BBS 鼻祖的美称。 但在当时, 也没有解决 站与站之间的 通讯 。 1984 年美国的 Tom Jonning
13、开 发了一套具有电子功能的电子公告 版 FIDO。由于该软件具有站际连线和自动互传信息的功能,所以站际间彼此可以在一个共同的预定时间传送电子邮件,使得 BBS网络化有了一线生机。 BBS 发展至今,目前世界上 主要 BBS 系统有 FidoNet、 EggNet、AlterNet 和 RBBS-Net 等等 2。 国内研究现状 2 从 1991 年开始,国内 出现了第一个 BBS 站。国内的 BBS 站,按其性质划分,可以分为 2 种:一种是商业 BBS 站,如新华龙讯网;另一种是业余 BBS 站,如天堂资讯站。从 1998 年开始, BBS 的影响力逐渐 突显 出来 。国内很 多 年轻人 开
14、始 不太看电视和报纸,获得 信息 的主要途径 转向 网络。在 BBS 上,大家可以对自己所看到的、听到的、想到的任何一件事做出评论 , 谁也不知道自己的帖子可能会获得成千上万的人的支持。 2006年 7 月 CNNIC 发布的最新统计表明, 43.2% 的中国网民经常使用 BBS 论坛 , 论坛社区应用首次超过即时 通讯 IM ,成为仅次于收发 Email 的互联网基本应用。 而今 , BBS上的帖子阅读 量几十 万余次已经算不上什么惊天动地的大事了。 BBS 论坛已 由原来的娱乐 性 交流工具转化成了一种新兴媒体:网络媒体。我们的网络媒体在不断发展,不断变革。在不断前进的社会中不断增强其影响
15、力与引导力 3。 现在大部分论坛都是基于 B/S 结构实现的。论坛也常被简称为 BBS(Bulletin Board System)。随着中国网络的普及和计算机及其外设的大幅度降价, Internet 这个概念逐渐深入人心。中国网民的数量呈几何级数量增长, BBS 的普及程度也直追 Email。每个网站几乎都拥有自己的 BBS 或者 BBS 链接 ,BBS 社区提供给用户的服务是全面而且非常友好的,用户在社区中可以根据自己的喜好设置不同的显示风格,根据自己的需求定制各种服务。通过论坛更加快捷的了解 企业员工的信息,而建立会员服务的基础是建系论坛管理系统。通过应用该系统可以实现用户与用户间的交流
16、、企业与企业间的信息交互,利用网络经济而又快捷地与外界进行各种信息沟通,取得更有用的信息资源。目前, 国内的 BBS 站 正 向着个性化和专业化的方向发展。 具有代表性的论坛网站有: 新浪论坛、DISCUZ 论坛 、 CCTV 论坛、 天涯社区 、 猫扑社区 、西祠胡同、 人人网等等 1.3 在线论坛的发展趋势 Web2.0 的时代已经到来, Web2.0 与传统的万维网之间最主要的区别就是用户和用户、产品供应商和企业之间更大的协作。 Web1.0 时代 ,论坛社区基本满足网民信息生活的需求, Web2.0 时代论坛社区呈现出巨大的商业价值。当 论坛 用户数量达到引爆点后,社区流量将开始飞快成
17、长,远远大于 Web1.0 网站的流量增长速度 3。伴随着 Web2.0时代的到来, BBS 将朝着以下两个方面发展: BBS 论坛系统将朝 协同平台 发展。 现在动态网站出现一门新技术 单点登录 。 用户可以通过统一身份认证登录系统。通过论坛平台外调其他应用系统的功能接口,完成应用系统的服务。论坛平台还可以集成消息中心,如手机短息 、 邮件 、 站内信等等。使 BBS 系统上升为一个交流平台,同时也是一个协 同系统。 BBS 论坛系统也将朝着图形化方向发展。 图形虚拟社区可以非常具体和形象化的模拟整个现实社区的生活,并且具备无限的3 可扩充性。在论坛中你甚至可以找到和现实生活完全对应的建筑。
18、通过一根网线就可以把远在天南海北的朋友聚到一起。试想,你可以通过外形的不同来区分不同社区的朋友而不是通过 ID。你甚至可以通过外形的不同来猜测对方的性格,这些都是传统虚拟社区所不具备的特点。 4 二、 系统可行性分析 2.1 系统开发目标 通过开发该系统完成在线论坛系统的基本功能 。 包括用户注册、登录、发帖、回复等基本功能,以及版主对帖子的置顶、 置精华、屏蔽等操作和管理员对用户、模块、版主的管理。同时系统对于游客、普通用户、版主、管理员必须有不同的权限控制。 要求系统能有效、安全、可靠和无误的完成上述操作 ,并要求界面要简单明了,美观,易于操作,服务器程序利于维护。系统实现后,能部署到学校
19、网络平台中方便同学们交流与学习。 2.2 系统 可行性分析 2.2.1 技术可行性分析 本网站采用 Mysql进行后台数据库的管理、操作和维护,用 JSP 进行前台界面设计 ,用 Java 程序语言完成 后台数据库的接口、数据的录入、查询、浏览等功能 ,采用 Eclipse作为开发平台,采 用 Tomcat 作为 Web 应用服务器。 根据 Java 简单易用、完全面向对象、具有平台无关性且安全可靠的特点 与 Eclipse 强大的方便的开发工具,以及他们当前的广泛实际应用,充分说明本网站在技术方面可行。 2.2.2 经济可行性分析 经济可行性分析(能否赢利)是从经济的角度分析网站系统的规划方
20、案有无实现的可能和开发的价值;分析网站系统所带来的经济效益是否超过开发和维护网站所需要的费用。 学校已搭建健全的网络硬件设施,开发在线论坛所采用的工具 MyEclipse, Mysql,Tomcat 都是开源的 。 所以完成在线论坛的经济 可行性完全没有问题。 2.2.3 开发环境 可行性 网站开发需要装有 windows98 系统以上的电脑 一台 ,这样的配置在当今已经不能成为难题,而 开发工具都为开源软件,都可以在网上下载 。所以开发环境可行性是没有任何问题的。 2.3 开发环境和 相关技术介绍 1. JSP 技术介绍 JSP 是 Sun 公司推出的新一代站点开发语言,他完全解决了目前 A
21、SP,PHP 的一个通5 病 脚本级执行(现今 PHP4 也已经在 Zend 的支持下,实现编译运行)。 Sun 公司借助自己在 Java 上的不凡造诣,将 Java 从 Java 应用程序和 Java Applet 之 外,又有新的硕果,就是 Jsp Java Server Page。 JSP 可以在 Servlet 和 JavaBean 的支持下,完成功能强大的站点程序。 JSP 与 Microsoft 的 ASP、 PHP 技术非常相似。 ASP 的编程语言是 VBScript 之类的脚本语言, JSP 使用的是 Java ,这是他们最明显的区别。此外, ASP、 PHP 与 JSP 还
22、有一个更为本质的区别:两种语言引擎用完全不同的方式处理页面中嵌入的程序代码。在ASP 下, VBScript 代码被 ASP 引擎解释执行;在 JSP 下,代码被编译成 Servlet 并由 Java虚拟机执行,这种编译操作仅在对 JSP 页面的第一次请求时发生 4。 事实证明, Java Servlet 是一种开发 Web 应用的理想构架。 JSP 以 Servlet 技术为基础,又在许多方面作了改进。利用跨平台运行的 JavaBean 组件, JSP 为分离处理逻辑与显示样式提供了卓越的解决方案。 JSP 必将成为其它动态网页技术的有力竞争者。 2. Struts 框架介绍 Struts
23、通过提供一个控制器 ActionServlet 实现了 MVC 架构,这个控制器可以用来管理 JSP 页面和其他表现层之间的流程, Strust 通过使用 ActionForward 和 ActionMapping来保证表现层之外的控制流决策来实现 MVC 模式。 JSP 可以引用一个逻辑目标,控制器组件在运行时提供准确的 URL,从而实现页面的控制。 Struts 组件的功能即其对应经典的 MVC 组件职责。 ActionForward 类:用于用户指向或者视图选择。 ActionForm类:状态改变的数据的封装类,是一个 JavaBean。 ActionMapping 类:状态改变事件的映
24、射类。 ActionServlet 类:控制器,接受用户请求和状态改变,并发出视图选择控制器 的一部分、与模型交互、执行状态改变或状态查询,以及告诉 Action 及 ActionServlet 下一个选择的视图。 从视图层来看, Struts 有自己的 JSTL 标签扩展,主要包括如下 3 中标签。 HTML 标签( struts-html.tld):扩展 HTML Form的 JSP 标记。 Bean 标签( struts-bean.tld):扩展处理 JavaBean 的 JSP 标记。 Logic 标签( struts-logic.tld):扩展测试属性值得 JSP 标记。 3. Hi
25、bernate 框架介绍 Hibernate 是一个开放源码的 ORM 持久层框架。作为优秀的持久层框架实现,Hibernate 框架提供了强大、高性能的对象到关系型数据库的持久化服务,开发人员可以使用面向对象的设计进行持久层开发 5。简单的说, Hibernate 只是一个将持久化类与数据库表相映射的工具,每个持久化类实例均对应于数据库表中的一个数据行而已。用户只需直接使用面向对象的方法操作此持久化类实例,即可完成对数据库表数据的插入、删除、修改、读取等操作。 6 4. Tomcat 介绍 目前支持 JSP 的应用服务器是较多的, Tomcat 是其中较为流行的一个 Web 服务器,被 Ja
26、vaWorld 杂志的编辑选为 2001 年度最具创新的 Java 产品,可见其在业界的地位 6。 Tomcat 是一个免费的开源的 Serlvet 容器,在 Tomcat 中,应用程序的部署很简单,你只需将你的 WAR 放到 Tomcat 的 webapp 目录下, Tomcat 会自动检测到这个文件,并将其解压。你在浏览器中访问这个应用的 Jsp 时,通常第一次会很慢,因为 Tomcat要将 Jsp 转化为 Servlet 文件,然后编译。编译以后,访问将会很快。 Tomcat 也具有传统的 Web 服务器的功能:处理 Html 页面。但是 与 Apache 相比,它的处理静态 Html 的能力就不如 Apache。我们可以将 Tomcat 和 Apache 集成到一块,让 Apache 处理静态 Html,而 Tomcat 处理 Jsp 和 Servlet。 Tomcat 是一个很好的工具,不仅仅因为其免费,功能强大,更因为其开放性,越来越多小型应用网站采用 Tomcat作为服务器。 5. Mysql数据库介绍 MySQL 数据库是一个较小型的数据库系统,同时是一个多用户、多线程强壮的 SQL数据库服务器,并提供免费的安装软件。 由于它对平台环境要求不高,安装方便,适合中小型系统的开发。