基于SSH框架的论坛的设计与实现.docx
- 文档编号:3527796
- 上传时间:2022-11-23
- 格式:DOCX
- 页数:54
- 大小:1.38MB
基于SSH框架的论坛的设计与实现.docx
《基于SSH框架的论坛的设计与实现.docx》由会员分享,可在线阅读,更多相关《基于SSH框架的论坛的设计与实现.docx(54页珍藏版)》请在冰豆网上搜索。
基于SSH框架的论坛的设计与实现
本科毕业设计(论文)
题 目:
基于SSH框架的论坛的设计与实现
学生姓名:
学号:
系(部):
数学与计算机科学系专业:
计算机科学技术
入学时间:
201 年 9 月
导师姓名:
职称/学位:
导师所在单位:
基于SSH框架的论坛的设计与实现
摘要
为了方便信息的交流,在结合JAVA和S.S.H技术之下开发了这个快捷、界面友好的交流系统,实现了一个功能相对齐全的论坛系统,网友可以自由地提出问题以及帮助他人解决问题,或者交流经验。
论坛在Struts+Hibernate+Spring扩展Struts框架的基础上,用当今主流的网站开发技术jsp语言进行开发。
论坛将采用B/S体系结构,人们通过浏览器就可以访问论坛网站的主页,保证的服务器的安全。
数据库采用免费,小巧,易用的mysql数据库。
本网站严格按照软件项目开发的流程进行开发,对于网站开发的可行性分析、需求分析、概要设计、详细设计都有详细的论述和实现过程。
Struts框架的引入是为了将系统显示层和业务层进行分离,从而可改变系统页面中穿插功能代码的缺陷性。
Spring框架的引入除了可以很好的为中间层服务以外,还能实现与上下层之间的兼容,达到各层相互独立的目的,从而可大大降低各层之间耦合度。
Hibernate框架用于完善Spring框架对JDBC的封装。
该系统的投入使用,打破了校园门户网站的“平面化”,更富有亲和力和凝聚力,为高校思想政治教育工作者提供了参考,为教师学生间的教学交流开拓了新领域,为学生间互通生活信息提供了平台,为学生获得情感支持和共鸣开辟了人际传播的新领域。
关键词:
论坛;S.S.H;JAVA;MySQL;JSP
DesignandImplementationoftheOnlineForumBBSSystemBasedontheSSHFramework
Abstract
Inordertofacilitatetheteachersandstudentsinformationtheexchange,inunifiedJAVAandS.S.Hundertheservertechnologyhasdevelopedthisquicktruncation,thecontactsurfacefriendlyteachersandstudentsalternating-currentsystem.realizedafunctionrelativelycompleteforumsystem,thenetfriendhasbeenpossiblefreelytoproposethequestionaswellashelpedotherpeopletosolvetheproblem,orexchangeexperience.ThisBBSpreparestoexpandtheStrutsframeinStruts+Hibernate+Springinthefoundation,carriesonthedevelopmentwithnowthemainstreamwebsitedevelopmenttechnology----JSPlanguage.ThiswebsitewillusetheB/Ssystemstructure,thepeoplemayvisittheBBSwebsitethroughthebrowserthemainpage.Thismakesurethattheguaranteeserverissecure.Thedatabaseusesfree,exquisite,easy-using,MYSQLdatabase.Thiswebsitestrictlycarriesonthedevelopmentaccordingtothesoftwareprojectdevelopmentflow,regardingthewebsitedevelopmentfeasibilityanalysis,thedemandanalysis,theoutlinedesign,thedetaileddesignaswellasallhasthedetailedelaborationandtherealizationprocesstothewebsite.Strutsframeworkisintroducedinordertodisplaysystemandbusinesslayerswereseparated,soastochangethethesystempagesinterspersedfunctioncodedefects.Springframeworkintroductionofadditioncanbeagoodservicefortheintermediatelayer,butalsotoachieveandonthecompatibilitybetweentheunderlayerreachthelayersindependentlyofeachotherthepurpose,whichcangreatlyreducethedegreeofcouplingbetweenthelayers.TheHibernateframeworkusedtoimprovetheSpringFrameworkJDBCpackage.Thesystemisputintousetobreakthe"flattening"ofthecampusportal,moreaffinityandcohesion,toprovideareferencefortheideologicalandpoliticaleducationworkers,andopenupanewfieldofteachingexchangebetweenteachersandstudents,forstudentsbetweeninteroperabilitylifeinformationtoprovideaplatformforstudentstogetemotionalsupportandresonatetoopenupnewareasofinterpersonalcommunication.
Keywords:
bbs;S.S.H;java;mysql;jsp
基于SSH框架的论坛的设计与实现
第1章绪论
1.1总体概述
进入二十一世纪,计算机技术迅速向着网络化、集成化方向发展。
传统的单机版应用软件正在逐渐退出舞台,取而代之的是支持网络、支持多种数据信息(多媒体)的新一代网络版应用软件,而目前网络版软件中似乎存在着两种不同的趋势,一种是称为客户端——服务器的C/S结构,这类软件具有结构严谨,运行效率高,服务器端压力小,安全性好等优点,被广泛运用于局域网中。
而另一种,也是本毕业设计所采用的,是称为浏览器——服务器的B/S结构,它的特点是在客户端直接采用了功能强大的浏览器软件作为界面,其优点在于软件开发效率高,客户端不受操作平台的限制、也不受地域的限制,网络传输量少,即适用于局域网,更适用于Internet,而且投资小、见效快,用户可以不必进行服务器方面的投资,而是去租用,甚至是免费使用ISP的服务器资源,因而受到越来越多中小型单位的青睐。
随着Internet技术的不断发展,以及用户群爆炸性地增长,网络不再仅仅是信息的被动获取来源,更成为人们探讨间题、交换观点的场所,其中,网上论坛扮演了极其重要的角色,随着时间的推移,论坛站点中积存了丰富的信息资源,不但有各类技术资料和新闻文档,还包含着用户的判断和评论,论坛站点己成为Web信息库的重要组成部分,自网上论坛诞生20多年以来,随着Web技术的发展,己经由原来简单的电子公告板系统发展为功能丰富的网上论坛和虚拟社区模式。
各种论坛随着网络迅速发展,几乎充实着生活工作的每一个方面,无论是商界、政界,还是娱乐界,都有各种论坛。
互联网正在融入我们的生活,网络提供给我们的不只是一个获取信息的来源,而且还是一个可以相互交流的空间,网上论坛正是一种供人们进行交流的网络空间,影响和改变着我们的生活。
1.2发展与现状
1978年在美国芝加哥开发出一套基于8080芯片的CBBS/Chicago(ComputerizedBulletinBoardSystem/Chicago),此乃最早的一套BBS系统。
之后随着苹果机的问世,开发出基于苹果机的BulletinBoardSystem和大众信息系统(PeoplesMessageSystem)2种BBS系统。
1981年IBM个人计算机诞生时,并没有自己的BBS系统。
直到1982年,BussLane才用Basic语言为IBM个人计算机编写了一个原型程序。
其后经过几番增修,终于在1983年通过CapitalPCUserGroup(CPCUG)的CommunicationSpecialInterestGroup会员的努力,改写出了个人计算机系统的BBS。
经ThomasMach整理后,终于完成了个人计算机的第1版BBS系统——RBBS-PC。
这套BBS系统的最大特色是其源程序全部公开,有利于日后的修改和维护,因此后来在开发其他的BBS系统时都以此为框架,所以RBBS-PC赢得了BBS鼻祖的美称。
大约是从1991年开始,国内开始了第一个BBS站。
经过长时间的发展,直到1995年,随着计算机及其外设的大幅降价,BBS才逐渐被人们所认识。
1996年更是以惊人的速度发展起来。
国内的BBS站,按其性质划分,可以分为2种:
一种是商业BBS站,如新华龙讯网;另一种是业余BBS站,如天堂资讯站。
由于使用商业BBS站要交纳一笔费用,而商业站所能提供的服务与业余站相比,并没有什么优势,所以其用户数量不多。
多数业余BBS站的站长,基于个人关系,每天都互相交换电子邮件,渐渐地形成了一个全国性的电子邮件网络ChinaFidoNet(中国惠多网)。
于是,各地的用户都可以通过本地的业余BBS站与远在异地的网友互通信息。
这种跨地域电子邮件交流正是商业站无法与业余站相抗衡的根本因素。
由于业余BBS站拥有这种优势,所以使用者都更乐意加入。
这里“业余”2字,并不是代表这种类型的BBS站的服务和技术水平是业余的,而是指这类BBS站的性质。
一般BBS站都是由志愿者开发的。
他们付出的不仅是金钱,更多的是精力。
其目的是为了推动中国计算机网络的健康发展,提高广大计算机用户的应用水平。
国内的BBS站,大多数还是大型综合性BBS站。
随着计算机的普及,特别是宽带的普及,BBS的活动将会进一步高涨。
但是,随之而来对专注于领域方面的BBS将会慢慢增加需求。
尽管BBS站台的数量在不断增长,但BBS的发展过程,也出现了一些问题。
由于国内使用的BBS架站软件,都是从国外引进的,因此没有必要的中文说明。
虽然一些热心的站长翻译了一些资料,但是仅靠这些是远远不够的。
另外,有些站台的设立是相互抄袭,所以在结构上难免有雷同之处。
而国内自己开发的BBS基本上都是处于最原始的JSPMODEL1模式,这种模式是控制层与表示层合二为一,虽然开发简单,但是拥有很差的扩展性,可维护性,这样极大的限制了BBS站点的扩展,于是在这种情况下,本文提出了目前比较流行的,基于MVC模式的S.S.H框架(Sturts+Spring+hibernate)的BBS论坛,本套论坛的优点在于它具有强大的可扩展性和可维护性,非常适合网民创建自己的中小型BBS论坛。
1.3开发目的和意义
综上所述,本文设计的是基于MVC模式的SSH框架(Sturts+Spring+Hibernate)的BBS论坛,本套论坛的优点在于它具有强大的可扩展性和可维护性,非常适合网民创建自己的中小型BBS论坛,能使用户发表自己的想法,同时管理员可以管理论坛的情况,并在此基础上实现学生和学生、学生和老师沟通和交流的功能。
实现校园资源共享,为学生提供一个交流的平台,为广大学生者提供交流经验、探讨问题的社区。
提供文件的上传与下载,实现资源与经验的共享。
第2章系统分析
2.1技术可行性分析
2.1.1开发语言综述
本系统是基于面向对象思想的JAVA语言中J2EE平台进行编写,J2EE平台具有以下优点
1.简化结构:
J2EE平台支持简化的、基于组件开发模型,由于J2EE基于Java编程语言和J2SE平台,它提供了编写一次,随处运行的可移植性,遵循J2EE标准的所有服务器都支持该模型。
另外,J2EE还支持异构环境。
基于J2EE的应用程序不依赖任何特定操作系统、中间件或硬件,因此,设计合理的基于J2EE的程序只需开发一次就可以部署到各种平台,这在典型的异构企业算环境中是十分关键的。
J2EE标准还允许客户订购与J2EE兼容的第三方的现成组件,把其部署到异构环境中,节省了由自己制订整个方案所需的费用。
2.提高开发效率:
由于组件技术的使用,可以按照开发人员的技能对应用程序开发进行分工,并行开发,提供整体开发效率。
例如:
图形设计师创建JSP模板,商业逻辑由该领域的专家完成,JSP页面由Java工程师完成,应用程序的装配和部署由团队中其他的成员完成,其中许多工作可以同时进行,有助于加速应用程序的开发。
3.可移植性强:
除了Java语言固有的可移植性外,SSH框架也有很好的可移植性,这是它为什么在许多地方可以替代EJB体系结构的原因,这使开发人员能够将其从一种操作环境移植到另一种操作环境,而无需重新编写其源代码。
4.易于维护:
基于组件的设计简化了应用程序的维护。
由于组件可以被独立地更新和替代,通过更新应用程序中特定的组件,新的功能可以被很容易地增加。
5.可伸缩性:
企业必须要选择一种服务器端平台,以便满足那些在它们系统上进行商业动作大批新客户。
基于J2EE平台的应用程序可被部署到各种操作系统上,例如,可被部署到高端UNIX或其他的大型机系统上。
J2EE领域的供应商提供了更为广泛的负载平衡策略,能消除系统中的瓶颈,允许多台服务器集成部署,实现可高度伸缩的系统,满足未来商业应用的需要。
7.被广泛接受:
主要的IT供应用商都采纳SSH,不同供应商的产品只要符合SSH,就都是可互操作的。
2.1.2MySQL数据库的选用
MySQL是现在流行的关系数据库中其中的一种,相比其它的数据库管理系统(DBMS)来说,MySQL具有小巧、功能齐全、查询迅捷等优点,关键的是它是免费的,可以在Internet上免费下载到,并可免费使用,对于一般中小型,甚至大型应用都能够胜任。
MySQL具有以下优点:
1、首先是速度。
对于MySQL来说,速度是他们追求的主要目标之一,基于这个原因,MySQL在以前的文档中也曾经说过并不准备支持事务和触发器。
但现在的MySQL已经可以支持事务,而且在MySQL的TODO中,对触发器、约束这样的注定会降低速度的功能也列入了日程。
但是,仍然有理由相信,MySQL将有可能一直保持速度的优势。
2、MySQL更流行,流行对于一个商业软件来说,也是一个很重要的指标,流行意味着更多的用户,意味着经受了更多的考验,意味着更好的商业支持、意味着更多、更完善的文档资料。
3、MySQL更适宜在Windows环境下运行。
MySQL作为一个本地的Windows应用程序运行(在WinXP/Win7下,是一个服务),在Windows运行中,MySQL更加的稳定。
4、MySQL使用了线程,在不同线程之间的环境转换和访问公用的存储区域显然要比在不同的进程之间要快得多。
5、MySQL在绝大多数情况下,你不需要为MySQL运行任何清除程序。
6、MySQL在权限系统上更为完善。
MySQL允许你定义一整套的不同的数据级、表级和列级的权限。
对于列级的权限。
MySQL还允许你指定基于主机的权限。
7、计放式的开发与分发。
只要到MySQL的官方网站,或者义他相关的N站,即可下载MySQL的组件。
如果对MySQL的某一个组件不满,则可以将源代码拿来自己修改,或者增添自己想要的功能。
8、非常周到的技术支持。
MySQL的任何版本都包含有内容详尽的参考指南。
如果和MySQL的开发者之间达成协议,就可以从开发者那里得到技术支持。
此外,通过邮件列表也可以随时在网上向MySLQ巳开发组成员提问,通常很快就全得到回答。
9、MySQL的MERGE表提供了一个独特管理多个表的方法。
10、MySQL的myisampack可以对只读表进行压缩,此后仍然可以直接访问该表中的行。
2.1.3S.S.H框架的优点
S.S.H框架是J2EE应用中struts+spring+hibernate三大免费开源框架的结合使用,它可以看成工具,也是中间件。
他是用来提高我们的开发效率,提高我们软件产品的可维护性、可扩展性乃至敏捷性的。
他们里面有很多优秀的设计理念及模式应用。
比如,struts属于MVC框架,关键是要了解MVC的概念及大致原理;而hibernate属于ORM系统,属于持久层的解决方案,同样需要对ORM的概念及原理有一个总体的了解。
而spring属于应用程序框架,其核心是IOC容器以及AOP,Spring中还集成了很多适用东西,比如对JDBC的封装、自己的MVC、对动态语言的简洁访问等。
它由以下3个框架构成:
1.Struts框架
Struts是Apache组织的一个开放源码项目。
Struts是一个比较好的MVC框架,提供了对开发MVC系统的底层支持,它采用的主要技术是Servlet,JSP和Customtaglibrary。
其基本构成如图2.1所示。
图2.1Struts框架概览图
2.Spring框架
Spring的核心是个轻量级(Lightweight)的容器(Container),它是实现IoC(InversionofControl)容器、非侵入性(Nointrusive)的框架,并提供AOP(Aspect-orientedprogramming)概念的实现方式,提供对持久层(Persistence)、事务(Transaction)的支持,提供MVCWeb框架的实现,并对一些常用的企业服务API(ApplicationInterface)提供一致的模型封装,是一个全方位的应用程序框架(Applicationframework),除此之外,对于现存的各种框架(Struts、JSF、Hibernate等),Spring也提供了与它们相整合的方案。
Spring框架由以下7个部分组成
图2.2Spring框架构成
3.Hibernate框架
Hibernate是一个开放源码的ORM持久层框架。
作为优秀的持久层框架实现,Hibernate框架提供了强大、高性能的对象到关系型数据库的持久化服务,开发人员可以使用面向对象的设计进行持久层开发。
简单的说,Hibernate只是一个将持久化类与数据库表相映射的工具,每个持久化类实例均对应于数据库表中的一个数据行而已。
用户只需直接使用面向对象的方法操作此持久化类实例,即可完成对数据库表数据的插入、删除、修改、读取等操作。
图2.3Hibernate框架
2.1.4热点技术
1、简单来说,Widget是指小工具,一系列的小工具通过一个特定的平台(Widget:
JI擎)为用户展示不同的个性化的信息,例如天气Widget、新闻Widget、股票Widget、IP查询Widget等,这些都是可以自由定制的,都依赖于WidgetJI擎。
Widget不但有桌面应用.也有网页服务应用,如13Netvibes等个性化首页。
Widget能够穿透不同的操作系统,当然,前提是Widget:
JI擎能在不同的操作系统里运行。
2、Lucene是一套用于全文检索和搜寻的开源程式库,由Apache软件基金会支持和提供。
Lucene提供了一个简单却强大的应用程式接口,能够做全文索引和搜寻。
在Java开发环境里Lucene是一个成熟的免费开源工具。
就其本身而言,Lucene是目前以及最近几年最受欢迎的免费Java资讯检索程式库。
Lucene的目的是为软件开发人员提供一个简单易用的工具包,以方便的在目标系统中实现全文检索的功能,或者是以此为基础建立起完整的全文检索引擎。
2.1.5系统层次设计
系统很据S.S.H框架的特点,决定使用四层结构,这样做的优点是
(1)可以分层开发,访问数据库与业务逻辑实现能够分开。
(2)提高代码的复用。
图2.4BBS系统的分层结构
2.16技术可行性综述
综上所述,这些成熟的框架和优秀的设计思想,为系统建设提供了技术条件。
计算机等基础设施的更新换代也紧跟潮流的发展,这就为开发系统提供了坚实基础。
2.2系统需求分析
2.2.1系统需要支持的环境
鉴于系统的开发语言和数据库,采用如下的开发环境
运行平台:
Windows7
开发工具:
MyEclipse2013
服务器:
MySQL5.6
开发语言:
Java
硬件实现:
酷睿4G内存720G硬盘
预期成果:
一个可扩展的基于MVC模式的BBS论坛
2.2.2开发环境
(1)JavaSE
包含两个部分组成,它们分别是JDK和JRE,JDK是java程序员开发java程序所需要的部分,JRE是java的运行环境,我们开发要求这两部分都要安装。
(2)MyEclipse
是在JavaEE的Eclipse软件基础上安装了许多插件的集合,MyEclipse的功能非常强大,支持也非常广泛所以说MyEclipse可以非常成功的完成任务。
第3章系统的功能模块和其流程分析
3.1BBS系统的用例描述和功能模块
3.1.1主要功能的组成
对于访问论坛的用户,可分为注册会员和为注册的临时用户,这两种用户有着不同的权限,比如临时用户只能对帖子进行查看,而注册会员除了查看帖子之外,还可以发帖,回复,搜索帖子,并且可以对自己的注册资料进行修改等。
而注册用户中的管理员可以对后台进行管理,如版面管理、组管理、会员管理等。
则系统的用例图如下:
图3.1BBS系统用例图
3.1.2系统的三大功能模块
因为BBS系统是网上交流的系统,根据用户的需要和实际的管理条件,应由用户功能实现,帖子功能实现和后台管理等几个模块所构成。
以下是这几个模块要实现的功能:
1.用户功能实现
(1).用户的登录
(2).用户的注册
(3).用户资料的修改
2.帖子功能实现
(1).帖子的发表
(2).帖子的回复
(3).帖子的搜索
3.后台管理
(1)版面管理
(2)组管理
(3)会员管理
(4)搜索管理
则这些功能模块的的用例图如下:
用户功能模块:
图3.2用户用例图
帖子功能模块:
图3.3帖子用例图
后台管理功能模块:
图3.4后台用例图
3.2各功能模块的流程
本系统是为了提供给广大用户一个网上交流的平台,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 SSH 框架 论坛 设计 实现