基于SSH的BBS论坛系统的设计与实现Word格式.docx

上传人:b****4 文档编号:17076026 上传时间:2022-11-28 格式:DOCX 页数:35 大小:547.23KB
下载 相关 举报
基于SSH的BBS论坛系统的设计与实现Word格式.docx_第1页
第1页 / 共35页
基于SSH的BBS论坛系统的设计与实现Word格式.docx_第2页
第2页 / 共35页
基于SSH的BBS论坛系统的设计与实现Word格式.docx_第3页
第3页 / 共35页
基于SSH的BBS论坛系统的设计与实现Word格式.docx_第4页
第4页 / 共35页
基于SSH的BBS论坛系统的设计与实现Word格式.docx_第5页
第5页 / 共35页
点击查看更多>>
下载资源
资源描述

基于SSH的BBS论坛系统的设计与实现Word格式.docx

《基于SSH的BBS论坛系统的设计与实现Word格式.docx》由会员分享,可在线阅读,更多相关《基于SSH的BBS论坛系统的设计与实现Word格式.docx(35页珍藏版)》请在冰豆网上搜索。

基于SSH的BBS论坛系统的设计与实现Word格式.docx

Abstract:

Withthewideapplicationofnetworkinthemodernsocietyandthefastpaceofdevelopmentintoday'

ssociety.Moreandmorepeopleneedaplatformtoshareandcommunicatetheircorrespondinginformation,Nowallkindsofforumsystemcanreachpeople`sneed.Getusefulinformationandcommunicatewithothers.Helppeopleexpandtheknowledgelevel.

TheworkofthistopicistodesignandimplementationthemainfunctionofBBS.Makeuserscanbrowseposts,publishandreplyposts,andthesystemadministratorcanmanagebackground.Justlikemanagepostsanduserinformation.Settingtheuserpermissions.Themainfunctionistorealizeinformationcommunicationbypublishingnewpostsandreplyingothers`posts.Thisarticlefirstdescribesadetailedanalysisofthewholesystemfunctionanddesign.SecondlyusingMySQLdatabasetechnologytorealizedatainformationofsysteminvolvedinthemanagement.Finally,realizeallthefunctionsofBBSbyusingJSPtechnology.UsingTomcatastheservertosupportitsoperation.Runninganddebuggingtoensurethesiteisworkingproperly.

Keywords:

Forumwebsite;

JSPtechnology;

MySQLDatabase

绪论

项目开发的背景:

现今的网络已经很发达,但是学生之间的交流很少,甚至没有。

存在的现状基本是各个班级内部交流,各个寝室之间的交流。

又由于没有相对方便的交流平台,许多大学生没有一个“思想安放地”,导致很多新的想法和看法没有很好的传播和交流。

学校的很多通知和资讯不能第一时间的传达开来。

这样,就不利于学术的交流与个性的发展,学生们的接触面狭窄[1]。

在该平台上进行信息的分享与交流、二手货公布与交易,探讨自己身边发生的事,从而为大学生提供一个生活、学习和交流的平台。

通过这个平台的运行和大学生的参与从而打破学生们墙与墙的隔阂,让大学生之间能够自由的更加方便的进行交流和信息分享。

目前,国内外论坛一般采用地面论坛方式:

由留言所有者将留言交与论坛行,然后由论坛组织者进行统一管理。

现在国内外也有很多论坛系统,采用的技术也是多种多样,如基于SSH模式,但大多数校园论坛设计主要用大型论坛行。

至于小型论坛行,利用校园论坛设计组织论坛活动的并不多。

针对国内外对校园论坛设计的巨大需要和基本需要,一个好的校园论坛设计,必须功能齐全,操作简便,向用户展示友善的操作界面。

在完善功能的同时又必须兼顾系统的灵活性,安全性,健壮性。

一个好的交流论坛设计,不管是计算机专业人员还是其他用户都能很快上手,操作简单,便于安装,容易普及[2]。

研究目的和意义:

随着计算机技术的不断发展与提高,人们深刻的认识到了其强大的功能及在现代社会中的各个领域发挥着无可替代的重要的作用。

其中计算机网络技术更是得到了充分的应用,然而在网站设计中Web数据库技术已然成为最为广泛应用的网站架构的基础技术,网络提供了用户与用户之间通信交流的有效手段。

利用JSP技术实现Web服务器与数据库的连接,完成对网站信息的查询与处理。

由于网络具有传播信息容量大,形态多样,迅速方便且自由交互的特点,其已发展成为新的传播媒体及交互平台。

目前就有很多不同形式的网站提供人们共享资讯,而论文中目的是介绍运用JSP技术设计并实现论坛网站的功能。

构建一个交流平台通过互联网使用户和用户之间可以进行交流,分享各种信息;

同时也可以通过网络提出所遇到的各种问题等待他人的解答,并彼此认识,交流扩大知识[3]。

设计实现论坛网站的主要意义在于:

首先,现今JSP在网站设计方面有着突出的优势,因此有必要掌握并熟练应用JSP动态网页设计技术;

其次,通过数据库与Web服务器连接来对网站数据进行管理,掌握不同环境的关联与应用;

最后,随着网络的发展及人们对知识信息的需求不断提升,网络已成为不可忽视的资讯来源,而论坛网站便能满足这个要求。

研究内容:

本课题研究的基本内容是高校学生交流互动平台的实现与开发,它基于SSH框架,采用Java语言,MyEclipse开发工具实现注册、发帖、回帖等系列功能[4]。

课题主要研究并实现的内容有如下几方面:

数据存储与数据库描述,由于论坛需要储存用户及其所发帖子的相关信息,而在论坛运行过程中这类相关数据量会逐渐增大,因此要依据数据库来实现对这些数据的存储和管理。

通常,用户要存有其注册时的ID,用户名,密码等个人信息,以方便网站的管理。

同时,论坛中的主题及帖子同样需要相应的信息数据,以方便其分类与管理。

根据上述分析,系统数据库中的主要表及其关系如下:

会员信息表(用户ID,用户名,密码,姓名,性别,年龄…);

帖子主题表(用户ID,标题,内容,上传的附件,…);

帖子回复表(用户ID,内容,…);

管理员表(管理员ID,用户名,密码,…)。

主表中用户的ID属性为主键。

用户在网站中进行的活动,这是课题的重点工作,涉及到如下内容:

会员注册:

用户可以注册成为《爱上旅游技论坛》的会员;

会员登录:

会员注册成功后可以可以登录到网站;

查看帖子:

会员登录网站后可以浏览网站上的帖子以及发布的信息;

回复帖子:

会员可以对帖子进行跟帖操作;

公告信息:

会员登陆网站可以浏览管理员发布的站内资讯;

帖子管理:

版主可以对自己负责的版块的帖子进行置顶、精华、删除等操作,版主也拥有普通会员所以的功能;

版块管理:

对版块进行修改、删除、增加等;

会员管理:

对会员注册信息进管理(锁定);

版主设置:

管理员为每个版块分配版主;

公告管理:

管理员发布站内资讯信息;

非字符管理:

管理员设置非法字符,当会员发布的帖子内容中包含所设置的非法字符时,则以*号取代之。

 

1相关知识技术

1.1平台选择

Microsoft软件是日常生活中使用最为广泛的软件,基于这一特点,我们选用的平台是JSP+MySQL数据库,它适应于Windows操作系统并能很好的与其应用程序结合,而且MySQL数据库也易操作,从而大大降低了编程难度。

具体开发平台为:

采用Internet架构,Bowser/Server模式。

Web服务器采用Tomcat6.0服务器,数据库管理系统为MySQL。

1.2开发工具介绍

在开发本平台中所用到的开发工具就是是知名的Java项目开发工具MyEclipse。

MyEclipse企业级工作平台(MyEclipseEnterpriseWorkbench,简称MyEclipse)是对EclipseIDE的一种扩展,利用MyEclipse,我们可以在数据库的开发、发布,以及在应用程序服务器的整合当中极大地提高系统的工作效率。

MyEclipse是一个功能非常丰富的集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML,Struts,JSP,CSS,Javascript,MySQL,Hibernate[5]。

大部分程序员喜欢使用Tomcat,因为它运行时占用的系统资源非常少,扩展性好,而且支持负载平衡等程序开发应用系统最常用的一般功能;

目前它还在不断的更新和完善,程序爱好者都可以加入新的功能以实现自己的需求[6]。

Tomcat是一个测试常用的小型服务器,在中小型的系统中(并发访问用户不是很多)被普遍使用,是开发者调试网站程序的第一选择。

对于一个实践者来说,可以这样认为,当机器上配置好服务器时,可利用它响应用户对HTML页面访问的请求。

实际上Tomcat只有部分是Apache服务器的扩展,它是独立运行的,所以当我们运行Tomcat服务器时,实际上他是作为一个与Apache独立开来的进程单独运行的程序。

这里的诀窍是,当服务器配置正确时,Apache就可以为HTML页面服务了,而Tomcat实际上运行的是JSP页面和Servlet。

再者,Tomcat和IIS、Apache等其他的Web服务器一样,都具有处理HTML页面的能力,另外它还是一个容器[7]。

1.3数据库技术介绍

MySQL是一个具备完全Web支持的数据库产品,提供了对可扩展标记语言(XML)的核心支持以及在Internet上和防火墙外进行查询的能力,提供了以网页(Web)标准为基础的数据库扩展功能。

MySQL强大的开发工具和各类开发特性大大提高开发效率,同时也进一步拓展应用空间,给使用者带来了新的商业应用机遇[8]。

1.4系统开发思想与技术

本系统是基于SSH的一个论坛系统,本系统采用JSP技术,基于MVC模式开发。

1.4.1系统的基本框架

本系统采用JSP技术,基于MVC模式开发,使用JSP+JavaBean+Servlet来增加系统的开发速度。

所谓的MVC模式是“Model-View-Controller”的缩写,中文翻译为“模式-视图-控制器”。

程序就是用JavaBean和Servlet这两个框架来实现模型层和控制器这两层,JSP实现视图这一层。

一般来说程序就是在数据库和页面之间起桥梁作用的,Jsp页面请求先到Servlet,再到JavaBean,再回到Servlet,回到JSP页面,Servlet主要处理来自页面的请求,JavaBean主要是和数据库的交互,使用JDBC技术获取的数据主要封装在JavaBean中[9]。

1.4.2JSP及JavaBean介绍

JavaBean是用来描述Java的软件组件模型。

在Java的软件组件模型中,通过JavaBean就可以扩充Java程序的无限功能,JavaBean的组合可以很快的生成新的应用程序。

对于开发者来说,最好的一点莫过于JavaBean可以重复利用代码,另外对于程序的易维护性也得到大大的提高。

JavaBean的正确的执行很大程度上依赖于Java虚拟机(Java 

Virtual 

Machine),运行JavaBean最小需要JDK1.1以及以上的版本。

JavaBean的传统应用在于可视化的领域。

自从拥有了JSP后,JavaBean就更多应用在非可视化领域,服务器端应用方面也表现出越来越强的能力[10]。

就拿发布帖子程序来做例子,我们要实现在发帖这样一个功能,就可以先写一个针对于帖子操作的JavaBean,先建立一个公共的添加成员方法,然后在前台JSP页面中直接调用添加成员的方法来实现。

如果我们在后来又想添加帖子时只需要判断数据库的文件中是否有数据,没有数据就不得添加,这个时候我们就可以修改JavaBean的添加方法,加入代码语句来实现,这样就可以不通过前台的JSP页面来修改程序了。

当然,我们也可以把很多的操作都写在JSP页面程序中,不过这样会让我们的JSP页面变的很庞大,这样就不利于我们修改代码了。

所以我们知道,JavaBean可以较好地实现逻辑的封装并有利于程序维护等等。

复杂的应用涉及大量的代码,因而把业务逻辑和前端的表示相分离就显得格外重要,这种分离可以让任何一方的变化不会影响到另外一方。

所以,所有的JSP代码都应该限制在表示层,可是如果这样的话,你如何实现你的业务逻辑呢?

这就是JavaBean所做的事情。

JavaBean技术是一个独立于平台的组件模型,它让开发者编写、测试通过一个组件后,可以随处使用,提高了复用性。

在JSP技术中,JavaBean实现了业务逻辑部分,它把数据返回给JSP页面,由JSP页面负责格式化数据并输出到客户端的浏览器。

1.4.3SSH简介

SSH在J2EE项目中表示了3种框架,即Spring+Struts+Hibernate。

Struts对Model,View和Controller都提供了对应的组件。

Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架,它由RodJohnson创建。

它是为了解决企业应用开发的复杂性而创建的。

Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。

Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,可以应用在任何使用JDBC的场合,可以在Servlet/JSP的Web应用中使用,也可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。

(1)Struts:

ActionServlet这个类是Struts的核心控制器,负责拦截来自用户的请求。

Action这个类通常由用户提供,该控制器负责接收来自ActionServlet的请求,并根据该请求调用模型的业务逻辑方法处理请求,并将处理结果返回给JSP页面显示。

Model部分由ActionForm和JavaBean组成,其中ActionForm用于封装用户的请求参数,封装成ActionForm对象,该对象被ActionServlet转发给Action,Action根据ActionForm里面的请求参数处理用户的请求。

JavaBean则封装了底层的业务逻辑,包括数据库访问等[11]。

View部分采用JSP实现。

Struts提供了丰富的标签库,通过标签库可以减少脚本的使用,自定义的标签库可以实现与Model的有效交互,并增加了现实功能。

Controller组件有两个部分组成系统核心控制器,业务逻辑控制器。

系统核心控制器,对应ActionServlet。

该控制器由Struts框架提供,继承HttpServlet类,因此可以配置成标注的Servlet。

该控制器负责拦截所有的HTTP请求,然后根据用户请求决定是否要转给业务逻辑控制器。

业务逻辑控制器,负责处理用户请求,本身不具备处理能力,而是调用Model来完成处理。

对应Action部分。

(2)Spring简介:

用来解决企业应用开发的复杂性,使用基本的JavaBean代替EJB,并提供了更多的企业应用功能,可以任何Java应用简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架[12]。

轻量,从大小与开销两方面而言Spring都是轻量的。

完整的Spring框架可以在一个大小只有1MB多的JAR文件里发布。

并且Spring所需的处理开销也是微不足道的。

此外,Spring是非侵入式的:

典型地,Spring应用中的对象不依赖于Spring的特定类。

控制反转,Spring通过一种称作控制反转(IoC)的技术促进了松耦合。

当应用了IoC,一个对象依赖的其它对象会通过被动的方式传递进来,而不是这个对象自己创建或者查找依赖对象。

你可以认为IoC与JNDI相反,不是对象从容器中查找依赖,而是容器在对象初始化时不等对象请求就主动将依赖传递给它。

面向切面,Spring提供了面向切面编程的丰富支持,允许通过分离应用的业务逻辑与系统级服务(例如审计(auditing)和事务(transaction)管理)进行内聚性的开发。

应用对象只实现它们应该做的完成业务逻辑仅此而已。

它们并不负责(甚至是意识)其它的系统级关注点,例如日志或事务支持。

容器,Spring包含并管理应用对象的配置和生命周期,在这个意义上它是一种容器,你可以配置你的每个Bean如何被创建基于一个可配置原型(Prototype),你的Bean可以创建一个单独的实例或者每次需要时都生成一个新的实例,以及它们是如何相互关联的。

然而,Spring不应该被混同于传统的重量级的EJB容器,它们经常是庞大与笨重的,难以使用。

框架,Spring可以将简单的组件配置、组合成为复杂的应用。

在Spring中,应用对象被声明式地组合,典型地是在一个XML文件里。

Spring也提供了很多基础功能(事务管理、持久化框架集成等等),将应用逻辑的开发留给了你。

所有Spring的这些特征使你能够编写更干净、更可管理、并且更易于测试的代码。

它们也为Spring中的各种模块提供了基础支持。

(3)Hibernate简介:

Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。

Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。

Hibernate的核心接口一共有5个,分别为:

Session、SessionFactory、Transaction、Query和Configuration。

这5个核心接口在任何开发中都会用到。

通过这些接口,不仅可以对持久化对象进行存取,还能够进行事务控制。

下面对这五个核心接口分别加以介绍[13]。

Session接口负责执行被持久化对象的CRUD操作(CRUD的任务是完成与数据库的交流,包含了很多常见的SQL语句)。

但需要注意的是Session对象是非线程安全的。

同时,Hibernate的session不同于JSP应用中的HttpSession。

这里当使用session这个术语时,其实指的是Hibernate中的session,而以后会将HttpSesion对象称为用户session。

SessionFactory接口负责初始化Hibernate。

它充当数据存储源的代理,并负责创建Session对象。

需要注意的是SessionFactory并不是轻量级的,因为一般情况下,一个项目通常只需要一个SessionFactory就够,当需要操作多个数据库时,可以为每个数据库指定一个SessionFactory。

Configuration接口负责配置并启动Hibernate,创建SessionFactory对象。

在Hibernate的启动的过程中,Configuration类的实例首先定位映射文档位置、读取配置,然后创建SessionFactory对象。

Transaction接口负责事务相关的操作。

它是可选的,开发人员也可以设计编写自己的底层事务处理代码。

Query和Criteria接口负责执行各种数据库查询。

它可以使用HQL语言或SQL语句两种表达方式。

2系统分析

2.1可行性分析

可行性分析是在全面调查基础上,针对新系统的开发是否具备必要性和可能性,对新系统的开发从技术、经济、社会的方面进行分析和研究,以避免投资失误,保证新系统开发成功。

可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。

这部分将从以下三个方面进行研究:

技术可行性、经济可行性、社会可行性。

2.1.1技术可行性

该系统拟采用成熟的数据库技术与软件开发技术,使用MySQL和Tomcat6.0服务器与JSP技术。

JSP对于在Web应用中集成JavaBean组件提供了完善的支持,这种支持不仅能缩短开发时间(可以直接利用经过测试和可信任的已有组件),避免重复开发。

JavaBean组件可以用来执行复杂的计算任务,或负责与数据库的交互及数据提取等。

前台主要使用HTML语言,用JSP页面对表单数据进行处理[14]。

Tomcat服务器系统由推出至今,其方便,宜用等特性深得开发人员的赞许,再加上其资源免费,下载方便,使得它在信息系统开发中应用日益广泛。

本系统对用户的要求,除了需要具备在MicrosoftWindows平台上使用个人电脑的知识外,并不需要特别的技术能力。

使用系统的管理员,需要具备对Tomcat服务器的使用能力,在投入使用前,无需对操作系统的人员进行培训。

这样既减少投入成本又简化了操作环节。

因此,开发该系统具有技术可行性。

2.1.2经济可行性

经经济可行性分析要估计项目的成本和效益,分析项目经济上是否合理。

即进行成本效益分析,评估项目的开发成本,计算开发成本是否会保证项目预期的全部利润。

本系统采用B/S架构,所以在电脑配置方面只需要能进行最基础的操作的配置即可,在维护成本上B/S也有着天生的优势。

而且论坛系统在经济上较其它交流主要有以下几个突破的优势:

投资比较少,同时增加了许多方便;

交流时间不受限制,可以在一天24任何时间;

交流范围不受地域、距离限制,通过网络使得更多的网民都可以通过网络得到发表意见的机会,方便的同时还省去了其他交流带来的消费[15]。

总的来说,网上论坛的兴起,打破了传统的面对面交流讨论,突破了时间空间的局限,大大提高了效率带来了方便,也免去了其他花费有效地降低了成本给大家带来更大的利益。

由以上可知,本系统在经济上是可行的。

2.1.3社会可行性

如今,人们的生活学习越来越依赖电脑以及互联网,人们可以通过BBS交流平台来结识更多的朋友,获取更多的知识,而且这样通过通过BBS交流平台还不受时间、空间的限制,人们可以在任何时间,地点投入到交流平台发表自己的见解和意见。

所以在生活、工作节奏如此之快的信息时代,人们更多的时间都投入到工作和学习中,通过BBS交流平台成为社会发展的必然,所以在社会可行性上也是必须的。

2.2功能需求分析

本论坛以目前国内外成熟论坛为引导,实现论坛的基本功能,根据调研分析,本论坛实现以下功能:

(1)用户注册:

新用户注册,填写用户信息,检验用户信息的有效性,并将用户信息持久化。

(2)用

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 自然景观

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1