基于Web的图片分享系统的设计与实现.docx
- 文档编号:14946245
- 上传时间:2023-06-28
- 格式:DOCX
- 页数:72
- 大小:852.44KB
基于Web的图片分享系统的设计与实现.docx
《基于Web的图片分享系统的设计与实现.docx》由会员分享,可在线阅读,更多相关《基于Web的图片分享系统的设计与实现.docx(72页珍藏版)》请在冰点文库上搜索。
基于Web的图片分享系统的设计与实现
硕士专业学位论文
基于Web的图片分享系统的设计与实现
DesignandImplementationofWeb-basedPhoto-sharingSystem
作者:
XXX
导师:
XXX
北京交通大学
2015年10月
学位论文版权使用授权书
本学位论文作者完全了解北京交通大学有关保留、使用学位论文的规定。
特授权北京交通大学可以将学位论文的全部或部分内容编入有关数据库进行检索,提供阅览服务,并采用影印、缩印或扫描等复制手段保存、汇编以供查阅和借阅。
同意学校向国家有关部门或机构送交论文的复印件和磁盘。
学校可以为存在馆际合作关系的兄弟高校用户提供文献传递服务和交换服务。
(保密的学位论文在解密后适用本授权说明)
学位论文作者签名:
导师签名:
签字日期:
年月日签字日期:
年月日
学校代码:
10004密级:
公开
北京交通大学
硕士专业学位论文
基于Web的图片分享系统的设计与实现
DesignandImplementationofWeb-basedPhoto-sharingSystem
作者姓名:
XXX学号:
XXX
导师姓名:
XXX职称:
XXX
工程硕士专业领域:
软件工程学位级别:
硕士
北京交通大学
2015年10月
致谢
本论文的工作是在我的导师XXX教授的悉心指导下完成的,XXX教授严谨的治学态度和科学的工作方法给了我极大的帮助和影响。
在此衷心感谢三年来XXX老师对我的关心和指导。
XXX老师悉心指导我完成了本专业的研究工作,在学习上和生活上都给予了我很大的关心和帮助,在此向XXX老师表示衷心的谢意。
XXX教授对于我的科研工作和论文都提出了许多的宝贵意见,在此表示衷心的感谢。
在学科学习、研究工作及撰写论文期间,XXX等同学对我论文中的程序开发部分的研究工作给予了热情帮助,在此向他们表达我的感激之情。
另外也感谢家人们,他们的理解和支持使我能够在学校专心完成我的学业。
摘要
由于计算机和数字设备的普及,产生了大量的数字资源,其中数字图片资源成为人们日常生活中传递信息的便捷手段,人们已经不满足仅仅通过文字传递信息,越来越希望能传递更多的图片信息。
随着图片资源的数量增加,人们希望能拥有一个安全可靠的图片信息的海量共享平台。
建立一个用于图片分享的基于Web(WorldWideWeb的缩写)的图片分享系统是非常必要的。
本文首先进行了图片分享系统需求分析,确定了本系统的基本功能和性能需求,并以此为基础进行了概要设计与详细设计,最终采用Struts2技术,设计实现了基于MVC(Model-View-Controller)架构的校内师生图片分享平台。
该系统主要包括前台客户子系统和后台管理子系统,其中前台客户子系统主要提供用户注册、用户登录验证、用户上传图片和用户浏览图片等功能,后台管理子系统主要提供用户管理,相册管理和图片管理等功能。
为了提高系统的可维护性,提高代码的重用度,降低模块之间的耦合,图片分享系统采用模型、视图、控制器分离技术,使用多层架构,将系统分为表示层、业务逻辑层、数据库访问层和数据层四层,使图片分享系统更容易维护和扩展。
本系统经过测试已经正式运行,实现了图片的自由上传、数字图片信息集中管理、分类存储、快捷分享与检索、上传图片统计分析等功能,基本满足了用户管理图片信息的需求,提供了良好的图片分享与管理平台。
同时,借助校园网的海量存储资源,也实现了图片的海量存储。
关键词:
图片分享;Struts2;MVC;JSP
ABSTRACT
Duetothepopularityofcomputeranddigitalequipment,producealargeamountofdigitalresources,includingdigitalimageresourcesbecomeconvenientpeopleconveyinformationindailylife,peoplearenotsatisfiedsimplybytextmessage,moreandmorehopetobeabletodelivermoreimageinformation.Withtheincreaseofthenumberofimageresources,storagecontradictionismoreandmoreprominent,peoplemoreandmorehopetohaveasafeandreliablemassstorageofimageinformationplatform.SetuponeforphotosharingandstorageofimagesharingsystembasedonWebisverynecessary.
Thisarticlefirsthascarriedonthephotosharingsystemrequirementsanalysis,confirmedthebasicfunctionsofthissystemandtheperformancerequirements,andonthisbasis,carriedonthesummarydesignanddetaileddesign,finallyUSESthestruts2technology,designedtoachievetheshareplatformbasedonMVCarchitectureimagefromteachersandstudents.Thesystemismainlyincludingfrontdeskcustomersubsystemandbackgroundmanagementsubsystem,includingthefrontdeskcustomersubsystemmainlyprovideuserregistration,userloginvalidation,userstouploadpicturesandbrowsetheimages,andotherfunctions,backgroundmanagementsubsystemmainlyprovideusermanagement,photoalbums,andimagemanagement,andotherfunctions.Inordertoimprovethemaintainabilityofthesystem,improvecodereuse,reducethecouplingbetweenmodules,photosharingsystemconsistsofmodel,viewandcontrollerseparationtechnology,theuseofmulti-layerarchitecture,thesystemisdividedintothepresentationlayer,businesslogiclayeranddatabaseaccesslayeranddatalayer,makethephotosharingsystemeasiertomaintainandextend.
Thissystemafterthetesthasbeenofficiallyrunning,toachievethefreedomoftheimagetoupload,digitalimageinformationfastandcentralizedmanagement,classification,storage,sharingandretrieval,statisticalanalysistouploadpictures,andotherfunctions,basicallymeettheneedsofusermanagementpictureinformation,provideagoodphotosharingandmanagementplatform.Inaddition,withthehelpofacampusnetworkalotofstorageresources,butalsoawiderangeofstoreimage.
KEYWORDS:
Photo-Sharing;Struts2;MVC;JSP
1引言
随着Internet和数字技术的发展,计算机和数字设备的普及,产生了大量的数字图片信息,人们习惯于通过分享图片信息来与大家交换生活信息。
另外,随着人们的图片资源的不断扩大,图片的存储矛盾也日益突出。
在校园这个群体里,图片分享系统的建立和运营,一方面可以为图片爱好者搭建了一个很好的交流平台,开拓了更广阔的生活空间,另一方面可以提供图片的海量存储空间。
本图片分享系统的开发背景是基于校园网的一个图片共享子系统,是针对网站用户分享图片、应用图片、管理图片的系统平台,提供图片的处理、剪辑、显示等功能。
同时,借助校园网的存储资源,为系统使用者提供较为丰富的图片存储空间。
1.1选题背景
图片技术的发展给人们的生活带来了无限乐趣,校园生活丰富多彩,很多同学都留下了大量的生活和校园相关的图片信息,但是没有一个专门的系统用来分享和管理校园里的图片信息。
通过建立这样一个图片分享网站还可以为校内外人员了解学校的一个有效窗口,XX学校的校园网站急需提供一个学生分享图片的平台,通过该平台丰富师生校园生活,发掘摄影人才,记录校园的点点滴滴。
目前,网络上出现了较多的图片分享网站,比较著名的包括Pinterest、Path、Instagram、POSE、Face等。
这些网站提供了较为可靠的图片安全控制以及图片上传、浏览等功能以及海量存储。
但是这些网站中一大部分属于国外网站,用户界面大多呈现英文界面,而且部分网站国内不能直接登录或者访问速度较慢。
国内虽然也推出一些网站,但是由于注册用户较多,速度极慢,也没有较为健全的安全体系,没有相应的图片审核功能,图片内容复杂,不能直接拿来提供校园网使用。
总之,现有的图片分享网站由于人员杂乱,图片类型多样,一些功能不太符合校园网需要,也缺少必要的图片审核共享功能,因此需要实现一个专门供校友交流和社会人员了解学校的平台,为学校建立一个由学校专门人员管理的图片分享系统。
通过在学校建立这样的网站,不论是正在学校读书,还是已经毕业的同学,都可以通过该系统了解学校的概况。
再者,系统的专业性使其上传的图片能够在学校相关人员的控制范围内,方便图片的管理。
另外,借助校园网的海量存储资源,也实现了图片的海量存储。
1.2开发目标
该系统旨在建立一个专门的校园图片分享平台,在方便管理人员对图片信息、图片分类、用户的管理的同时,方便同学之间、校友之间互相交流,也是面向社会展现校园风采的一个平台。
Web应用开发技术的成熟,使图片分享系统的实现成为可能。
本系统运用Struts2技术和MVC框架,使系统可扩展性和维护性强。
1.2.1为网站后台人员提供编辑应用
为网站后台人员提供编辑应用,主要是指为网站的后台编辑工程师们对图片的管理应用系统,并且为工程师们筛选图片、编辑图片以及上传发布图片做应用支撑的,工程师们通过对图片、数据的分析,并作出相关饼状图、柱状图等分析模型图,以供用户有一目了然、直观、清晰的图片感观认识。
1.2.2面向用户提供浏览的应用
面向用户提供浏览的应用指为用户登录提供后台程序支持,并可以顺利为用户进行登录、浏览、编辑、退出或注销等提供程序支持,便于用户按照自己的需求在网页上进行必要的操作。
1.3系统总体需求
由于网页中仅靠文字信息是远远不够的,为了提高用户浏览体验,系统总体要求如下:
(1)多层架构
为了提高系统的可维护性,提高代码重用,将图片分享系统的模型、视图、控制器分离,降低模块之间的耦合。
使用多层架构,将系统分为表示层、业务逻辑层、数据库访问层和数据层四层,使图片分享系统更容易维护和扩展。
(2)功能完善
系统需要满足用户管理图片信息的需求,提供了良好的图片分享与管理平台。
分别提供用户端图片的上传、浏览与分享功能,管理端的图片、相册和用户的管理,以及对上传图片数量进行统计分析,帮助管理员做出决策。
通过不断完善图片分享平台,实现图片的自由上传、海量存储功能。
将师生的数字图片信息集中管理、分类存储、快捷分享与检索。
最终通过该平台丰富师生的校园文化生活,发掘摄影人才。
1.4论文组织结构
本论文包括七章,简要介绍系统的需求分析、开发技术、设计模式和实现过程。
第一章简单介绍系统的研究背景并简要说明了本系统开发的目标。
第二章简要介绍软件开发环境和开发过程的相关技术。
第三章介绍图片分享系统需求分析,以分析业务流程为依据分析系统的功能需求和性能需求。
第四章介绍图片分享系统的总体结构以及功能模块结构设计、时序分析和数据库设计。
第五章介绍系统实现,详细介绍用户的注册登录、相册管理、图片上传管理等核心模块的实现过程。
第六章简单介绍测试的基本理论和部分测试用例。
第七章结论。
2开发环境和相关技术简介
随着软件工程技术的发展,软件的形态、规模、架构、工具和环境都有了很大的改进。
软件开发之前需要确定软件的体系环境以及相应的开发技术,以提高软件开发的效率和质量。
2.1开发环境
系统的软件环境主要包括开发系统所用的操作系统、开发工具等,具体内容如表2-1所示。
表2-1软件环境表
Table2-1Theconfigurationofsoftware
名称
版本
语种
操作系统
Windows
7
简体中文
数据库平台
SQLServer2012
企业版
简体中文
应用平台
ApacheTomcat
7.0
简体中文
开发工具
MyEclipse
8.6
简体中文
硬件环境如表2-2所示。
表2-2硬件环境表
Table2-2Theconfigurationofhardware
服务器
最低配置
推荐配置
应用和数据库服务器
2CPU:
Dual-Core2.0G
2CPU:
Dual-Core2.0G
Mem:
2G
Mem:
2G
HD:
40G
HD:
120G
2.2相关技术简介
本节将详细介绍图片分享系统在开发过程中运用的MVC架构、Struts2技术、JSP以及CSS技术和优势、DisplayTag分页标签、JFreeChart制图工具等支持性开发技术。
2.2.1MVC简介
MVC(Model-View-Controller),即模型-视图-控制器的缩写。
是目前项目开发普遍使用的模式,在实际应用中有着广泛的应用。
MVC是一种软件架构模式。
该模式实现了表示画面的代码和业务逻辑的代码的分离,使得应用程序根据不同的需要可以使用不同的表现形式。
其中模型-视图-控制器,三者之间的关系如图2-1所示。
图2-1MVC模型
Figure2-1MVCmodel
模型主要负责业务流程和状态处理。
它可以接收视图发送的请求数据,并将处理后的结果返回给视图。
模型可以更新视图的数据反映数据的变化。
模型中的代码可以被多个视图重用,提高代码的重用性。
可以说模型是MVC最主要的核心。
视图是用户与之交互的界面。
它只负责对视图上数据的采集和处理以及用户的请求,在视图中不需要处理有关业务逻辑的内容,有关业务逻辑的部分应该放在模型中进行处理。
视图只是作为一种输出数据并允许用户操作的方式。
控制器主要是对用户的输入进行相应的处理操作,主要用于管理模式和视图之间的交互的控制。
它只负责接收用户请求并决定选择什么样的模型区处理该请求,并将该模型处理后返回的数据返回给符合要求的视图显示。
控制器本身不会对业务逻辑做任何处理。
用JSP和Servlet就可以实现一个MVC模式,在使用JSP开发时,Servlet可以认为是一个控制器,负责页面画面发出的请求、决定使用哪一个JavaBean对象,以及将处理后的结果转发给哪一个JSP画面。
JavaBean用于Model层,主要负责业务的处理和数据库的连接等操作,JSP主要负责画面的显示、视图中数据的采集和处理以及用户的请求。
其MVC模式中的请求处理过程如图2-2所示。
图2-2MVC模式中的请求处理过程图
Figure2-2TherequestprocessingprincipleofMVCmodel
首先Servlet控制器接受浏览器发出的request请求,并决定应该调用哪个JavaBean来进行处理。
然后JavaBean负责与数据库的连接和数据的存取并根据不同的业务逻辑来处理用户的请求,再将处理后的数据返回。
最后Servlet控制器将数据返回给浏览器,通过表示层呈现给用户。
2.2.2Struts2简介
Struts2虽然从名称上看是Struts1的升级版,但Struts2在实现原理和使用方法上与Struts1有很大区别。
Struts2实际上是从WebWork框架演变过来的,从本质上看Struts2是WebWork的升级版本。
Struts2是MVC框架,因此,在Struts2中必须包含着3个层次对应的部分。
Struts2中与MVC模式的三个层次对应的部分如下:
视图层:
由JSP画面(包括Struts2标签)及客户端代码(HTML、JavaScript)组成。
控制器层:
由Struts2中Action类组成。
Action类可以是一个POJO类,也可以是从ActionSupport类继承的类。
模型层:
Struts2中的模型层根据系统业务的不同而有所差异。
通常模型层包括实体类、DAO类、Service类。
图2-3展示了用Struts2实现MVC框架中各部分的工作流程,下面将从Struts2的角度详细展示Struts2的整体结构。
图2-4来源于Struts2官方站点,展示了Struts2的整体结构。
图2-3MVC框架工作流程
Figure2-3TheworkflowofMVCmodel
图2-4简明扼要地展示了Struts2的运行机制,首先由客户端发出一个HttpServletRequest请求,这个请求将交给一系列的过滤器进行处理,当这些过滤器处理完成之后,交给FilterDispatcher,FilterDispatcher的作用是决定之前的HttpServletRequest请求是否需要调用某个Action,如果需要,则将该请求转至ActionProxy处理,在ActionProxy的处理过程中,它首先要通过ConfigurationManager查看系统的核心配置文件(struts.xml),通过查询struts.xml配置,再应用ActionInvocation实例调用相应的Action。
在这个过程的前后,会遇到一些拦截器(Intercepter)。
当Action调用完成之后,再交给ActionInvocation来返回运行结果,即HttpServletRespone。
图2-4Struts2的整体结构图
Figure2-4ThestructureofStruts2
2.2.3JSP简介
JSP是JavaServerPages的缩写,是由Sun公司于1999年推出的一个动态网页技术标准(2010年被ORCAL收购)。
它是基于JavaServlet以及整个Java体系的Web开发技术,JSP页面是在服务器上运行的,用户向服务器提交一个请求,服务器首先运行JSP页面中的程序段,然后再连同数据和HTML页面返回给客户端,这样,用户只要通过浏览器即可访问我们的网站,而无需另外安装软件,利用这一技术可以建立安全的、跨平台的动态网站。
2.2.4CSS简介
CSS是层叠样式表(CascadingStyleSheets)用来定义网页的现实效果。
可以解决html代码对样式定义的重复,提高了后期样式代码的可维护性,并增强了网页的现实效果功能。
简单一句话:
CSS将网页内容和显示样式进行分离,提高了显示功能。
2.2.5DisplayTag简介
DisplayTag是一个开源的自定义标签库(CustomTaglib),可以提供直接而有效的格式化Web视图层数据的有效手段。
可以在现在流行的Web应用的MVC模式中集成DisplayTag到View层,其提供了强大的表格格式化功能。
2.2.6JFreeChart简介
JFreeChart是Java平台上的一个开放的图表绘制类库。
JFreeChart是一个很好的Java图表解决方案,它完全使用Java语言编写,JFreeChart可生成一些数据统计中经常用到的图表,例如,饼图、柱状图等,并按照需要的图片格式输出。
这里以水果产量为例,如图2-5展示了北京、上海、广州三地的苹果、梨子、葡萄、香蕉和荔枝五种水果产量的柱状图。
图2-6展示了同一地区五种水果产量的饼状图。
图2-7展示了不同年份五种水果的折线图。
以上三个图从不同角度展现了水果的销量信息。
决策者可以通过JFreeChart生成的这些图片,做出正确的决策。
图2-5水果产量柱状图
Figure2-5Thehistogramdiagramoffruitproduction
图2-6水果产量饼状图
Figure2-6Thepiechartdiagramoffruitproduction
图2-7水果产量折线图
Figure2-7Thelinegraphoffruitproduction
2.3本章小结
本系统的开发是MVC架构、Struts2技术、JSP技术、CSS技术、DisplayTag分页标签、JFreeChart制图工具等支持性技术综合运用的产物,本章对每种支持性技术进行了简要的分析,对技术的作用和应用规范给予解析,强调了技术应用的必要性。
本系统的开发对系统的软件环境和硬件环境也提出要求,其中系统的操作系统为Windows7,数据库平台为SQLServer2012企业版,应用平台为ApacheTomcat7.0以上,开发环境为MyEclipse8.6以上;应用和数据库服务器要求2CPU:
Dual-Core2.0G,Mem:
2G,HD:
40G-120G。
3需求分析
随着计算机技术的不断发展与成熟,计算机应用在各行各业中得到很大的普及,计算机应用给人们带来的极大的便利。
图片分享系统是在Internet迅速发展、数字化技术广泛普及这个大环境下产生。
一直以来,虽然类似QQ、人人网都提供图片分享系统,但是这类系统的图片种类多,面向不同用户,专一性较差,不完全适应校内师生的图片分享需求。
本系统的建设宗旨就是建立一个在校园网的基础上的专供校内师生使用的专业的校
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 Web 图片 分享 系统 设计 实现