网络相册管理系统的开发毕业论文
网络相册管理系统的开发毕业论文
目录
1  引言 (1)
2  相关技术简介 (2)
2.1  J2EE开发平台概述 (2)
2.1  Hibernate框架概述 (2)纯的拼音
2.3  Spring框架概述 (3)
2.4  Struts框架概述 (4)
2.5  DWR框架概述 (5)
2.6  Applet技术概述 (5)
回顾2022一句话金句3  系统需求及概要设计 (7)
3.1  系统需求概要 (7)
3.2  系统模块细分 (7)
3.3  系统架构设计 (14)
3.4  系统数据库设计 (16)
4  系统详细设计及实现 (20)
4.1  系统主要类及功能 (20)
4.2  多服务器架构的关键实现 (27)
4.3  在线图片编辑的设计实现 (31)
4.4  框架技术的整合实现 (37)
5  系统实现效果 (43)
5.1  系统公共模块实现效果 (43)
5.2  相册及相片模块实现效果 (45)
5.3  好友管理模块实现效果 (50)
5.4  站信及留言模块实现效果 (51)
什么品牌的奶粉好
6  系统测试报告 (53)
6.1  测试平台配置 (53)
6.2  测试结果及缺陷分析 (54)
6.3  测试结论 (57)
7  结论 (58)
致谢 (59)
参考文献 (60)
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.1  J2EE开发平台概述
J2EE(Java 2 Platform,Enterprise Edition)是一种用来开发分布式企业软件应用系统的平台[5],其
核心是一组技术规与指南,其中所包含的各类组件、服务架构及技术层次,均有共通的标准及规格,让各种依循J2EE架构的不同平台之间,存在良好的兼容性,解决过去企业后端使用的信息产品彼此之间无法兼容,导致企业部或外部难以互通的窘境。
它提供了一个多层次的分布式应用模型和一系列开发技术规。多层次分布式应用模型是指根据功能把应用逻辑分成多个层次,每个层次支持相应的服务器和组件,组件在分布式服务器的组件容器中运行,如Servlet组件在Servlet容器上运行,EJB(Enterprise Java Beans)组件在EJB容器上运行,容器间通过相关的协议进行通讯,实现组件间的相互调用。遵从这个规的开发者将得到行业的广泛支持,使企业级应用的开发变得简单、快速。
2.1  Hibernate框架概述
2.2.1  什么是ORM
ORM(Object/Relation Mapping,对象-关系映射)是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术,可以减少重复的数据访问层的代码,减少系统的耦合,便于维护。ORM是随着面向对象的软件开发方法发展而产生的。面向对象的开发方法中对象和关系数据是业务实体的两种表现形式,业务实体在存中表现为对象,在数据库中表现为关系数据。ORM系统一般以中间件的形式存在,主要实现程序对象到关系数据库数据的映射。
2.2.2  Hibernate框架介绍
Hibernate框架是一个数据持久层框架,是一种实现ORM的工具,它对JDBC (Java Data Base Connectivity,Java数据库连接)进行了轻量级的对象封装,使程序员可以使用对象编程思想来操作数据库。
Hibernate框架用XML(Extensible Markup Language, 可扩展标记语言)配置文件的形式来定义Java对象和数据表之间的映射关系,透明的提供对象与关系数据库的映射,以统一的接口方式支持多种数据库。Hibernate对JDBC的优秀封装,通过使用HQL(Hibernate Query Language,Hibernate查询语言)完成Java
对象和关系型数据库之间的转换[6],在很大程度上简化了对数据的查询,加快了开发的效率。而且Hibernate中提供了一个简单而直观的API(Application Programming Interface,应用程序编程接口),用于对数据库所表示的对象执行查询。避免了访问数据库时大量代码的出现。使得开发人员可以从通常的数据持久化编程事务解放出来。
虽然Hibernate有诸多好处,但是Hibernate的劣势也是很明显的,只提供模型层的支持,但是却无法实现业务流程控制,这也使得系统不能单一的基于Hibernate框架开发。故而,系统选择Hibernate这个成熟的ORM框架进行持久层开发,实现对象与数据库关系之间的交互,而在其他层次使用其他框架
与之整合。
2.3  Spring框架概述
2.3.1  IoC和AOP
IoC(Inversion of Control,控制反转)又称为DI(Dependence Injection,依赖注入)。IoC的基本概念是:不创建对象,但是描述创建它们的方式。在代码中不直接与对象和服务连接,但在配置文件中描述哪一个组件需要哪一项服务。容器负责将这些联系在一起。其原理是基于OO设计原则的The Hollywood Principle:Don't call us, we'll call you(好莱坞理论:别我,我会来你的)。也就是说,所有的组件都是被动的,所有的组件初始化和调用都由容器负责。组件处在一个容器当中,由容器负责管理。
AOP(Aspect Oriented Programming,面向方面的编程),可以说是OOP (Object-Oriented Programing,面向对象编程)的补充和完善[7]。OOP允许你定义从上到下的关系,但并不适合定义从左到右的关系。而AOP技术则恰恰相反,它利用一种称为“横切”的技术,剖解装的对象部,并将那些影响了多个类的公共行为封装到一个可重用模块。简单地说,就是将那些与业务无关,却为业务模块所共同调用的逻辑或责任封装起来,便于减少系统的重复代码,降低模块间的耦合度,并有利于未来的可操作性和可维护性。
AOP把软件系统分为两个部分:核心关注点和横切关注点。业务处理的主要流程是核心关注点,与之关系不大的部分是横切关注点。横切关注点的一个特点是,他们经常发生在核心关注点的多处,而各处都基本相似。AOP 的作用在于分离系统中的各种关注点,将核心关注点和横切关注点分离开来。正如Avanade公司的高级方案构架师Adam Magee所说,AOP的核心思想就是“将应用程序中的商业逻辑同对其提供支持的通用服务进行分离。”
2.3.2  Spring框架介绍
Spring是一个开源框架,它由Rod Johnson创建。它是为了解决企业应用开发的复杂性而创建的。Spring是一个轻量级的IoC和AOP的容器框架[8]。
Spring的核心就是它的轻量级IoC容器的功能。通过Spring提供的IoC容器,
可以将对象之间的依赖关系交由Spring进行控制,避免硬编码所造成的过度耦合。Spring使开发人员不必再为属性文件解析等一些很底层的需求编写代码。
Spring提供了面向切面编程的丰富支持,把应用的业务逻辑与系统级服务(例如审计和事务管理)进行分离,使得应用对象只需要实现它们应该做的——完成业务逻辑——仅此而已。它们并不负责(甚至是意识)其它的系统级关注点,例如日志或事务支持。
虽然Spring是一个优秀的松散耦合框架,而且Spring提供了对各种优秀框架的良好支持,但是在MVC(Model-View-Controller,模型—视图—控制器)模式上,却并未被广泛使用,参考文献也较少,不利于开发。故而,系统利用Spring 良好的AOP和对Hibernate的支持,负责Hibernate的事务代理;利用对IoC支持,为各层提供依赖注入,松散耦合。而把MVC功能交给其他框架,已达到更快的开发效率和更高的软件质量。
2.4  Struts框架概述
插头2.4.1  MVC模式
MVC设计模式把一个应用流程划分成模型层、视图层、控制层这么三个层。每个层次执行各自的职责。
视图(View)层:该层是与用户交互的界面,仅负责视图上数据的采集和处理,以及接受用户的请求,而不包括在视图上的业务流程的处理。业务流程的处理交予模型(Model)处理。
模型(Model)层:该层负责业务流程/状态的处理以及业务规则的制定。业务模型的设计可以说是MVC最主要的核心。模型接受视图请求的数据,并返回最终的处理结果。
控制器(Controller):该层负责从用户接收请求,将模型与视图匹配在一起,共同完成用户的请求。但
是控制层并不做任何的数据处理。
2.4.2  Struts框架介绍
Struts是Apache软件组织负责开发的一个开源框架[9],实质上就是在JSP的基础上实现的一个MVC框架。模型由实现业务逻辑的Java Bean或者EJB组件构成,从而与界面相独立。控制器由ActionServlet和Action来实现,用于处理用户与软件的交互操作,控制模型和视图之间的数据传递,更新模型状态。视图由一组JSP文件构成,视图还用于捕获用户所传递的数据,通过控制器传递给模型。
银行元旦放假吗Struts是一款成熟的面向MVC建模的框架,可以把显示层同业务逻辑完全独立开来,使业务逻辑开发人员同显示层开发人员可以并行开发,加快开发速度。然而Struts框架的劣势也是极为明显的,由于没有对业务逻辑层提供很好的支持,如数据库的事务操作等等。所以单独使用Struts情况下,使得对于业务逻辑的开发较为复杂。结合Struts的优缺点,系统提出了利用Struts成熟的MVC架构提

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。