基于a三框架的电子相册毕业设计.docx

上传人:b****3 文档编号:27028242 上传时间:2023-06-25 格式:DOCX 页数:53 大小:291.44KB
下载 相关 举报
基于a三框架的电子相册毕业设计.docx_第1页
第1页 / 共53页
基于a三框架的电子相册毕业设计.docx_第2页
第2页 / 共53页
基于a三框架的电子相册毕业设计.docx_第3页
第3页 / 共53页
基于a三框架的电子相册毕业设计.docx_第4页
第4页 / 共53页
基于a三框架的电子相册毕业设计.docx_第5页
第5页 / 共53页
点击查看更多>>
下载资源
资源描述

基于a三框架的电子相册毕业设计.docx

《基于a三框架的电子相册毕业设计.docx》由会员分享,可在线阅读,更多相关《基于a三框架的电子相册毕业设计.docx(53页珍藏版)》请在冰豆网上搜索。

基于a三框架的电子相册毕业设计.docx

基于a三框架的电子相册毕业设计

摘要

随着人们生活水平的逐步提高,旅游照相成了大家必不可少放松项目。

虽然照片最后会存入到自己的电脑里,但是时间一长、照片一多,这些有着勾起回忆的“资料”,就会显得杂乱无章,即不方便欣赏,也不方便管理。

而电子相册具有欣赏、传播方便,界面美观等特点,可以很好的管理所存入的照片,不失为最佳欣赏、保存照片的相册工具。

电子相册系统平台也就应此应运而生。

本系统是一种基于B/S架构的电子相册管理系统,它采用目前最流行的Java语言编写,用到了当今先进的技术如JSP技术、Hibernate、Spring、Struts框架等来实现该系统。

系统分为五大模块、相册列表模块、新建相册模块、修改资料模块、修改密码模块、添加相册分类模块。

注:

前四大模块是根据注册用户的提供的,注册用户登陆后可以进行添加相册,上传,删除照片,修改资料等一系列操作,最后一项是管理员登陆所进行的操作。

而如果是未注册用户只能查看相册中的内容,没有权力进行相应的修改。

关键词:

JAVA;电子相册;三框架;MVC

Abstract

Aspeoplegraduallyincreasethestandardofliving,travelphotographyhasbecomeessentialtorelaxtheprojecteveryone.Whilethephotoswilleventuallybedepositedtoyourcomputer,butovertime,morethanonephoto,whichhasbroughtbackmemoriesofthe"data",willbeverychaotic,thatisinconvenienttoenjoy,nottofacilitatemanagement.Electronicalbumwithappreciation,thespreadofconvenience,theinterfaceappearancecharacteristicssuchasgoodmanagementcanbedepositedinthephotos,afterall,enjoythebest,saveaphotoalbumtool.Electronicphotoalbumwillbetheplatformcameintobeing.

ThesystemisbasedonB/Sstructureoftheelectronicphotoalbummanagementsystem,itusesthemostpopularlanguagesjava,usingtoday'sadvancedtechnologiessuchasjsptechnologies,Hibernate,Spring,Strutsframeworktoachievethesystem.

Systemisdividedintofivemodules,thealbumlistmodule,newalbummodule,modifythemodule,modifythepasswordmodule,addthealbumclassificationmodule.Note:

beforethefourmodulesarebasedontheprovisionofregisteredusers,registereduserscanaddafterlandingalbums,upload,deletephotos,editinformation,suchasaseriesofoperations,thelastoneiscarriedoutbytheadministratorlandingoperation.Andifitisunregistereduserscanonlyviewthecontentofthealbum,doesnothavetheauthoritytoamendaccordingly.

Keywords:

JAVA;ElectronPhotoAlbum;ThreeFrames;MVC

第1章绪论

随着数码摄影时代的到来,不论是专业摄影师建立图片档案或是向他人展示自己的摄影作品,还是家庭生活摄影,都需要电子相册来保管摄影作品。

如同传统的照相簿,电子相册既有展示功能也有存储和管理功能。

电子相册是现在时下最流行的一种网络元素,它可以应该在很多的领域,例如时下最流行的空间及博客就是大量的应该这一技术,而且受到大多数网友的认可及追捧,其以静态照片为素材(获得源方式为扫描仪扫描、数码相机所拍等),配合动感的背景、前景和字幕等视频处理的特殊效果,配上音乐就可制作成电子相册。

制作好的电子相册可以在电脑上,各类影碟机上,以及手机和MP4里都能观看,这是电子相册技术发展到今天的一个新的突破,即不再像传统那样,只能在电脑上或在影碟机上观看了,并且还可以通过手机将自己的个性化MTV发送给远方的亲朋好友们分享。

当然,如果考虑到长期保存的话,制作成电子相册光盘那是最好的选择啦,金碟可保存100多年之久,标准VCD、SVCD、DVD格式,兼容性好,通过影牒机即可与家人、朋友、客户观赏。

若保存在硬盘上,也便于随时调阅、欣赏,永久保存。

1.1系统开发的背景和意义

随着人们生活水平的逐步提高,旅游成了大家必不可少放松项目,每当笔者走到一个美丽的景点,就会忍不住拿起数码相机照上几张留做回忆。

虽然照片最后会存入到自己的电脑里,但是时间一长、照片一多,这些有着勾起回忆的资料,就会显得杂乱无章,即不方便欣赏,也不方便管理。

而电子相册具有欣赏、传播方便,界面美观等特点,可以很好的管理所存入的照片,不失为最佳欣赏、保存照片的相册工具。

另外随着数码相机、手机照相等功能的普及,想必每个人手上都储存了大量的电子相片,但这此照片如果不进行处理,仅仅以一张张图片的形式放置在电脑上,不仅不易观赏,也不方便分类管理,是否有软件能将这些照片整理成一本本的相册呢?

电子相册系统平台就是一款集相册制作、生成、浏览专业软件,有了它的帮助,制用相册再也不需要专业的技术,普通用户也可以在五分钟内制作出精美的电子相册,支持170余种照片显示特技,可以为相片加入文件注释及说明。

1.2国内外发展状况

电子相册是现在时下最流行的一种网络元素,它可以应该在很多的领域,例如时下最流行的空间及博客就是大量的应该这一技术,而且受到大多数网友的认可及追捧,其以静态照片为素材(获得源方式为扫描仪扫描、数码相机所拍等),配合动感的背景、前景和字幕等视频处理的特殊效果,配上音乐就可制作成电子相册。

制作好的电子相册可以在电脑上,各类影碟机上,以及手机和MP4里都能观看,这是电子相册技术发展到今天的一个新的突破,即不再象传统那样,只能在电脑上或在影碟机上观看了。

并且还可以通过手机将自己的个性化MTV发送给远方的亲朋好友们分享。

当然,如果考虑到长期保存的话,制作成电子相册光盘那是最好的选择啦,金碟可保存100多年之久,标准VCD、SVCD、DVD格式,兼容性好,通过影牒机即可与家人、朋友、客户观赏;若保存在硬盘上,也便于随时调阅、欣赏,永久保存。

1.3研究内容

电子相册系统是一种基于B/S架构的管理系统,它采用目前最流行的java语言编写,用到了当今先进的技术如jsp技术、Hibernate、Spring、Struts框架等来实现该系统。

采用MVC框架技术提高了系统的可维护性。

本系统所研究的是从电子相册的管理到相册的生成等一系列的问题,大致分为:

前台包括相册列表、新建相册、修改资料、修改密码、技术支持,后台包括相册管理,

本文共分5章,第1章是绪论,第2章介绍开发本系统所用到的相关技术,第3章是系统的需求分析及结构图,第4章是相册系统的系统实现,第5章是总结。

各章节的研究内容如下:

(1)第1章主要介绍了选题的背景和意义,论述了系统的国内发展状况。

(2)第2章主要介绍了实现电子相册系统所用的软件和系统建设过程中使用的相关技术。

(3)第3章主要是电子相册系统的需求分析。

(4)第4章是系统的编码实现,从三框架的实现,数据库的创建等方面介绍了系统的实现。

(5)第5章主要是此系统的的总结。

第2章程序技术相关知识

2.1JAVA简介

Java是Sun公司开发的编程语言,使用它可以在各式各样不同的机器、不同操作平台的网络开发环境中开发软件。

不论用户使用的是哪一种WWW浏览器、哪一种计算机、哪一种操作系统,只要WWW浏览器上面注明了“支持Java”,就可以看到生动的页面。

Java正在逐步成为Internet应用的主要开发语言。

它彻底改变了应用软件的开发模式,带来了自个人计算机以来又一次技术革命,为迅速发展的信息世界增添了新的活力。

Java是一种语法简介、清晰的语言,它的程序运行需要一个解释器,也就是所谓的“虚拟机”。

虚拟机以某种高速算法执行Java的面相对象语言代码。

从Java2.0开始,Java分为3个版本J2ME(微机版本)、J2SE(标准版本)和J2EE(企业级版本),分别用于支持消费类电子设备、标准PC以及企业级应用的开发,版本之间的区别不仅在于所支持的类库的大小不同,也在于个版本都对应着不同的Java虚拟机。

Java的主要特性是可移植性,安全性,网络移动性,其中网络移动性是Java的最主要的一个特性。

而如果没有安全性,可移植性的支持,就无法实现网络移动性。

Java的网络移动性带来了一次Web革命。

随着Internet的发展,Java技术本身在不断得进步,JDK(JavaDevelopmentKit,Java开发包,Java开发工具)是一个写Java的applet和应用程序的程序开发平台。

它由一个处于操作系统层之上的运行环境还有开发者编译,调试和运行用Java语言写的applet和应用程序所需的工具组成。

2.2JAVAEE平台相关介绍

J2EE,Java2平台企业版(Java2PlatformEnterpriseEdition),是Sun公司为企业级应用推出的标准平台。

Java平台共分为三个主要版本JavaEE、JavaSE和JavaME。

Sun公司在1998年发表JDK1.2版本的时候,使用了新名称Java2Platform,即“Java2平台”,修改后的JDK称为Java2PlatformSoftwareDevelpingKit,即J2SDK。

并分为标准版(StandardEdition,J2SE),企业版(EnterpriseEdition,J2EE),微型版(MicroEdition,J2ME)。

J2EE便由此诞生。

2005年6月,JavaOne大会召开,SUN公司公开JavaSE6。

此时,Java的各种版本已经更名以取消其中的数字“2”:

J2EE更名为JavaEE,J2SE更名为JavaSE,J2ME更名为JavaME。

随着Java技术的发展,J2EE平台得到了迅速的发展,成为Java语言中最活跃的体系之一。

现如今,J2EE不仅仅是指一种标准平台(Platform),它更多的表达着一种软件架构和设计思想。

从整体上讲,J2EE是使用Java技术开发企业级应用的一种事实上的工业标准(Sun公司出于其自身利益的考虑,至今没有将Java及其相关技术纳入标准化组织的体系),它是Java技术不断适应和促进企业级应用过程中的产物。

目前,Java平台有三个版本:

适用于小型设备和智能卡的J2ME(Java 2 Platform Micro Edition)、适用于桌面系统的J2SE和适用于企业级应用的J2EE。

Sun推出J2EE的目的是为了克服传统Client/Server模式的弊病,迎合Browser/Server架构的潮流,为应用Java技术开发服务器端应用提供一个平台独立的、可移植的、多用户的、安全的和基于标准的企业级平台,从而简化企业应用的开发、管理和部署。

J2EE是一个标准,而不是一个现成的产品。

各个平台开发商按照J2EE规范分别开发了不同的J2EE应用服务器,J2EE应用服务器是J2EE企业级应用的部署平台。

由于它们都遵循了J2EE规范,因此,使用J2EE技术开发的企业级应用可以部署在各种J2EE应用服务器上。

2.3所采用数据库及原因

本系统采用的是目前比较流行的小型数据库系统MYSQL。

MySQL是瑞典的MySQLAB公司开发的一个可用于各种流行操作系统平台的关系数据库系统,它具有客户机/服务器体系结构的分布式数据库管理系统。

MySQL完全适用于网络,用其建造的数据库可在因特网上的任何地方访问,因此,可以和网络上任何地方的任何人共享数据库。

MySQL具有功能强、使用简单、管理方便、运行速度快、可靠性高、安全保密性强等优点。

MySQL用C和C++编写,它可以工作在许多平台(Unix,Linux,Windows)上,提供了针对不同编程语言(C,C++,JAVA等)的API函数;使用核心线程实现多线程,能够很好的支持多CPU;提供事务和非事务的存储机制;快速的基于线程的内存分配系统;MySQL采用双重许可,用户可以在GNU许可条款下以免费软件或开放源码软件的方式使用MySQL软件,也可以从MySQLAB公司获得正式的商业许可。

除了以上特点,MySQL还有一个最大的特点,那就是在诸如UNIX这样的操作系统上,它是免费的,可从因特网上下载其服务器和客户机软件。

并且还能从因特网上得到许多与其相配的第三方软件或工具。

而在Windows系统上,其客户机程序和客户机程序库是免费的。

有些软件开发人员可能会认为MYSQL数据库属于那个小型的数据库,但是在我看来不同的数据库要根据你不同的需要还进行选择的,在我看来时下小的程序例如电子相册系统它不会产生大量的数据,只需要一些数据的查询和相应的插入没有太复杂的表与表这间的结构,而且对于小系统来说性能是相当重要的。

相比MYSQL来说ORACLE数据确实可以看作是相当大的而且功能相当全的数据库,但是同是ORACLE数据库对于系统的要求也是相当的苛刻。

它要求系统要有较高的性能才能带得起整个程序的发布。

MySQL包含有下列工具:

(1)SQL服务器。

这是MySQL的引擎,它提供对数据库的访问。

(2)访问服务器的客户机程序。

包括一个允许直接录入查询并查看结果的交互式程序,以及几个帮助操纵站点的管理程序和实用程序。

其中有一个实用程序允许控制服务器。

其他的实用程序导入或导出数据,检查访问许可等。

(3)帮助用户编写自己的程序的客户机库。

MySQL提供众多的API(C,C++,Eiffel,Java,Perl,PHP,Python,Ruby,andTcl)

(4)MySQL除了提供内嵌软件外,它还被许多很有才能的人使用。

这些人喜欢编写软件以提高其产品效率,或愿意将自己编写的软件提供给他人使用。

因此,使用MySQL能得到各种各样的第三方工具,这些工具令MySQL使用更方便,或者扩展了MySQL,使其进入诸如Web站点开发这样的领域。

2.4MVC设计模式的原理

在这里简要的介绍一下关于上一章中反复提到的MVC结构,其实MVC可以说是模型层--视图层—控制层的简称,即Model-View-Controller的简称。

它强制性地把应用程序的输入、处理和输出分开,大大提高了代码的重用性。

如图2-1所示。

图2-1MVC示图

2.4.1MVC设计思想

MVC英文即Model-View-Controller,即把一个应用的输入、处理、输出流程按照Model、View、Controller的方式进行分离,这样一个应用被分成三个层——模型层、视图层、控制层。

  视图(View)代表用户交互界面,对于Web应用来说,可以概括为HTML界面,但有可能为XHTML、XML和Applet。

随着应用的复杂性和规模性,界面的处理也变得具有挑战性。

一个应用可能有很多不同的视图,MVC设计模式对于视图的处理仅限于视图上数据的采集和处理,以及用户的请求,而不包括在视图上的业务流程的处理。

业务流程的处理交予模型(Model)处理。

比如一个订单的视图只接受来自模型的数据并显示给用户,以及将用户界面的输入数据和请求传递给控制和模型。

模型(Model):

就是业务流程/状态的处理以及业务规则的制定。

业务流程的处理过程对其它层来说是黑箱操作,模型接受视图请求的数据,并返回最终的处理结果。

业务模型的设计可以说是MVC最主要的核心。

目前流行的EJB模型就是一个典型的应用例子,它从应用技术实现的角度对模型做了进一步的划分,以便充分利用现有的组件,但它不能作为应用设计模型的框架。

它仅仅告诉你按这种模型设计就可以利用某些技术组件,从而减少了技术上的困难。

对一个开发者来说,就可以专注于业务模型的设计。

MVC设计模式告诉我们,把应用的模型按一定的规则抽取出来,抽取的层次很重要,这也是判断开发人员是否优秀的设计依据。

抽象与具体不能隔得太远,也不能太近。

MVC并没有提供模型的设计方法,而只告诉你应该组织管理这些模型,以便于模型的重构和提高重用性。

我们可以用对象编程来做比喻,MVC定义了一个顶级类,告诉它的子类你只能做这些,但没法限制你能做这些。

这点对编程的开发人员非常重要。

业务模型还有一个很重要的模型那就是数据模型。

数据模型主要指实体对象的数据保存(持续化)。

比如将一张订单保存到数据库,从数据库获取订单。

我们可以将这个模型单独列出,所有有关数据库的操作只限制在该模型中。

  控制(Controller)可以理解为从用户接收请求,将模型与视图匹配在一起,共同完成用户的请求。

划分控制层的作用也很明显,它清楚地告诉你,它就是一个分发器,选择什么样的模型,选择什么样的视图,可以完成什么样的用户请求。

控制层并不做任何的数据处理。

例如,用户点击一个连接,控制层接受请求后,并不处理业务信息,它只把用户的信息传递给模型,告诉模型做什么,选择符合要求的视图返回给用户。

因此,一个模型可能对应多个视图,一个视图可能对应多个模型。

2.4.2MVC的优点

大部分用过程语言比如ASP、PHP开发出来的Web应用,初始的开发模板就是混合层的数据编程。

例如,直接向数据库发送请求并用HTML显示,开发速度往往比较快,但由于数据页面的分离不是很直接,因而很难体现出业务模型的样子或者模型的重用性。

产品设计弹性力度很小,很难满足用户的变化性需求。

MVC要求对应用分层,虽然要花费额外的工作,但产品的结构清晰,产品的应用通过模型可以得到更好地体现。

  首先,最重要的是应该有多个视图对应一个模型的能力。

在目前用户需求的快速变化下,可能有多种方式访问应用的要求。

例如,订单模型可能有本系统的订单,也有网上订单,或者其他系统的订单,但对于订单的处理都是一样,也就是说订单的处理是一致的。

按MVC设计模式,一个订单模型以及多个视图即可解决问题。

这样减少了代码的复制,即减少了代码的维护量,一旦模型发生改变,也易于维护。

2.5三框架相关知识简介

本系统是基于J2EE的三种框架的集成性开发,其中包括STRUTS框架SPRING框架HIBERNATE框架等,它们在整个模块的开发过程中起着不同的作用。

2.5.1STRUTS框架

其中STRUTS框架主要是MVC结构,而MVC把交互系统的组成分解成模型、视图、控制器三部分。

模型(Model)是软件所处理问题逻辑在独立于外在显示内容和形式情况下的内在抽象,封装了问题的核心数据、逻辑和功能的计算关系,独立于具体的界面表达和I/O操作。

视图(View)把表示模型数据及逻辑关系和状态的信息及特定形式展示给用户。

它从模型获得显示信息,对于相同的信息可以有多个不同的显示形式或视图。

控制器(Controller)是处理用户与软件的交互操作的,其职责是控制提供模型中任何变化的传播,确保用户界面于模型间的对应联系;它接受用户的输入,将输入反馈给模型,进而实现对模型的计算控制,是使模型和视图协调工作的部件。

通常一个视图对应一个控制器。

模型、视图与控制器的分离,使得一个模型可以具有多个显示视图。

如果用户通过某个视图的控制器改变了模型的数据,所有其它依赖于这些数据的视图都应反映到这些变化。

因此,无论何时发生了何种数据变化,控制器都会将变化通知所有的视图,导致显示的更新。

这实际上是一种模型的变化-传播机制。

2.5.2HIBERNATE框架

HIBERNATE框架是一个数据持久层框架,是一种实现对象和关系之间映射(O/RMapping)的工具,它对JDBC进行了轻量级的对象封装,使程序员可以使用对象编程思想来操作数据库。

它不仅提供了从Java类到数据表的映射,也提供了数据查询和恢复机制。

相对于使用JDBC和SQL来操作数据库,使用Hibernate能大大的提高实现的效率。

Hibernate框架用配置文件的形式来定义Java对象和数据表之间的映射关系,同时在更深的层面将数据表之间的关系解释为Java对象之间的继承及包含等关系。

通过使用HQL语句将复杂的关系算法用对象的方式描述,在很大程度上简化了对数据的查询,加快了开发的效率。

在Hibernate中有一个简单而直观的API,用于对数据库所表示的对象执行查询。

要创建或修改这些对象,只需在程序中与它们进行交互,然后告诉Hibernate保存即可。

这样,大量封装持久化操作的业务逻辑不再需要编写烦琐的JDBC语句,从而使数据持久层得到了极大的简化。

2.5.3SPRING框架

而Spring是一个开源框架主要有两大特性包括:

依赖注入(IOC)和切面(AOP)在我的这个设计中基本上只体现了其中的一部分也就是IOC依赖注入,所谓的依赖注入就是Spring通过一种称作控制反转(IOC)的技术促进了松耦合。

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

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

控制反转模式(也称作依赖性介入)的基本概念是:

不创建对象,但是描述创建它们的方式。

在代码中不直接与对象和服务连接,但在配置文件中描述哪一个组件需要哪一项服务。

容器(在Spring框架中是IOC容器)负责将这些联系在一起。

在典型的IOC场景中,容器创建了所有对象,并设置必要的属性将它们连接在一起,决定什么时间调用方法。

下表列出了IOC的一个实现模式。

2.6JSP技术

随着Web应用的飞速发展,传统的静态HTML语言已经越来越不适应需要,由此导致了人们在传统的静态HTML上增添新的功能,这一切功能最终导致了动态HTML的产生,Web已经从一个大部分显示静态信息的网络演化成能够进行股票交易和购书操作等的一种基础设施网络。

静态HTML对于显示静态内容是不错的选择,新的挑战在于创建交互的基于Web的应用程序,用户在浏览信息的同时也需要向服务器反馈一些信息,在这些程序中,页面的内容是基于用户的请求或系统的状态,而不是预先定义的文字。

某些Web服务器供应商已经尝试通过为他们的服务器提供“插件”和API来简化Web应用程序的开发难度。

但这些解决方案是与特定的Web服务器相关的,例如,微软的ASP技术使

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

当前位置:首页 > 外语学习 > 韩语学习

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

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