网络相册管理系统的开发毕业论文.docx
- 文档编号:2090671
- 上传时间:2022-10-26
- 格式:DOCX
- 页数:67
- 大小:1.17MB
网络相册管理系统的开发毕业论文.docx
《网络相册管理系统的开发毕业论文.docx》由会员分享,可在线阅读,更多相关《网络相册管理系统的开发毕业论文.docx(67页珍藏版)》请在冰豆网上搜索。
网络相册管理系统的开发毕业论文
网络相册管理系统的开发毕业论文
1引言
相册在很早以前就有了,但是原来的相册是以纸质照片的形式的存在的,它使用人工方式进行管理,工作量大。
而且相册还存在不易保管,不方便携带,容易丢失,翻看不方便,占用空间等等问题。
后来随着时代的发展,科技的进步,摄影技术的发展,旅游业的进步,照片数量急速增加,使用传统的方式来管理照片显然力不从心,而个人电脑的发展,照片数码化,加速了电子相册的产生与进步,电子相册解决了传统相册不易保管,不方便携带,容易丢失,翻看不方便,占用空间等等问题。
而由于网络技术的发展,网络已经渐渐的大众化。
在网络冲印也已实现的今天[1],人们对于电子相册的需求也不再局限于保管相片那么简单。
人们更希望把自己的照片同好友分享,希望照片更方便于携带,方便于搜索和查阅。
而近年来,随着各式网络社区的出现,web2.0概念的普及,为了提高的知名度,用户的黏度,迫使社区类不断改进扩充自己的功能。
而出于用户对电子相册分享的需要,使得网络相册能和网络社区极好的结合,也使其成为网络社区中一个不可或缺的组成部分[2]。
甚至还有一些社区模式的直接把网络相册作为其唯一的主体功能。
其中比较国外比较著名的有Picasa、Flickr等,而国比较著名的有巴巴变、又拍等[3]。
有调查表明,2006年美国网络相册用户数量达到6500万,预计在未来几年网络相册用户数会继续保持平稳增长。
在2005年网络相册用户数占美国网民总数的29%。
2006年中国活跃网络相册账号约2500万个,预计未来四年会保持较高速度增长,年新增活跃账号在1000万左右[4]。
可见,网络相册作为一项基础互联网应用,正在随着网络环境的日益成熟以及用户需求的持续增长而得到快速发展。
而以交互分享为核心的网络相册2.0理念也成为产品功能改善和用户体验提升的重要标志。
而本课题就是在这样的前提下提出的,由于网络相册用户的大量增加,制作一款以web2.0概念为出发点,以良好的用户体验为基础,为用户提供一个以存储、分享照片为核心,结合了社区模式的平台,而且又兼具一些与众不同的功能的网络相册管理系统,来满足用户的需要,就显得十分必要,也十分具有现实意义和价值了。
2相关技术简介
本系统是基于J2EE平台开发的,实现过程中Hibernate、Spring、Struts、DWR框架和Applet技术,本章将简要介绍这些技术,框架的特点,以及其在本系统环节中所起的作用。
2.1J2EE开发平台概述
J2EE(Java2Platform,EnterpriseEdition)是一种用来开发分布式企业软件应用系统的平台[5],其核心是一组技术规与指南,其中所包含的各类组件、服务架构及技术层次,均有共通的标准及规格,让各种依循J2EE架构的不同平台之间,存在良好的兼容性,解决过去企业后端使用的信息产品彼此之间无法兼容,导致企业部或外部难以互通的窘境。
它提供了一个多层次的分布式应用模型和一系列开发技术规。
多层次分布式应用模型是指根据功能把应用逻辑分成多个层次,每个层次支持相应的服务器和组件,组件在分布式服务器的组件容器中运行,如Servlet组件在Servlet容器上运行,EJB(EnterpriseJavaBeans)组件在EJB容器上运行,容器间通过相关的协议进行通讯,实现组件间的相互调用。
遵从这个规的开发者将得到行业的广泛支持,使企业级应用的开发变得简单、快速。
2.1Hibernate框架概述
2.2.1什么是ORM
ORM(Object/RelationMapping,对象-关系映射)是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术,可以减少重复的数据访问层的代码,减少系统的耦合,便于维护。
ORM是随着面向对象的软件开发方法发展而产生的。
面向对象的开发方法中对象和关系数据是业务实体的两种表现形式,业务实体在存中表现为对象,在数据库中表现为关系数据。
ORM系统一般以中间件的形式存在,主要实现程序对象到关系数据库数据的映射。
2.2.2Hibernate框架介绍
Hibernate框架是一个数据持久层框架,是一种实现ORM的工具,它对JDBC(JavaDataBaseConnectivity,Java数据库连接)进行了轻量级的对象封装,使程序员可以使用对象编程思想来操作数据库。
Hibernate框架用XML(ExtensibleMarkupLanguage,可扩展标记语言)配置文件的形式来定义Java对象和数据表之间的映射关系,透明的提供对象与关系数据库的映射,以统一的接口方式支持多种数据库。
Hibernate对JDBC的优秀封装,通过使用HQL(HibernateQueryLanguage,Hibernate查询语言)完成Java对象和关系型数据库之间的转换[6],在很大程度上简化了对数据的查询,加快了开发的效率。
而且Hibernate中提供了一个简单而直观的API(ApplicationProgrammingInterface,应用程序编程接口),用于对数据库所表示的对象执行查询。
避免了访问数据库时大量代码的出现。
使得开发人员可以从通常的数据持久化编程事务解放出来。
虽然Hibernate有诸多好处,但是Hibernate的劣势也是很明显的,只提供模型层的支持,但是却无法实现业务流程控制,这也使得系统不能单一的基于Hibernate框架开发。
故而,系统选择Hibernate这个成熟的ORM框架进行持久层开发,实现对象与数据库关系之间的交互,而在其他层次使用其他框架与之整合。
2.3Spring框架概述
2.3.1IoC和AOP
IoC(InversionofControl,控制反转)又称为DI(DependenceInjection,依赖注入)。
IoC的基本概念是:
不创建对象,但是描述创建它们的方式。
在代码中不直接与对象和服务连接,但在配置文件中描述哪一个组件需要哪一项服务。
容器负责将这些联系在一起。
其原理是基于OO设计原则的TheHollywoodPrinciple:
Don'tcallus,we'llcallyou(好莱坞理论:
别找我,我会来找你的)。
也就是说,所有的组件都是被动的,所有的组件初始化和调用都由容器负责。
组件处在一个容器当中,由容器负责管理。
AOP(AspectOrientedProgramming,面向方面的编程),可以说是OOP(Object-OrientedPrograming,面向对象编程)的补充和完善[7]。
OOP允许你定义从上到下的关系,但并不适合定义从左到右的关系。
而AOP技术则恰恰相反,它利用一种称为“横切”的技术,剖解装的对象部,并将那些影响了多个类的公共行为封装到一个可重用模块。
简单地说,就是将那些与业务无关,却为业务模块所共同调用的逻辑或责任封装起来,便于减少系统的重复代码,降低模块间的耦合度,并有利于未来的可操作性和可维护性。
AOP把软件系统分为两个部分:
核心关注点和横切关注点。
业务处理的主要流程是核心关注点,与之关系不大的部分是横切关注点。
横切关注点的一个特点是,他们经常发生在核心关注点的多处,而各处都基本相似。
AOP的作用在于分离系统中的各种关注点,将核心关注点和横切关注点分离开来。
正如Avanade公司的高级方案构架师AdamMagee所说,AOP的核心思想就是“将应用程序中的商业逻辑同对其提供支持的通用服务进行分离。
”
2.3.2Spring框架介绍
Spring是一个开源框架,它由RodJohnson创建。
它是为了解决企业应用开发的复杂性而创建的。
Spring是一个轻量级的IoC和AOP的容器框架[8]。
Spring的核心就是它的轻量级IoC容器的功能。
通过Spring提供的IoC容器,可以将对象之间的依赖关系交由Spring进行控制,避免硬编码所造成的过度耦合。
Spring使开发人员不必再为属性文件解析等一些很底层的需求编写代码。
Spring提供了面向切面编程的丰富支持,把应用的业务逻辑与系统级服务(例如审计和事务管理)进行分离,使得应用对象只需要实现它们应该做的——完成业务逻辑——仅此而已。
它们并不负责(甚至是意识)其它的系统级关注点,例如日志或事务支持。
虽然Spring是一个优秀的松散耦合框架,而且Spring提供了对各种优秀框架的良好支持,但是在MVC(Model-View-Controller,模型—视图—控制器)模式上,却并未被广泛使用,参考文献也较少,不利于开发。
故而,系统利用Spring良好的AOP和对Hibernate的支持,负责Hibernate的事务代理;利用对IoC支持,为各层提供依赖注入,松散耦合。
而把MVC功能交给其他框架,已达到更快的开发效率和更高的软件质量。
2.4Struts框架概述
2.4.1MVC模式
MVC设计模式把一个应用流程划分成模型层、视图层、控制层这么三个层。
每个层次执行各自的职责。
视图(View)层:
该层是与用户交互的界面,仅负责视图上数据的采集和处理,以及接受用户的请求,而不包括在视图上的业务流程的处理。
业务流程的处理交予模型(Model)处理。
模型(Model)层:
该层负责业务流程/状态的处理以及业务规则的制定。
业务模型的设计可以说是MVC最主要的核心。
模型接受视图请求的数据,并返回最终的处理结果。
控制器(Controller):
该层负责从用户接收请求,将模型与视图匹配在一起,共同完成用户的请求。
但是控制层并不做任何的数据处理。
2.4.2Struts框架介绍
Struts是Apache软件组织负责开发的一个开源框架[9],实质上就是在JSP的基础上实现的一个MVC框架。
模型由实现业务逻辑的JavaBean或者EJB组件构成,从而与界面相独立。
控制器由ActionServlet和Action来实现,用于处理用户与软件的交互操作,控制模型和视图之间的数据传递,更新模型状态。
视图由一组JSP文件构成,视图还用于捕获用户所传递的数据,通过控制器传递给模型。
Struts是一款成熟的面向MVC建模的框架,可以把显示层同业务逻辑完全独立开来,使业务逻辑开发人员同显示层开发人员可以并行开发,加快开发速度。
然而Struts框架的劣势也是极为明显的,由于没有对业务逻辑层提供很好的支持,如数据库的事务操作等等。
所以单独使用Struts情况下,使得对于业务逻辑的开发较为复杂。
结合Struts的优缺点,系统提出了利用Struts成熟的MVC架构提供业务的流程控制的方案。
2.5DWR框架概述
2.5.1Ajax技术
在传统的Web应用通过提交表单时就向Web服务器发送一个请求。
服务器接收并处理表单,然后送回一个新的网页,由于前后两个页面中的大部分HTML码往往是相同的,而且应用的回应时间取决于服务器的回应时间,这就会使用户得到回应的速度较慢。
与此不同,Ajax(AsynchronousJavaScriptandXML,异步JavaScript和XML),仅向服务器发送并取回必需的数据,并在客户端采用JavaScript处理来自服务器的回应。
这使得服务器和浏览器之间交换的数据大量减少,而且很多的处理工作可以在发出请求的客户端机器上完成,所以Web服务器的处理时间也减少了,这样就使用户得到回应的时间大大缩短,提高了用户体验。
2.5.2DWR框架简介
DWR(DirectWebRemoting)是J2EE领域的Ajax框架,通过DWR的帮助,可以帮助开发者更简单地开发出Ajax应用[10]。
DWR采取了一个类似Ajax的新方法来动态生成基于Java类的JavaScript代码。
这样WEB开发人员就可以在JavaScript里使用Java代码;但是Java代码运行在Web服务器端而且可以自由访问WEB服务器的资源。
出于安全的理由,Web
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 网络相册 管理 系统 开发 毕业论文