毕业设计(论文)-基于J2EE的网络相册管理系统.doc_第1页
毕业设计(论文)-基于J2EE的网络相册管理系统.doc_第2页
毕业设计(论文)-基于J2EE的网络相册管理系统.doc_第3页
毕业设计(论文)-基于J2EE的网络相册管理系统.doc_第4页
毕业设计(论文)-基于J2EE的网络相册管理系统.doc_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

毕业设计说明书基于J2EE的网络相册管理系统班 级: 学号: 软件学院姓 名: 软件工程学 院: 专 业: 指导教师: 2013年 6 月中北大学2013届毕业设计说明书基于J2EE的网络相册管理系统摘要随着社会的发展,旅游业的快速发展,人们希望通过拍照片这种方式来把美好时光纪念下来,而且希望与朋友以及全世界的人分享,这就需要一个可以提供分享平台的管理系统,而基于J2EE的网络相册管理系统恰好可以满足广大用户的需求。全套设计加扣 3012250582本网络相册管理系统为了使WEB应用更为快速地回应用户请求,主要运用了AJAX技术和J2EE技术,采用这些技术可以使在网络上只发送改变过的信息,这样就能在不更新整个页面的前提下维护数据,为了吸引广大用户,在本系统中特别模仿实现了Google搜索的关键字自动补全,而且在本系统中还实现了用户评论的无刷新加载、相片浏览的无刷新切换等具体应用,这些功能都可以给用户更好的体验。本文详细地叙述了一套基于B/S模型的网络相册管理系统,首先叙述了需求分析,再到测试与部署的整个开发过程。本网络相册管理系统系统采用了JAVA语言编码,为了对系统进行MVC分层;在架构设计上使用了STRUTS2框架,而且为了增强系统的可扩展性,本系统将业务逻辑层与页面表示层以及数据持久层进行了有效解耦。系统的前台最终实现了用户创建相册、管理相册、上传相片、与别人分享相册;而后台实现了用户管理功能,满足了广大用户对网络相册管理平台的基本功能需求。关键词:网络相册, MVC,J2EE,AJAX, STRUTS2Network photo album management system based on J2EEAbstractWith the development of society, the rapid development of tourism industry, people hope that by taking a picture of this way to the good time mark down, and I hope to share with friends and people around the world, it needs to provide a sharing platform management system, based on the network photo album management system J2EE can satisfy the majority of users demand.The network photo album management system in order to make WEB applications more rapidly in response to a user request, the main use of the AJAX technology and J2EE technology, these technologies can make the network transmits only the changed information, so it can maintain data on condition of not updating the whole page, in order to attract customers, especially in this system imitate the keywords to achieve automatic completion Google search, but also realize the user comments in this system refresh switching application without refresh loading, photo browsing, these functions can give the user a better experience.This paper describes in detail a set based on the network photo album management system of B/S model, firstly describes the requirement analysis, and then to the whole development process of testing and deployment. The network photo album management system uses the JAVA language code, in order to carry out the MVC layered on the system; the use of the STRUTS2 framework in the architecture design, and in order to enhance the system scalability, the system business logic layer and presentation layer and data persistence layer page effectively decoupling. System front and ultimately the users create album, photo album, upload photos, management and share photos; while the background to achieve the user management functions, meet the needs of the vast number of users of the basic functions of the network photo album management platform.Keywords: Web Albums, MVC, J2EE, AJAX, STRUTS2目 录第1章 绪论11.1 系统开发的背景和意义11.2 国内外发展状况11.3 研究内容2第2章 程序设计技术相关知识32.1 JAVA 简介32.2 JAVA EE平台相关介绍32.3 所采用数据库及原因42.4 MVC设计模式的原理42.4.1 MVC设计优点42.4.2 MVC的运行机制52.5 STRUTS2 框架介绍52.6 JSP技术62.7 AJAX技术介绍62.7.1 AJAX技术应用优势72.7.2 AJAX在应用中的优点与缺点82.8本章小结8第3章 网络相册管理系统需求分析93.1可行性分析93.1.1 系统总体目标93.1.2 技术可行性分析93.1.3 功能需求93.1.4 性能需求93.2系统总体结构93.2.1 系统总体结构103.2.2 用例图103.3系统功能模块结构113.3.1 用户基本信息管理模块123.3.2 相册管理模块133.3.3 相片管理模块133.3.4 评论管理模块143.3.5 分类搜索143.3.6 系统管理模块143.4 数据库设计153.5 本章小结17第4章 系统实现174.1用户注册设计174.1.1 注册页面的设计184.1.2 注册页面主要实现代码184.2用户登陆设计214.2.1 用户登陆界面的创建214.2.2 用户退出224.3 相册管理的实现224.3.1 相册的创建和修改主要代码234.3.2 删除相册244.3.3 相册的列表显示254.3.4 在相册中上传相片的实现254.4 相片管理的实现274.4.1 相片的删除和信息修改274.4.2 利用AJAX技术切换相片的实现284.5 评论管理的实现304.5.1 评论列表的AJAX方式切换304.5.2 评论的删除314.6 利用AJAX技术补全搜索关键字的实现324.7系统测试344.7.1 测试目标344.7.2 模块测试354.8 本章小结36第5章 结束语365.1 AJAX技术还需要改进的地方365.2设计中的体会375.3设计中的不足38参考文献38致谢39第 III 页 共 III 页第1章 绪论随着社会的发展,特别是数码时代的到来,越来越多的人通过照片这种方式来把自己以及他人在一起的时光保留下来,与他人分享自己有趣的经历,但是,随着照片数量的增大,传统的相簿已经不能满足用户的基本需求,比如携带不方便、使用不方便、分享不方便等等,这时就需要有一个方便的媒介来解决这些问题,而网络相册能很好的解决这些问题,不光能保存大量的图片,而且能随时随地的与他人分享,而且可以让别人对照片进行评论,进而与别人进行互动,增加了乐趣。1.1 系统开发的背景和意义随着社会的发展,人们的生活水平越来越高,旅游也成了人们生活中所不可缺少的一件事情,每当我们走到一个景点,总会想通过拍照这种方式来作为纪念,这样长期下来,我们肯定会保存大量的照片,虽然可以保存在电脑上,但这些可以勾起回忆的大量照片会使浏览起来不方便,但是,网络相册可以很好的帮我们保存照片、对照片分类、以及与他人分享,使网络相册成为我们首选的相册管理工具。在这个快速发展的时代,网络相册已经成为我们生活中不可或缺的一部分,我们现在使用的比较流行的博客和空间都使用到了这一功能,通过上传工具把我们的照片上传到博客或空间,再给照片加上一些文字叙述,就制作成了我们自己的网络相册。这种网络相册不光具有永久保存我们照片的功能,同时也可以实现与我们的朋友以及全世界的人一起分享,而且评论可以使我们随时的了解他人对我们照片的看法,这就解决了传统相册浏览不方便以及使用不方便的问题,当然,如果我们只想把我们的相册给特定的一些人观看,我们也可以给相册设定浏览权限以便保护自己的隐私,由此看来,网络相册对我们的生活来说是极其重要的。1.2 国内外发展状况网络相册在这个数码时代变得越来越流行,国内外许多网站都把这一功能作为自己的附加功能,而且用户量都非常大,可见,网络相册是非常受广大用户欢迎的。也有一些网站是专门做网络相册的,而且把这一功能做为他们的主体功能,国外比较著名的有Flickr、Picasa等,国内比较著名的有又拍、巴巴变等,这些网站的用户量非常的大,这也是这些网站只做这一功能的原因之一,他们知道,他们现在用户量很大,而且潜在用户也非常多,他们的用户把他们的照片上传,互相评论,用户与用户之间的互动使这些网站变的活跃起来,这样就可以吸引更多的用户加入进来。这些网站还通过做一些特殊功能来吸引更多的用户以及留住老用户,比如现在比较流行的把自己的照片做成具有动态效果的Flash网络相册,做的好的相册就会在网站上被传播开来,增加了用户的互动以及实现了用户开始的目的之一,那就是与他人分享。可见,网络相册随着时代的发展以及用户的需求在国内外都在快速的发展。1.3 研究内容网络相册管理系统是一种基于B/S模型的管理系统,它主要采用目前最流行的JAVA语言编码,同时用到了当今先进的技术如STRUTS2框架、 AJAX技术等来实现该系统。这一系统中大量运用AJAX技术可以大大提高用户体验。采用的MVC框架技术提高了系统的可维护性。本网络相册管理系统所研究的是从网络相册的管理到网络相册的生成等一系列的问题,主要分为:前台功能包括用户登录、用户信息修改、用户评论、用户相册管理、用户相片管理、全站信息搜索,后台功能包括系统用户的管理。本文共分5章,第1章是绪论,第2章介绍程序设计所用到的相关技术,第3章是系统的需求分析及结构图,第4章是相册系统的系统实现,第5章是对此次程序设计的总结。各章节的研究内容如下:(1)第1章主要介绍了本课题的开发背景和意义,阐述了本系统的国内发展状况。(2)第2章主要介绍了开发本系统所用到的相关技术的简介。(3)第3章主要是本系统的需求分析、结构图、数据库的创建。(4)第4章是系统的具体功能的编码实现。(5)第5章主要是此次程序设计的总结。第2章 程序设计技术相关知识2.1 JAVA 简介Java是由Sun Microsystems公司于 1995年5月推出的Java面向对象程序设计语言和Java平台的总称。由James Gosling和同事们共同研发,并在1995年正式推出。用Java实现的HotJava浏览器(支持Java applet)显示了Java的魅力:跨平台、动态的Web、Internet计算。从此,Java被广泛接受并推动了Web的迅速发展,常用的浏览器均支持Javaapplet。另一方面,Java技术也不断更新。Java由四方面组成:Java编程语言、Java应用程序接口、Java类文件格式、Java虚拟机。Java平台由Java虚拟机和Java 应用编程接口构成。Java应用编程接口为Java应用提供了一个独立于操作系统的标准接口,可分为基本部分和扩展部分。在硬件或操作系统平台上安装一个Java平台之后,Java应用程序就可运行。Java平台已经嵌入了几乎所有的操作系统。这样Java程序可以只编译一次,就可以在各种系统中运行。Java应用编程接口已经从1.1x版发展到1.2版。常用的Java平台基于Java1.4,最近版本为Java1.7。Java分为三个体系J2SE,J2EE,J2ME。Sun 公司对 Java 编程语言的解释是:Java 编程语言是个简单、面向对象、分布式、解释性、健壮、安全与系统无关、可移植、高性能、多线程和动态的语言。2.2 JAVA EE平台相关介绍Java EE是sun公司推出的企业级应用程序版本。这个版本以前称为 J2EE。能够为我们帮助开发和部署可移植、健壮、可伸缩且安全的服务器端 Java应用程序。Java EE 是在 Java SE 的基础上构建的,它提供Web 服务、组件模型、管理和通信 API,可以用来实现企业级的面向服务体系结构和 Web 2.0应用程序。经典Java EE应用往往以EJB(企业级Java Bean)为核心,以应用服务器为运行环境,所以通常开发、运行成本较高。Java EE架构主要分为:领域对象层、数据访问对象层、业务逻辑层、控制器层、表现层。各层的Java EE组件之间以松耦合的方式耦合在一起,各组件并不以硬编码方式耦合,这种方式是为了应用以后的扩展性。Java EE应用大致包括的组件:表现层组件、控制器组件、业务逻辑组件、数据访问对象组件、领域对象组件。对于一个企业而言,选择Java EE构建信息化平台,更体现了一种长远的规划:企业的信息化是不断整合的过程,在未来的日子里,经常会有不同平台、不同系统的异构系统需要整合。Java EE应用提供的跨平台性、开放性及各种远程访问的技术,为异构系统的良好整合提供了保证。2.3 所采用数据库及原因MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司。MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。MySQL的SQL语言是用于访问数据库的最常用标准化语言。MySQL软件采用了双授权政策(本词条“授权政策”),它分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择MySQL作为网站数据库。2.4 MVC设计模式的原理MVC设计模式是在20世纪80年代发明的一种软件设计模式,至今已被广泛使用,后来被推荐为 Sun 公司 J2EE 平台的设计模式。随着Web应用的商业逻辑包含逐渐复杂的公式分析计算、决策支持等,使客户机越 来越不堪重负,因此将系统的商业分离出来。单独形成一部分,这样三层结构产生了。 其中层是逻辑上的划分。2.4.1 MVC设计优点采用三层软件设计架构后,软件系统在可扩展性和可复用性方面得到极大提高,在资源分配策略设计合理运用的同时,软件的性能指标得到提升,系统的安全性也得到改善。三层体系结构对Web应用的软件架构产生很大影响,促进基于组件的设计思想, 产生了许多开发Web层次框架的实现技术。较之两级结构来说,三层结构修改和维护上 更加方便。目前开发B/S结构的Web应用系统广泛采用这种三层体系结构。2.4.2 MVC的运行机制在 MVC 模式中,Web 用户向服务器提交的所有请求都由控制器接管。接受到请求之后,控制器负责决定应该调用哪个模型来进行处理;然后模型根据用户请求进行相应的业务逻辑处理,并返回数据;最后控制器调用相应的视图来格式化模型返回的数据,并通过视图呈现给用户。2.5 STRUTS2 框架介绍Struts 2是Struts的下一代产品,是在 struts 1和WebWork的技术基础上进行了合并的全新的Struts 2框架。其全新的Struts 2的体系结构与Struts 1的体系结构差别巨大。Struts 2以WebWork为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与ServletAPI完全脱离开,所以Struts 2可以理解为WebWork的更新产品。虽然从Struts 1到Struts 2有着太大的变化,但是相对于WebWork,Struts 2的变化很小。当Web容器收到 请求(HttpServletRequest)它将请求传递给一个标准的的过滤链包括(ActionContextCleanUp)过滤器,然后经过Other filters(SiteMesh ,etc),接下来需要调用FilterDispatcher核心控制器,然后它调用ActionMapper确定请求那个Action,ActionMapper返回一个收集Action详细信息的ActionMaping对象。接下来FilterDispatcher将控制权委派给ActionProxy,ActionProxy调用配置管理器(ConfigurationManager) 从配置文件中读取配置信息(struts.xml),然后创建ActionInvocation对象,ActionInvocation在调用Action之前会依次的调用所用配置拦截器(Interceptor N) 一旦执行结果返回结果字符串ActionInvocation负责查找结果字符串对应的(Result)然后执行这个Result Result会调用一些模版(JSP)来呈现页面,之后拦截器(Interceptor N)会在被执行(顺序和Action执行之前相反)最后响应(HttpServletResponse)被返回在web.xml中配置的那些过滤器和(核心控制器)(FilterDispatcher)。2.6 JSP技术JSP是由SunMicrosystems公司倡导、许多公司参与一起建立的一种动态技术标准。在传统的网页HTML文件(*.htm,*.html)中加入Java程序片段(Scriptlet)和JSP标签,就构成了JSP网页java程序片段可以操纵数据库、重新定向网页以及发送E-mail等,实现建立动态网站所需要的功能。所有程序操作都在服务器端执行,网络上传送给客户端的仅是得到的结果,这样大大降低了对客户浏览器的要求,即使客户浏览器端不支持Java,也可以访问JSP网页。JSP全名为java server page,其根本是一个简化的Servlet设计,他实现了Html语法中的java扩张(以 形式)。JSP与Servlet一样,是在服务器端执行的,通常返回给客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户端。插入的Java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计的显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。 JSP(JavaServer Pages)是一种动态页面技术,它的主要目的是将表示逻辑从Servlet中分离出来。JSP页面由HTML代码和嵌入其中的Java代码所组成。服务器在页面被客户端请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。Java Servlet是JSP的技术基础,而且大型的Web应用程序的开发需要Java Servlet和JSP配合才能完成。JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。2.7 AJAX技术介绍AJAX 指异步JavaScript及 XML(Asynchronous JavaScript And XML)。国内翻译常为“阿贾克斯”和阿贾克斯足球队同音。Web应用的交互如Flickr,Backpack和Google在这方面已经有质的飞跃。这个术语源自描述从基于Web的应用到基于数据的应用的转换。在基于数据的应用中,用户需求的数据如联系人列表,可以从独立于实际网页的服务端取得并且可以被动态地写入网页中,给缓慢的Web应用体验着色使之像桌面应用一样。Ajax的核心是JavaScript对象XmlHttpRequest。该对象在Internet Explorer 5中首次引入,它是一种支持异步请求的技术。简而言之,XmlHttpRequest使您可以使用JavaScript向服务器提出请求并处理响应,而不阻塞用户。2.7.1 AJAX技术应用优势 AJAX不是一种新的编程语言,而是一种用于创建更好更快以及交互性更强的 Web 应用程序的技术。通过 AJAX,您的 JavaScript 可使用JavaScript的XMLHttpRequest对象来直接与服务器进行通信。通过这个对象,您的 JavaScript 可在不重载页面的情况与Web服务器交换数据。AJAX 在浏览器与 Web 服务器之间使用异步数据传输(HTTP 请求),这样就可使网页从服务器请求少量的信息,而不是整个页面。AJAX 可使因特网应用程序更小、更快,更友好。AJAX 是一种独立于 Web 服务器软件的浏览器技术。AJAX 基于下列 Web 标准:JavaScriptXMLHTMLCSS在 AJAX 中使用的 Web 标准已被良好定义,并被所有的主流浏览器支持。AJAX 应用程序独立于浏览器和平台。Web 应用程序较桌面应用程序有诸多优势;它们能够涉及广大的用户,它们更易安装及维护,也更易开发。不过,因特网应用程序并不像传统的桌面应用程序那样完善且友好。通过 AJAX,因特网应用程序可以变得更完善,更友好。2.7.2 AJAX在应用中的优点与缺点优点:传统的web应用允许用户填写表单(form),当提交表单时就向web服务器发送一个请求。服务器接收并处理传来的表单,然後返回一个新的网页。这个做法浪费了许多带宽,因为在前後两个页面中的大部分HTML代码往往是相同的。由于每次应用的交互都需要向服务器发送请求,应用的响应时间就依赖于服务器的响应时间。这导致了用户界面的响应比本地应用慢得多。与此不同,AJAX应用可以仅向服务器发送并取回必需的数据,它使用SOAP或其它一些基于XML的web service接口,并在客户端采用JavaScript处理来自服务器的响应。因此在服务器和浏览器之间交换的数据大量减少,结果我们就能看到响应更快的应用。同时很多的处理工作可以在发出请求的客户端机器上完成,所以Web服务器的处理时间也减少了。缺点:对应用Ajax最主要的批评就是,它可能破坏浏览器后退按钮的正常行为。在动态更新页面的情况下,用户无法回到前一个页面状态,这是因为浏览器仅能记下历史记录中的静态页面。一个被完整读入的页面与一个已经被动态修改过的页面之间的差别非常微妙;用户通常都希望单击后退按钮,就能够取消他们的前一次操作,但是在Ajax应用程序中,却无法这样做。不过开发者已想出了种种办法来解决这个问题,当中大多数都是在用户单击后退按钮访问历史记录时,通过建立或使用一个隐藏的IFRAME来重现页面上的变更。(例如,当用户在Google Maps中单击后退时,它在一个隐藏的IFRAME中进行搜索,然后将搜索结果反映到Ajax元素上,以便将应用程序状态恢复到当时的状态。2.8本章小结本章主要介绍了开发本系统所用到的相关技术,包括JAVA、JAVA EE、MySQL、MVC、JSP技术,同时详细介绍了STRUSTS2 框架的工作机制以及AJAX技术。第3章 网络相册管理系统需求分析3.1可行性分析3.1.1 系统总体目标本网络相册管理系统主要是给广大用户提供一个可以进行相册管理以及分享照片的平台,大家可以注册成为本管理系统的用户,本系统的用户登录以后,可以创建相册以及上传相片,还可以浏览他人相册进行评论,与其他用户进行互动,同时大家也可以对自己的相册设置浏览权限,保护自己的隐私。对于非本系统的用户也可以浏览其他人的相册,同时也可以对自己感兴趣的相片进行评论。本系统的管理员可以对用户进行管理,主要是删除一些非法用户。3.1.2 技术可行性分析这个网络相册管理系统是一种基于B/S模型的管理系统,主要用JAVA语言编码实现,运用了AJAX技术、JSP技术以及STRUS2技术,这些技术所用到的开发工具包括MyEclipse10、Tomcat 7.0服务器、后台数据库为MySQL;这些软件都是些最常用的一些软件,比较容易掌握,并且学习了这些网页开发技术,在实现功能上都比较容易实现,所以本网络相册管理系统在技术上是可以达到的。3.1.3 功能需求本网络相册管理系统前台在功能上应该具有:创建/删除相册、上传相片、编辑/删除相片、对相片进行评论、删除评论、用户注册、用户信息修改、相关信息的搜索;后台功能上应该具有:系统用户管理。3.1.4 性能需求操作系统:WindowsXP/Windows7操作系统; 内存:1G RAM;服务器:Tomcat服务器;数据库:MySQL数据库。3.2系统总体结构本网络相册管理系统所研究的问题大致分为:(1)用户基本信息管理:这一模块主要实现用户基本信息的维护,比如:修改自己的头像、修改登录密码等。(2)相册管理:此模块主要实现注册用户相册的基本管理,比如:创建相册、删除相册、对相册设定浏览权限,浏览权限包括公共相册与私有相册,前者允许任何用户浏览,私有相册只允许自己观看。(3)相片管理:此模块主要实现相片的上传与上传相片基本信息的编辑的功能。(4)评论管理:注册用户或游客都可以对自己感兴趣的照片进行评论。(5)分类搜索:注册用户或游客都可以在本系统进行基本信息的搜索。(6)系统管理:此模块主要实现管理员对系统用户的管理。3.2.1 系统总体结构系统管理后台网络相册平台前台用户基本信息管理相册管理相片管理评论管理分类搜索图2 总体架构图3.2.2 用例图用例图就对网站的各个用户的动作进行分解,分解之后再用一些画图软件把它画出来。网络相册管理系统的角色之一是注册用户。本系统的用例图如图3所示。用例名称:用户登录 执行者:注册用户目的:注册用户登陆以后,对系统操作的完整过程。(1)用户输入登录名与密码;(2)系统对用户信息进行识别;(3)用户完成创建相册、删除相册、上传相片、相片编辑、用户基本信息修改等一系列操作;(4)退出系统。图3 相册管理系统用例图3.3系统功能模块结构本网络相册管理系统共分为六个模块,前台有:用户基本信息管理、相册管理、相片管理、评论管理、分类搜索;后台有:系统管理。注册用户可以通过前台的前四个模块进行创建相册、删除相册、上传相片、相片的编辑、对相片进行评论,注册用户或游客可通过分类搜索在本系统进行相关信息的搜索,系统管理员通过系统管理这一模块可对系统用户进行管理。3.3.1 用户基本信息管理模块(1)业务描述:注册成为本系统的用户以后,登录系统,后台数据库把本用户的相关信息调出来,通过界面修改信息对用户基本信息进行修改,更新数据库,而没有注册为本系统用户的,可以根据提示进行注册。(2)业务流程。用户基本资料修改流程图如图4所示。 输入正确输入用户名和密码显示出错原因否是开始登陆进入修改资料页面结束图4 用户资料修改流程图(如图:每个文本框中的信息,请显示完全,下同)(3)错误处理:在本系统中允许修改的的信息不允许为空,否则系统会提示出错。 (4)输入数据:由用户输入相应的数据信息。(5)输出结果:无(6)角色说明:此功能主要是本系统的注册用户使用。3.3.2 相册管理模块(1)业务描述:创建相册就是为本用户添加一个新的相册。(2)业务流程:点击创建相册,创建一个新的相册,在创建时可以对相册的浏览权限进行设置,浏览权限包括公共相册和私有相册,前者允许所有用户浏览,而后者只允许自己浏览,创建成功后,可选择上传相片到该相册,点击上传按钮,选择上传路径进行上传,而且允许多图片一起上传,上传成功后,可浏览上传的的照片,也可以选择某一张照片设置为相册封面,用户还可以点击删除相册对相册进行删除,若需要对相册的某些信息进行修改,点击编辑即可对相册基本信息进行修改。新建相册流程图如图5所示。输入正确输入用户名密码进入新创建相册页面显示出错原因否是开始登陆结束图5 新建相册流程图 (3)错误处理:在本系统中允许修改的的信息不允许为空,否则系统会提示出错。 (4)输入数据:由用户输入相应的数据信息。(5)输出结果:相册列表中给予相应的显示即为输出结果。(6)角色说明:此功能主要是本系统的注册用户使用。3.3.3 相片管理模块(1)业务描述:对相册中的相片进行管理。(2)业务流程:用户点击相应的相册进行浏览,也可以点击上传相片到相应的相册,在上传相片页面可以根据自己的需要进行图片上传,对图片进行编辑。(3)输入数据:用户在图片信息编辑框内输入相片的基本信息。(4)角色说明:此功能主要是本系统的注册用户使用。3.3.4 评论管理模块(1)业务描述:本系统的注册用户可以通过该模块对其他人的评论进行管理,比如可以删除一些评论,而且可对其他用户的照片以注册用户的身份进行评论,非注册用户只能以游客身份对照片进行评论。(2)业务流程:浏览照片并对自己感兴趣的照片进行评论然后点击发布按钮。(3)错误处理:相应的数据信息必须由所有字段逐一给出。(4)输入数据:由用户以及游客输入相应的数据信息。(5)输出结果:无。(6)角色说明:此功能主要是本系统的注册用户使用。3.3.5 分类搜索(1)业务描述:注册用户或游客都可以按作者、相册、相片三个分类对自己需要的信息进行搜索。(2)业务流程:首先选择作者、相册、相片中的一个,再输入相关信息点击搜索。(3)错误处理:相应的数据信息必须由所有字段逐一给出。(4)输入数据:由用户以及游客输入相应的数据信息。(5)输出结果:列出系统所搜索到的结果。(6)角色说明:此功能主要是本系统的注册用户与游客使用。3.3.6 系统管理模块(1)业务描述:首先系统管理员输入用户名以及密码后,系统识别正确登陆以后,管理员可对注册用户进行管理,主要是删除非法用户,删除用户的同时连同用户的所有相关资料都一并删除。(2)业务流程:系统管理员登录后台管理系统后,系统会把所有注册用户列出来,管理员点击非法用户上面的删除按钮即可删除该用户的所有资料。(3)错误处理:无。(4)输入数据:系统管理员确认删除的非法用户。(5)输出结果:系统重新把用户列出来。(6)角色说明:此功能主要由系统管理员使用。3.4 数据库设计我们都知道系统工作的基础是数据库,因此设计一个合理的数据库结构,对系统整体会具有事半功倍的作用。根据前面叙述的系统结构并进行分析与设计,得到数据库表结构及关系如下:(1)系统管理员信息表包括管理员用户id、密码(password)、用户名(name)详细信息,如表1所示。表1 管理员信息表(表格命名方式同图片)字段名类型描述idInt主键(自增长)passwordVarchar(50)密码nameVarchar(50)用户名(2)用户注册信息表包括用户id、密码(password)、用户名(username)、用户活跃度(active)、用户创建时间(addtime)、昵称(nickname)、邮箱(email)、注册用户的头像(url)详细信息,如表2所示。(每个表应尽量放在一页内,如有困难,要加“续表X.X”字样,并有标题栏)表2 用户信息表字段名类型描述idInt主键(自增长)passwordVarchar(50)密码usernameVarchar(50)用户名activeInt用户活跃度addtimeDate用户创建时间nicknameVarchar(50)用户昵称emailVarchar(100)注册邮箱urlVarchar(50)用户头像路径(3)相册信息表包括相册id、相册介绍(introduce)、相册名(name)、相册封面图片路径(url)、相册被浏览次数(skimnum)、相册浏览权限(open)、创建日期(addtime)、所属用户的id(user_id)详细信息,如表3所示。表3 相册信息表字段名类型描述idInt主键(自增长)introduceVarchar(50)相册介绍nameVarchar(50)相册名称urlVarchar(100)相册封面图片路径skimnumInt被浏览次数openpder_Int相册浏览权限addtimeDate创建时间user_idInt所属用户id(外键)(4)相片信息表包括相片id、相片介绍(desc)、所属用户名称(from_user)、相册的id(外键)(album_id)、相片路径(url)、创建时间(addtime)、相片名称(name)、详细信息,如表4所示。表4 相片信息表字段名类型描述idInt主键(自增长)descVarchar(50)相片介绍from_userVarchar(100)所属用户名称album_idInt所属相册的id(外键)urlVarchar(50)相片路径addtimepder_Date创建时间nameVarchar(255)相片名称(5)评论信息表包括评论id、相片所属用户的昵称(nickname)、所属相片的id(外键)(photo_id)、创建时间(addtime)、评论用户头像的路径(url)、评论内容(content)详细信息,如表5所示。表5 评论信息表字段名类型描述idInt主键(自增长)nicknameVarchar(50)相片所属用户的昵称photo_idInt所属相片的id(外键)addtimeDate创建时间urlpder_Varchar(100)评论用户头像的路径contentVarchar(50)评论内容3.5 本章小结本章主要叙述了本网络相册管理系统的目标、可行性分析、数据库设计、功能与性能需求以及各功能模块结构。同时也给出了用例图以及各功能模块的流程图,接下来的任务是对本系统各模块的实现。每一章均重新开始一页设置不正确,“页面布局分隔符分页符”第4章 系统实现系统实现的主要目标通过把各个模块的详细设计描述出来,以便在编码阶段把描述出来的详细设计直接用程序设计语言编写成程序。本章主要描述各个模块的详细设计。4.1用户注册设计用户注册页面要给用户良好的体验,注册页面为了防止用户非法注册,会生成动态验证码,同时在检测用户名是否有效时,采用了AJAX技术来检测,当用户提交注册信息时,系统会利用JavaScript脚本来检测用户信息是有效,若无效,系统会提示错误。用户注册页面如图6 所示。图6 用户注册页面4.1.1 注册页面的设计页面的设计采用CSS样式表,为了方便,编写一个photo.css文件,在每个jsp页面都引入这个css文件,当需要变更某些静态属性时,就直接修改这个css文件,大大提高效率。注册页面为了防止用户非法注册,会生成动态验证码,动态验证码,就是随机产生的一串符号或数字,再加上一些干扰素来组成一幅图片,由用户输入其中的验证码信息,提交网站验证,系统验证信息成功后就可以继续操作。同时在检测用户名是否有效时,采用了AJAX技术来检测,当用户有效时,用户名字段后会提示此用户名有效,反之提示用户名无效。4.1.2 注册页面主要实现代码public class RegisterAction extends MySuperAction private static final long serialVersionUID = -4512894791086068073L;private String VerifyCode;private String username;private String nickName;private String password;private String rePassword;private String email;public String getVerifyCode() return VerifyCode;public void setVerifyCode(String verifyCode) VerifyCode = verifyCode;public String getUsername() return username;public void setUsername(String username) this.username = username;public String getNickName() return nickName;public void setNickName(String nickName) this.nickName = nickName;public String getPassword() return password;public void setPassword(String password) this.password = password;public String getRePassword() return rePassword;public void setRePassword(String rePassword) this.rePassword = rePassword;public String getEmail() return email;public void setEmail(String email) this.email = email;SuppressWarnings(unchecked)public Stri

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论