基于j2ee的在线电子相册系统资料.docx
- 文档编号:10322270
- 上传时间:2023-02-10
- 格式:DOCX
- 页数:64
- 大小:383.60KB
基于j2ee的在线电子相册系统资料.docx
《基于j2ee的在线电子相册系统资料.docx》由会员分享,可在线阅读,更多相关《基于j2ee的在线电子相册系统资料.docx(64页珍藏版)》请在冰豆网上搜索。
基于j2ee的在线电子相册系统资料
硕士学位论文
学位论文版权使用授权书
本人完全了解同济大学关于收集、保存、使用学位论文的规定,同意如下各项内容:
按照学校要求提交学位论文的印刷本和电子版本;学校有权保存学位论文的印刷本和电子版,并采用影印、缩印、扫描、数字化或其它手段保存论文;学校有权提供目录检索以及提供本学位论文全文或者部分的阅览服务;学校有权按有关规定向国家有关部门或者机构送交论文的复印件和电子版;在不以赢利为目的的前提下,学校可以适当复制论文的部分或全部内容用于学术活动。
学位论文作者签名:
年月日
同济大学学位论文原创性声明
本人郑重声明:
所呈交的学位论文,是本人在导师指导下,进行研究工作所取得的成果。
除文中已经注明引用的内容外,本学位论文的研究成果不包含任何他人创作的、已公开发表或者没有公开发表的作品的内容。
对本论文所涉及的研究工作做出贡献的其他个人和集体,均已在文中以明确方式标明。
本学位论文原创性声明的法律责任由本人承担。
学位论文作者签名:
年月日
摘要
随着人们生活水平的逐步提高,数码相机、手机照相等功能的普及,拍照摄影成了及时记录生活的每一个精彩瞬间,必不可少的一项活动。
不论是旅游纪念,还是日常生活记录,拍照的使用无处不在。
数码相片能够保存在电脑中,方便人们随时随地进行浏览。
但是随着时间推移,照片数量的增加,照片的保存就会显得杂乱无章,即不方便欣赏,也不方便管理,可见,仅仅以一张张图片的形式放置在电脑上的方式并不可取。
在这种背景下,在线电子相册系统应运而生。
它充分结合了网络技术和计算机技术。
它实现了在线管理,浏览自己的相册中的照片和相片多人共享等功能。
在设计和开发电子相册系统的过程中,我们采用了标准的UML面向对象分析方法进行了系统分析和设计,并将上述技术在系统中加以实现。
这些技术很好地改善了基于Web的电子相册系统的可用性及可扩展性,方便了系统后期的维护与升级。
因此,本课题的研究对于构建高可靠性、可扩展性和可重用性的Web应用具有一定的参考价值。
最后,关于进一步工作的方向进行了简要的讨论。
关键词:
电子相册,电子商务,Hibernate,Struts,Spring
ABSTRACT
Withtheimprovementoflivingstandardsandthe photographyfunctionofdigitalcamerasandmobilephones,takingpicturesbecameanactivityoftimelyphotographicrecordingeverymomentsoflifeandessentialevents. Takingpicturesexistseverywherewhetheritisfortravellingoritisfordailylife. Digitalphotoscanbestoredincomputers,itiseasyforpeopletobrowsethemanytimeoranywhere. Butastimegoeson,withtheincreaseofthenumberofphotos,photopreservationwillbeverychaotic,whichisinconvenienttoenjoyandnoteasytofacilitatethemanagement.Socansee,onlytobeplacedintheformofapicturethewaythecomputerisnotdesirable.
Inthiscontext,onlinephotoalbumsystemcameintobeing. Itiscombinedwithnetworktechnologyandcomputertechnology. Itenablesonlinemanagementandbrowseyourphotoalbumsandphotosharingfeaturessuchasmultiplayer.
IntheprocessofdevelopingtheOnlineElectronicAlbumSystem,thesystemisanalyzedanddesignedwiththemethodofthestandardUML.Andthetechnologymentionedabovehavebeenimplementedinthesystem.ThetechnologyhighlyimprovesavailabilityandscalabilityofElectronicAlbumSystembasedonWebwhichalsobenefitstomaintainandupgradethesystemlater.Therefore,theissueprovidedbythispaperhavesomereferencevalueforconstructingahigh-availability,scalabilityandintelligenceoftheWebApplication.
KeyWords:
ElectronicAlbum,ElectronicCommerce,Hibernate,Struts,Spring
目录
第1章概述1
1.1课题研究背景1
1.2主要研究内容及开发工作1
1.3本文结构2
第2章系统开发相关技术3
2.1J2EE技术3
2.1.1J2EE的特点及其优势3
2.1.2J2EE的应用体系结构3
2.1.3J2EE的容器与服务5
2.1.4J2EE的核心API与组件6
2.2MVC设计模式7
2.3整合框架技术8
2.3.1Struts概述8
2.3.2Hibernate概述10
2.3.4Spring概述12
第3章电子相册系统需求分析15
3.1功能性需求分析15
3.2识别参与者与用例17
3.3非功能性需求分析19
第4章电子相册系统的设计21
4.1电子相册系统体系结构21
4.2提取应用实体22
4.3确定系统组件24
4.4数据库设计25
4.5系统的安全性设计27
第5章系统的实现30
5.1实现系统的Hibernate持久层30
5.1.1实现用户持久化类30
5.1.2实现相册持久化类31
5.1.3实现相片持久化类32
5.1.4实现相片评论持久化类33
5.1.5管理Hibernate的底层连接35
5.2实现系统的DAO层35
5.2.1实现用户DAO组件36
5.2.2实现相册DAO组件37
5.2.3实现相片DAO组件37
5.2.4部署DAO组件38
5.3实现业务逻辑层39
5.3.1业务逻辑组件依赖39
5.3.2定义和实现业务逻辑组件40
5.4实现系统Web层41
5.4.1控制器的处理41
5.4.2用户登录42
5.4.3列出相册列表43
5.4.4列出相册列表和相片43
5.4.4上传和处理相片43
第6章系统测试环境及运行效果45
6.1系统的测试环境45
6.2系统测试45
6.3主要运行效果界面46
第7章总结与展望49
7.1结论49
7.2进一步工作的方向49
致谢50
参考文献51
个人简历、在读期间发表的学术论文与研究成果53
第1章概述
1.1课题研究背景
目前,计算机技术、网络技术发展非常迅速,其他技术及产品也在日新月异地产生和变化。
21世纪是网络信息时代,信息技术和网络技术的不断发展带动并促进着各科技领域迅速发展、扩大。
信息技术是当代最富有活力和创造力的技术,网络技术己经成为人们相互交流、传递信息、协同工作不可缺少的重要技术。
在这种背景下,在线电子相册系统应运而生。
它充分结合了网络技术和计算机技术。
它实现了在线管理,浏览自己的相册中的照片和相片多人共享等功能。
在Internet领域,电子相册是一个典型的web应用。
在线电子相册发展到现在,国内国外都已经出现了性能优良,强大硬件保障和技术支持,有良好的浏览体验和用户界面的网站。
在技术层面,Internet领域中的电子相册是一个典型的web应用。
这种在线相册可以在网络上与多人共享。
目前在线的电子相册有的是以独立的产品形式出现,有的是以其他产品的某个功能的形式出现,实现电子相册的技术有很多,多基于ASP.NET和PHP等技术,根据不同的需求有不同的展现方式。
1.2主要研究内容及开发工作
目前在多层应用结构方面,J2EE技术和.NET技术是两种主要的解决方案,二者各有特点。
本文选择了J2EE作为开发平台,并结合一个在线电子相册系统的开发,提出了一种基于J2EE的Web应用设计方案,重点讨论了SSH框架、组件技术以及分层结构。
文中介绍了电子相册系统的应用背景,需求分析,设计和实现过程及系统测试过程。
本系统的主要研究内容包括照片的浏览,保存,评论上传过程。
具体机制如下:
(1)本系统采用了用户访问控制策略,组件技术,XML数据表示与界面控制技术,客户端脚本技术,应用MVC模式的分层设计方法来优化客户端代码。
(2)分析了用于Web应用开发的Struts架构的优缺点,提出了用于改进其可用性及可扩展性的解决方案。
(3)将Spring和Hibernate技术融入Struts架构中,改善传统的基于B/S架
构的电子商务系统的不足,并在客户端采用MVC模式来改进客户端代码的设计与实现。
(4)采用UML面向对象分析方法对系统进行分析与设计,借助开发工具与平台实现了基于SSH的电子相册系统,并对在设计实现中遇见的问题及难点进行了研究,给出了作者认为可行的解决方案。
总之,随着软件系统的规模扩大和复杂性的提高,软件体系结构的选择变得越来越重要。
虽然本系统在功能设计上较为简洁,但它体现了一种基于组件、多层分布的J2EE体系设计思想,并在此基础上研究了应用SSH框架如何为用户有效地提高系统的可重用性。
1.3本文结构
本文分为六个部分:
第一部分介绍了电子相册的的研究背景、发展现状以及本文工作。
第二部分介绍了电子相册系统所涉及的相关技术基础。
第三部分对电子相册的系统进行需求分析,确定了系统设计重点,明确了设计思路。
第四部分论述了所设计的电子相册系统。
第五部分介绍了该电子相册系统的实现。
第六部分介绍测试结果,并对整个论文进行了最后的总结。
第2章系统开发相关技术
2.1J2EE技术
2.1.1J2EE的特点及其优势
(1)J2EE的特点
目前,Java2平台有3个版本,它们是适用于小型设备和智能卡的Java2平台微型版(Java2PlatformMICroEdition,J2ME)、适用于桌面系统的Java2平台标准版(Java2PlatformStandardEdition,J2SE)、适用于创建服务器应用程序和服务的Java2平台企业版(Java2PlatformEnterpriseEdition,J2EE)。
J2EE是SUN公司提出的一个分布式、多层应用的标准体系结构,它以组件的方式来设计、部署企业应用。
J2EE技术的基础核心是Java平台,即Java2平台的标准版。
J2EE具有“一次编写,到处运行”的特性、方便存取数据库的JDBCAPI、CORBA技术以及能够在Internet应用中保护数据的安全模式等,同时还提供了对EJB(EnterpriseJavaBeans)、JavaServletAPI、JSP(JavaServerPages)以及XML技术的全面支持。
其最终的目的就是成为一个能够使企业开发者大幅度缩短投放市场时间的体系结构。
(2)J2EE的优势
考虑到系统的特点,可扩展性、消除异构性、安全性以及对XML的支持性,确定采用J2EE技术作为此应用框架的开发技术,其优势体现在:
①现存IT资产的利用。
②高效的开发。
③支持异构环境。
④可伸缩性。
⑤稳定的可用性。
2.1.2J2EE的应用体系结构
J2EE使用多层的分布式应用模型,应用逻辑按功能划分为组件,各个应用组件根据它们所在的层分布在不同的机器上。
事实上,SUN设计J2EE的初衷正是为了解决两层模式(Client/Server)的弊端,在传统模式中,客户端担当了过多的角色而显得臃肿,在这种模式中,第一次部署的时候比较容易,但难于升级或改
进,可伸展性也不理想,而且经常基于某种专有的协议——通常是某种数据库协议。
它使得重用业务逻辑和界面逻辑非常困难。
现在J2EE的多层企业级应用模型将两层化模型中的不同层面切分成许多层。
一个多层化应用能够为不同的每种服务提供一个独立的层,图2.1是J2EE典型的四层结构。
图2.1J2EE典型的四层结构
如图所示,J2EE的典型四层结构主要包括运行在客户端机器上的客户层组件、运行在J2EE服务器上的Web层组件、运行在J2EE服务器上的业务逻辑层组件和运行在EIS服务器上的企业信息系统(Enterpriseinformationsystem)层软件。
(1)客户层组件
客户层用于与企业信息系统的用户进行交互以及显示根据特定商务规则进行计算后的结果。
J2EE应用程序可以是基于Web方式的,也可以是基于传统方式的。
在一个基于Web的J2EE应用中,用户的浏览器在客户层中运行,并从一个Web服务器上下载Web层中的静态HTML页面,或由JSP或由Servlet生成的动态HTML页面。
在一个不基于Web的J2EE应用程序中,一个独立客户程序,不运行在一个HTML页面中,而是运行在其它一些基于网络的系统(比如手持设备或汽车电话)中的Applet程序,在客户层中运行,并在不经过Web层的情况下访问企业beans。
并且客户层中可能包括JavaBeans类来管理用户输入,并将该输入发送到企业层中运行的Enterprisebean类来处理。
(2)表示层组件
表示层又称Web层,Web层主要用于接收从浏览器传来的请求并将请求交给底层进行处理,同时将请求处理结果发送给浏览器。
J2EE的Web组件主要由JSP页面以及显示HTML页面的Servlet组成。
按照J2EE规范,静态的HTML页面和Applet不算是Web层组件。
调用Servlet或者JSP页面的HTML页面在
应用程序组装时与Web组件打包在一起。
和客户层一样,Web层可能包含某些JavaBean对象来处理用户输入,并把输入发送给运行在业务层上的Enterprisebean来进行处理。
(3)商业逻辑层组件
涉及企业业务的复杂商务逻辑由运行在业务层的EJB组件来执行。
EJB组件可以完成从客户端应用程序中接收数据、按照商务规则对数据进行处理、将处理结果发送到企业信息系统层进行存储、从存储系统中检索数据以及将数据发送回客户端等功能。
业务逻辑层位于应用服务器中,应用服务器中的EJBContainer提供了分布式计算中组件所需要的所有服务。
有三种企业级bean:
会话(session)beans,实体(entity)beans,和消息驱动(message-driven)beans。
(4)企业信息系统层
企业信息系统层处理企业信息系统软件,包括企业基础建设系统。
例如企业资源计划(ERP),大型机事务处理,数据库系统和其它的遗留信息系统。
例如,J2EE应用组件可能为了数据库连接需要访问企业信息系统。
在应用开发时,J2EE定义的四层模型可根据实际情况灵活运用。
由于除了Applet外其他的组件都可以访问数据库、EJB组件和企业信息系统,所以通过不同层的取舍及组合,可以衍生出许多应用软件开发模型,如基于Web的四层模型、基于桌面应用的三层模型(不包括Web层)、BZB模型(不包括客户层)等。
如果应用系统比较简单,一般不用EJB作为逻辑层,而直接用Web组件来实现商业逻辑和数据访问,毕竟EJB的开发和部署费用还相当高。
2.1.3J2EE的容器与服务
J2EE是一个基于组件—容器模型的系统平台,其核心概念是容器。
所谓容器就是指为特定组件提供服务的一个标准化的运行环境,Java虚拟机就是个典型的容器。
J2EE应用组件可以安装部署到容器中去。
J2EE平台由四种称为容器的编程环境组成。
(1)EJB容器:
提供适合于企业bean开发、部署以及运行时管理的环境。
企业bean时实现业务过程和实体的组件。
(2)Web容器:
提供适合于Servlet和JSP(JavaServerPages)开发、部署以及运行时管理的环境。
这些Servlet和JSP组称为Web应用的可部署单元。
一个Web应用实现了一个企业应用的呈现逻辑。
(3)应用程序客户端容器:
提供适合于执行J2EE应用客户的环境。
这个环境本质上就是J2SE。
(4)Applet容器:
提供适合于执行JavaApplet的环境。
这个环境通常被嵌入到一个浏览器中。
容器设置定制了J2EE服务器所提供的内在支持,包括安全,事务管理,JNDI(JavaNamingandDirectoryInterface)寻址,远程连接等服务,以下列出最重要的几种服务:
①J2EE安全模型。
②J2EE事务管理模型。
③JNDI寻址服务。
④J2EE远程连接模型。
⑤J2EE认证和授权服务。
⑥解析XML的JavaAPI(JAXP)。
⑦生存周期管理模型管理。
⑧JavaMai1API。
⑨数据库连接池模型。
2.1.4J2EE的核心API与组件
J2EE平台由一整套服务(Services)、应用程序接口(APIs)和协议构成,它对开发基于Web的多层应用提供了功能支持,下面对J2EE中的技术规范进行简单的描述。
(1)Servlet技术
Servlet是一个服务器端组件,它可以用来扩展任何运行Java的服务器的功能,但是大多数Servlet是用来在Web服务器上编写Web应用程序的。
Servlet通常用来创建内容非静态的Web页面,内容会根据用户输入或其他变量数据而改变的Web页面称为动态页面,Servlet尤其适合创建动态的Web页面。
Servlet的主要特性和优点包括:
①ServletAPI提供了为网络应用定制的接口。
②Servlet是独立于服务器和平台的,这使得Servlet可移动而且可重用。
③Servlet是高效的,并且是可升级的。
④Servlet运行在服务器内,所以可以为某种目的让服务器执行特定的功能,比如用户身份认证。
尽管Servlet提供了如此强大的功能和方便的易用性,但是,在编写服务器端程序的时候,必须在Servlet代码中直接加入很多的HTML代码,这对于程序的编写和维护来说,都是一个很大的负担,造成了程序逻辑和页面显示的混淆。
正是为了消除这种基于J2EE的网上书店应用框架的研究和设计的麻烦和不清晰的分离,SUN公司引入了一种新的编制服务器端页面显示的技术—JSP技术。
(2)JSP技术
为了解决Servlet中页面显示和业务逻辑的分离,SUN推出了JavaServerPages(JSP)技术。
在这种新的技术中,JSP提供了Servlet所有的好处,事实上,JSP在执行的时候,也是先编译成Servlet来执行的。
这种技术采用的方式是在传统的网页HTML中加入Java程序片断(Scriptlet)和JSP标记,这样就构成了JSP网页。
WEB服务器在接收到用户的请求的时候,首先执行其中的程序片断,然后将执行结果以HTML的方式返回给客户。
所有程序操作都在服务器端执行,网络上传送给客户端的仅仅是得到的结果,对用户浏览器的要求很低。
由于JSP是从Java和Servlet技术上发展而来的,它兼具有这两者的好处,它同样具有平台无关性和Java本身的安全模型和机制。
JSP在执行以前先被编译成字节码,字节码由Java虚拟机解释执行,比源码解释的效率要高,而且在服务器上还有字节码的缓存机制,能提高字节码的访问效率。
除此之外,在JSP中还提供了强大的服务器端组件技术和对数据库以及标签库的支持。
(3)用JDBC(JavaDatabaseConnectivity)
JDBC是SUN公司提出的访问数据库的标准,是Java下最早的数据持久化技术,也是目前最为成熟的。
它提供了一套标准的API供应用程序访问基于SQL的数据库格式文件等。
用BC屏蔽了底层不同的数据库,以一致的接口提供给程序员,JDBC接受应用程序的SQL请求语句,连接、操作数据库,最终将结果返回给应用程序。
2.2MVC设计模式
MVC(Model—View—Controller,即模型—视图—控制器)是一种可用于Web开发的经典设计模式,其核心思想是将整个程序代码分成相对独立而又能协同工作的3个组成部分。
(1)视图是用户看到并与之交互的界面。
视图向用户显示相关的数据,并能接受用户的输入数据,但是它并不进行任何实际的业务处理。
(2)模型是应用程序的主体部分。
模型表示业务数据和业务逻辑。
(3)控制器用来接受用户的输入并调用模型和视图去完成用户的需求。
当Web用户单击Web页面中的提交按钮来发送HTML表单时,控制器接收请求并
调用相应的模型组件去处理请求,然后调用相应的视图来显示模型返回的数据。
MVC模式克服了以往Web程序将像数据库查询语句这样数据层代码和像HTML这样的表示层代码混在一起而使得维护JSP网页非常困难,也很难满足用户的变化性需要的缺点。
从根本上强制性地将它们分开,首先,多个视图能共享一个模型。
也就是说,在MVC设计模式中,模型响应用户请求并返回响应数据,视图负责格式化数据并把它们呈现给用户,业务逻辑和表示层分离,同一个模型可以被不同的视图重用;其次,模型是自包含的,与控制器和视图保持相互独立,所以可以方便地改变应用程序的数据层和业务规则;此外,控制器提高了应用程序的灵活性和可配置性。
控制器可以用来连接不同的模型和视图去完成用户的需求,也可以为构造应用程序提供强有力的手段。
给定一些可重用的模型和视图,控制器可以根据用户的需求选择合适的模型进行处理,然后选择适当的视图将处理结果显示给用户。
MVC通过强制性的分离三个模块,实现了设计思想中松耦合的设计要求,使得三个模块之间改变其中一个不会影响到另外两个。
MVC适合业务逻辑复杂的大型应用程序,MVC使得软件在健壮性、代码重用和结构方面上一个新的台阶。
从这个角度考虑,在应用程序开发的最初构建MVC框架是十分必要的。
2.3整合框架技术
2.3.1Struts概述
在软件开发者开始一个软件项目时,首先应该构思该软件应用的框架,规划软件模块,并定义这些模块之间的接口和关系。
但是要从头设计开发出一个可靠、稳定的框架并不是一件容易的事。
随着Web开发技术的日趋成熟,在Web开发领域出现了一些优秀成熟的框架,使得开发者可以在此基础之上进行快速,高效的开发,构造出结构良好,高可重用性的应用。
Struts就是其中的一个广泛应用于
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 j2ee 在线 电子相册 系统 资料