基于SSM的虚拟资源共享平台的设计与实现毕业设计
资源编号 92

#最新
基于SSM的虚拟资源共享平台的设计与实现毕业设计

增值服务选项:
免费远程安装部署
论文付费代写
项目付费定制开发
项目付费全方位讲解
详情介绍

是否包含论文文档

详细描述

随着互联网技术的高速发展,各行业的资源信息在网络上飞速流转,其中不乏一些极具价值的资料和资源,比如,流行的开发工具和插件,时新的文档API,又或者是多媒体和游戏制作领域炙手可热的精致素材集合。每一种都是需要耗费巨大人力或者不菲的金钱才能得到的。本套系统正是致力于构建纯净绿色的资源共享平台,减少开发人员为开发资源的消耗而建立。通过支付极少的费用,共享优质资源,加快开发进度,推进世界的创新。纵观国内外相关网站的运营和设计情况,发现部分网站已经偏离了自己当初的道路,本来旨在分享免费无毒绿色的软件等资源,但是现在却是被各种钓鱼链接,木马病毒等各种不良信息所占据,饱受广大网民的诟病。因此,构建一个绿色的分享网站势在必行。

技术描述

开发工具: idea/eclipse

数据库: mysql

Jar包仓库:Maven

前段框架:jquery/Jsp

后端框架: SpringCloud/Spring/SpringMVC/Mybatis

 

项目截图描述

           

 

 

 

 

 

 

 

毕业设计(论文)

 

论文题目

 基于SSM的虚拟资源共享平台的设计与实现

Thesis Topic

Design and Implementation of Virtual Resource Sharing Platform Based on SSM Architecture

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

                                        

 

 

毕业设计(论文)题目:

基于SSM的虚拟资源共享平台的设计与实现

毕业设计(论文)要求及原始数据(资料):

1.综述国内外文档资源、软件资源共享平台运行现状;

2.深入了解企业分布式架构的相关理论和技术;

3.熟练掌握主流SSM架构的应用,提高编写WEB编程的能力;

4掌握并实现Redis内存数据库集群的搭建和使用

5掌握并实现Solr全文检索引擎的搭建,配置和使用

6.深入分析JQuery EasyUI KindEditor件的关键技术与实现原理

7.训练检索文献资料和利用文献资料的能力;

8.训练撰写技术文档与学位论文的能力。

 

 

2

毕业设计(论文)主要内容:

1.综述纯净安全的虚拟资源平台在实际开发中的应用必要

2详述平台涉及分布式构架的相关技术;

3熟悉项目平台的关键技术以及相关组件的开发环境; 

4深入分析项目在后台系统等各个部分的业务和实际流程

5. 深入分析项目在前台门户和服务子系统等各个部分的业务和设计流程

6.熟练掌握基于SSM架构的WEB项目的实现原理和实现过程

7.设计与实现虚拟资源共享平台项目Sight Share

 

 

学生应交出的设计文件(论文):

1.内容完整、层次清晰、叙述流畅、排版规范的毕业设计论文;

2.包括毕业设计论文、源程序等内容在内的毕业设计电子文档及其它相关材料。

                                                 

 

3

主要参考文献(资料):

[1] 张军朝JavaEE技术与应用[M]. 北京电子工业出版社2016.

[2] 杨文龙软件工程[M].二版北京: 电子工业出版社2005.

[3] 美)Shari Lawrence Pfleeger. 软件工程(第二版 影印版)[M]. 北京:高等教育出版社,2001.

[4] 英)Lan Sommerville. 软件工程(英文 第7版).北京:机械工业出版社,2004.

[5] Rod Johnson. Spring框架高级编程[M]. 北京:机械工业出版社,2008.

[6] Seth Ladd. 深入解析SpringMVCWeb Folw[M]. 北京:人民邮电出版社,2008.

[7] Rob Harrop. Spring专业开发指南[M]. 北京:电子工业出版社,2006.

[8] (美)Craig Walls. Spring in Action 4TH Edition[M]. 美国:Manning,2014.

[9] 王小东高性能MySQL[M]. 北京:电子工业出版社,2010.

[10] 刘鑫高性能网站构建实战[M]. 北京:人们邮电出版社,2012.

[11] 方腾飞. JAVA并发编程的艺术[M]. 北京:机械工业出版社,2016.

[12] ()  Erich Gamma. 设计模式[M]. 北京:机械工业出版社,2014.

[13] () Addison-Wesley,Reading, MA. NEXTSTEP General Reference: Release 4, Volumes 1 and 2, 2004.

[14] 陈昊鹏. Java编程思想[M]. 北京:机械工业出版社,2016.

[15] 吴海星. JAVA程序员修炼之道[M]. 北京:人民邮电出版社,2015.

 

 

 

 

 

 

基于SSM的虚拟资源共享平台的设计与实现

 

  

 

课题设计的虚拟资源共享平台是完整的电商平台,是基于主流的SSM架构创建的WEB项目。涉及时新技术有Maven聚合工程,图片服务器,分布式架构,Redis缓存集群,Solr模糊查询,JSONP跨域请求,反向代理等多达十余种,目标平台瞬时访问量可以承受1000-2000QPS。对于用户来说,它是一个综合性的B2C平台,类似京东商城、天猫商城,平台的自营性确保所上传资源的安全纯净,能为用户提供良好的购买资源的体验。平台还提供常规的用户登陆注册功能,注册会员可以在平台上查询并浏览需要的虚拟资源、下订单,以及参加各种活动,并最终通过网盘自助提取或人工快递的方式发送用户购买的资源。管理员、运营人员可以在平台的后台管理系统中管理资源商品、管理首页广告位、以及配置部分功能页面等。

 

关键词 电商平台;SSM框架;聚合工程;分布式架构;Redis缓存集群

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Design and Implementation of Virtual Resource Sharing Platform Based on SSM Architecture

 

Abstracts

 

This set of virtual resource sharing platform is a complete power business platform, is based on the mainstream SSM architecture to create the WEB project. The new technologies include Maven aggregation engineering, image server, distributed architecture, Redis cache cluster, Solr fuzzy query, JSONP cross domain request, reverse proxy, and so on. The target platform can accept 1000-2000QPS instantaneous traffic. For users, it is a comprehensive B2C platform, similar to Jingdong Mall, Lynx Mall, self-reliance to ensure that the resources of the safe and secure, can provide users with a good purchase of resources experience. Registered members can query and browse the required virtual resources on the platform, place orders, and participate in various activities, and ultimately through the network disk self-extraction or manual delivery of the way to send users to buy resources. Administrators, operators can manage the resources in the background management system platform, manage the first page advertising, and configure some of the function pages.

 

 

Key words: Electronic business platform; SSM framework; aggregation engineering; distributed architecture; Redis cache cluster;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  

摘要............................................................................................................................................i

Abstract......................................................................................................................................ii

绪论

1.1 课题的背景及来源

1.2 课题研究的意义

1.3 课题的研究方法

1.3.1 研究国外资源共享平台的运营情况

1.3.2 研究国内资源共享平台的设计实现情况

1.4 可行性研究前提

1.5 课题的可行性分析

1.5.1 经济可行性分析

1.5.2 技术可行性分析

1.5.3 社会因素的可行性分析

1.6 论文组织结构

平台涉及的技术选型架构

2.1 开发工具简介

2.1.1 Eclipse Neon

2.1.2 Vmare Workstation 12

2.2 关键技术简介

2.2.1 分布式系统

2.2.2 Maven聚合工程

2.2.3 RESTful服务

2.2.4 Redis缓存集群

2.2.5 Solr全文搜索服务

2.2.6 JSONP解决跨域访问

2.3 平台选用的体系结构

2.3.1 SpringMVC体系结构

2.3.2 系统抽象体系结构

2.3.3 平台的网路拓扑图

2.3.4 平台目标运行的软硬件环境

平台的数据模型层(Model)设计

3.1 数据库概念结构模型设计

3.2 数据库逻辑结构模型设计

3.3 数据库物理结构模型设计

平台的页面流(View)分析

4.1 后台界面分析

4.2 前台界面分析

平台的各模块业务(Controller)设计

5.1 后台管理系统模块设计

5.1.1 业务流程分析

5.1.2 表示层

5.1.3 控制层

5.1.4 模型层

5.2 前台门户模块设计

5.2.1 业务流程分析

5.2.2 表示层

5.2.3 控制层

5.2.4 模型层

5.3 订单系统模块设计

5.3.1 业务流程分析

5.3.2 表示层

5.3.3 控制层

5.3.4 模型层

5.4 服务系统模块设计

5.4.1 业务流程分析

5.4.2 表示层

5.4.3 控制层

5.4.4 模型层

5.5 搜索系统模块设计

5.5.1 业务流程分析

5.5.2 表示层

5.5.3 控制层

5.5.4 模型层

5.6 登陆系统模块设计

5.6.1 业务流程分析

5.6.2 表示层

5.6.3 控制层

5.6.4 模型层

资源共享平台的实现

6.1 后台管理页面

6.1.1 页面各功能

6.1.2 增删改查资源条目

6.1.3 增删改查模版信息

6.1.4 增删改查广告信息

6.2 前台展示页面

6.2.1 页面各功能

6.2.2 搜索资源

6.2.3 选购并登陆

6.2.4 结算并提取

结论..........................................................................................................................................46

参考文献..................................................................................................................................47致谢..........................................................................................................................................48

英文原文..................................................................................................................................49中文翻译..................................................................................................................................63

 

 绪论

1.1   课题的背景及来源

随着互联网技术的高速发展,各行业的资源信息在网络上飞速流转,其中不乏一些极具价值的资料和资源,比如,流行的开发工具和插件,时新的文档API,又或者是多媒体和游戏制作领域炙手可热的精致素材集合。每一种都是需要耗费巨大人力或者不菲的金钱才能得到的。本套系统正是致力于构建纯净绿色的资源共享平台,减少开发人员为开发资源的消耗而建立。通过支付极少的费用,共享优质资源,加快开发进度,推进世界的创新。

纵观国内外相关网站的运营和设计情况,发现部分网站已经偏离了自己当初的道路,本来旨在分享免费无毒绿色的软件等资源,但是现在却是被各种钓鱼链接,木马病毒等各种不良信息所占据,饱受广大网民的诟病。因此,构建一个绿色的分享网站势在必行。

本论文将介绍SightShare资源共享平台网站系统的整个设计与实现过程。该系统采用B/S架构,面向的用户区主要针对的是各类开发人员包括前端和后端各类型。整个系统由后台管理系统,前台门户系统,搜索子系统,服务子系统,单点登录系统,订单系统以及自助取货系统组成。分布式架构,可以简单的通过增加物理服务器来提高整个系统的性能,以保证整个系统的稳定运行。

1.2 课题研究的意义

如课题的研究背景述写的那样,国内网相当部分的资源下载分享网站的运营情况不容乐观,与平台最初设计相背离,因此,为拨乱反正,完成一个真正意义上的资源分享网站,是本次课题研究的最重要目的。

本次设计选题就是要建立一个自营式的资源共享网站,共享优质资源。网站系统的自营性保证上传软件以及其它资源的安全无毒绿色,并对分享金额进行控制,保证最低价格,避免外部用户恶意抬价或者囤货居奇。最终伤害网站和众多开发者的利益,这是我们所不想看到的。

 

1.3 课题的研究方法

课题的研究方法是参考国内外相关资源共享平台的设计理念和运行现状,确定应该实现的功能有哪些,要注意平台在实际运行是应注意的问题。再结合课题的需求分析,作出常规但不失创新的一个软件设计项目。

1.3.1  研究国外资源共享平台的运营情况

Dreamstime(梦想时光)全球有名望的库存图片供应商,网站功能主要提供有较高质量价格低廉数字图片。Dreamstime社区的专业摄影师将为Dreamstime网站提供高质量多类型的数码图片,图片大部分是胶片或者数码相机拍摄制作。而且可以保证网站上的图片都会被审核过。该网站声称他们的数据库系统条理化,包含各种类目并且每天更新快,为全世界用户更新成千上万的新图片及主题。并与寻求照片产品的专业人士(通讯机构,广告代理,出版社等)进行交流。该网站将传统的股票代理商每张图像收费从几百到几千美元,而摄影摄影可能售价在25美分左右。但该公司的营业额却没有因此而减少,反而每年以数倍的方式在增长。不仅达到了分享照片的目的,也让公司增加了收入。这是个好例子。但是外国也是存在以下这样的网站。https://sourceforge.net/ www.anfensi.com 等等网站在国外也是需要绕道而行的,不光体验特别差,而且下载的内容也不让人放心。

1.3.2  研究国内资源共享平台的设计实现情况

朱峰社区(ZF3D.com)在其宣传中讲到,该网站将为所有热爱CG动画的人士提供最新最快的教学视频。并且会持续不断的更新内容,该网站的内容包括3D动画、平面设计、室内设计、游戏原画与动画教学、影视合成及动画、建筑构图及动画。朱峰社区,致力于成为一家服务于亚洲市场,打造一个领先综合社区服务平台为全亚洲的电脑IT人士学习成长。

朱峰社区(ZF3D.com)的教程向来以高质量简单易懂为目标,让学习者最好理解、掌握是他们的目标,所有的教程都是以实例为基础,帮助学员更好理解和对比,其次他们采用行业内的公司标准,帮助在朱峰社区注册的学员养成良好习惯,适应公司需求,最终达到快速就业的目的。此外,该平台还积极与广大会员切磋交流,追求教程技术与现代社会不脱节。

依靠优质时新的精致视频内容和领先的开放性技术平台,朱峰社区(ZF3D.com),不仅名声在外而且也赢得内部会员赞不绝口,网站以社区会员满意并解决根本问题为目的不断发布时新的技术教程和博客。数年时间内内,打造出了专业的视频教程社区,网站内的教程全部是网站技术人员总结自身实践经验然后自我录制,为社区会员提供从零基础到中高端的简单易懂的优秀教程,坚持不断更新,并在后期提供技术支持。这样看来,这个社区的运行现状还是不错的,已经从资源分享网站逐步过度到了离线教育平台,通过离线的视频教程和多年来收集的海量优秀资源帮助学员快速成长。

其它优秀的例子还有很多:http://www.cgmodel.cn/forum.php CG模型网

www.6m5m.com/index.php 6M5M共享 www.gfxcamp.com 龋齿一号等都是可圈可点的优秀网站。

同时不可否认的是:http://www.greenxf.com 绿色先锋 http://crsky.com  非凡软件 http://www.cncrk.com 起点下载 等等 几乎充满了钓鱼连接和广告,更有甚者直接是病毒下载连接。

由此看来,国内外的这类网站中还是有一些分享优质资源,安全绿色的优秀网站,但也存在不少,由于利益或者其它因素驱动而导致网站内容崩坏的恶劣网站。

但是都缺少针对开发人员量身打造的资源共享网站,所以在我看来,还是很有必要来实现这次的毕业设计的。

 

1.4 可行性研究前提

本课题的主要研究目标是依据现代电商网站的系统构架进行设计并实现适合开发人员的资源共享网站。发布有价值,纯净安全绿色的优质资源,减少开发人员寻找国内外优质资源的时间,加快开发进度,提高开发效率。针对上述研究目标,本论文将主要完成以下的内容:采用面向对象的设计思想,分布式架构的现代企业构架,软件工程给恒UML建模技术,以SSM(Spring SpringMVC Mybatis) 作为开发框架,Solr作为全文搜索服务器提供搜索服务,Redis作为缓存服务器,以Nginx作为负载均衡服务器,Tomcat作为应用服务器,开发一套完整的,可靠的,目标达到1000-2000QPS的资源共享系统。该系统包括后台管理系统,前台门户系统,搜索子系统,服务子系统,单点登录系统,订单系统以及自助取货系统组成。该系统具有如下主要特点:

(1)功能完整

系统以虚拟资源的共享为主要功能,严格参照当代电商企业的商品资源的管理理念进行架构设计,偏重实现对虚拟资源商品从增加到自助取货全过程全方位的管理实现。整个系统包括了上述的6个子系统。

(2)分布式架构

按照现代企业的架构方式,把整个资源共享系统按照模块功能的不同拆分成多个子系统。这样做的优势在于1.把模块拆分,使用接口通信,降低模块之间的耦合度。2.把整个项目拆分成若干个子项目,不同的团队负责不同的子项目,加快了开发的进度。3.当需求改变,增加功能时只需要再增加一个子项目,调用其他系统的接口就可以实现整个系统的升级。4.可以灵活的进行分布式部署,当某一节点压力过大时,通过增加物理设备,提高系统的鲁棒性,保证整个系统的稳定运行。

(3)B/S架构轻客户端模式

对于客户机,只要拥有浏览器等基础软件,就不需要安装其它的软件了,业务系统的整个逻辑基本都在服务器端集中控制和管理。这样的架构模式降低了整个系统在运维或者更新的难度,同时也会降低运维人员的工作量,从某种意义上来说做到了客户机系统的零管理。

1.5 课题的可行性分析

1.5.1  经济可行性分析

本课题系统的预期目标是设计并实现适用的虚拟资源共享系统,通过系统能够有效的降低开发人员在资源寻找方面耗费的时间,提高开发人员的开发效率,降低生产成本课题项目在运行中,以低价高质的纯净资源为卖点,吸引众多开发者。当拥有一定的用户数量时,广告收入将成为系统盈利的主要来源。此外,网站中的大部分资源的在线自助提取的,从根本上杜绝了在人力方面消耗。

同时应注意到,大部分最新资源在国外网站中,而且是免费的,但是开发者因为语言问题,网络问题等问题迟迟获取不到,系统项目作为一个中间层,帮助开发者解决这个问题。所以说在经济可行性方面是没有太大问题的。

1.5.2  技术可行性分析

本课题系统的预期目标是设计并实现适用的虚拟资源共享系统,通过系统能够有效的降低开发人员在资源寻找方面耗费的时间,提高开发人员的开发效率,降低生产成本,并且能够是的整个系统平稳运行能够抗住较大的并发数能够动态的增加或者删除服务器节点的方法增强某个节点的抗压能力,从而提高系统在高并发下的鲁棒性。因此,这篇论文将整个资源共享系统概要设计起步遵照软件工程对软件开发的基础过程开始在确保系统的稳定性易维护性、可扩展性,力求保证系统的安全机制。

本套系统将以JAVA为编程语言,以Maven作为版本控制工具,聚合工程粘合各个子系统。每个系统都是采用时新的SSM架构完成,MVC三层架构分离业务逻辑和显示层,6个子系统则是架设在Vmare虚拟机上,以分布式系统的规格和模式,发布相关Restful服务,为其它子系统来服务。缓存子系统还涉及到Redis缓存集群,搜索子系统则应用到了Solr全文检索服务,JSONP的跨域访问将出现在整个系统中各个模块。

以上所涉及的技术领域,通过作者在校期间的积累和自我学习之后,已经可以实现对相关服务的组件基本的操作和使用,并且对于整个项目的构架有了相当的经验,搜易在技术可行性方面是没有问题可以通过的。

1.5.3  社会因素的可行性分析

本次课题项目是参考国内外相关网站的运行模式和设计理念,目的是为了方便光大的程序设计人员,减少重复无用工作,提高工作产出,帮助社会进步。所以在设计意图上是没有任何问题的。

在法律因素和合同责任、侵犯专利权和频繁版权等问题中。网站存放的都是免费开源的集成开发环境,时新工具或者框架。只要是遵守Apache License 或者GNU General Public License等协议标准的都可以进行分享下载。在涉及收费资源的分享的环节,作者会尊重版权,购买相关软件,并以低价的方式分享,在保护产权的同时,分享给其它开发者。

即使完成以上工作,还招致一些版权问题的通知或者警告,系统将直接操作数据库的方式,删除违规资源,确保全部资源的合法有效。

所以,在社会因素方面,这个项目的可行性还是可以通过的。

1.6   论文组织结构

论文将采用详实的语句记录该系统从规划环节和实践落地的全过程,主要内容有:

第一章:绪论。简单描述了本文的背景、选题理由、论文涉及内容,以及国内外在资源共享平台建设领域的现状,也汇报了本系统将要采用的调研方法与应用的技术。

第二章:平台涉及的相关技术简介和技术选型。主要包括分布式系统、Maven聚合工程、RestFul服务、Redis缓存集群、Solr全文搜索服务、JSONP解决跨域访问。

第三章:系统的模型层的设计。包括实体关系图,实体关系映射等设计工作。是持久化信息的重要依据。。

第四章:系统的界面分析与设计。详细的介绍了系统各个界面应实现的功能。

第五章:系统的业务逻辑分析,控制页面渲染和数据流通的重要一环,以逻辑视图为线索,涉及关联的控制器,以及其它相关的服务层和工具类设计。

第六章:共享平台实际运行的效果。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  平台涉及的技术选型架构

2.1   开发工具简介

2.1.1  Eclipse Neon

Eclipse 是基于Java的可扩展开发并且是一个开放源代码的集成开发工具。是大部分JAVA开发者首选的开发平台。

其中Neon是当前Eclipse的最新版本,集成Maven插件,并支持JavaJavaScriptC/C++PHPFortran等多种编程语言。但值得注意的是Neon只支持JDK1.80版本或者更高的版本。

2.1.2  Vmare Workstation 12

Vmare可以使你在一台机器上同时运行二个或更多WindowsDOSLINUX系统。与“多启动项”的PC系统相比,VMWare提出了各种不同的定义。众所周知,在多启动项系统中存在一个弊端,也就是在相同时刻只能开启一个操作系统,需要重新启动机器之后,才能进行在其它操作系统的切换。VMWare可以像标准Windows应用程序那样切换操作系统,使在一个PC机上同时运行多种操作系统,而且该技术的亮点之处在于,在虚拟机上安装的操作系统,都独立拥有自己的虚拟分区,通过读写文件的方式存储虚拟机中产生的数据,减少或者杜绝影响宿主机上的磁盘数据。更值得一提的是,虚拟机与宿主机之间并不是简单的共享内存单元,共享网卡等硬件设备,而是将硬件设备虚拟化,一个硬件设备虚拟成多个设备,每个虚拟机都独立拥有自己唯一的一套硬件,实现与真实物理机无差别的用户体验。

例如,要完整运行本次项目,最少需要开启一台本地主机和三台虚拟机共四台意义上PC才可以运行。但使用了Vmare,单靠作者一台电脑便能同时操作他们。

2.2   关键技术简介

2.2.1  分布式系统

分布式系统(distributed system)是一种时新的软件系统,不同于常规的应用将网络作为一种资源来处理,分布式系统则是将系统模块架设在网络之上,通过接口调用方式,协作共同完成整个软件项目的功能。由此,分布式系统的轻耦合和透明性,两大特点被发挥的淋漓尽致。

此外这种新型的构架方式,还让模块之间的界限划分的更清晰,每个模块的关注点集中,逻辑也更为清晰,不论是在开发还是之后的维护中,都有划时代的意义。

在本次项目中,将会有6个子系统:除了常规前台系统,后台系统还独立划分出了REST服务子系统,查询服务子系统,订单系统,单点登陆系统。对于数据库和图片服务器来说,也是独立的。这样划分的好处是:可以通过增加硬件设备,提高各个服务器节点的抗压能力。即使是在生产环境中,也不需要停机来更新系统,大大提高了系统的可用性和用户的体验。

 

2.1  Sight Share 项目的分布架构示意图

2.2.2  Maven聚合工程Maven是一个项目管理和综合工具。Maven作为项目的生命周期框架,规划了项目从开发、测试部署维护全生命周期的管理,提供了对项目依赖的标准化,简化和方便了项目在交接、移植等方面的工作。

在多人协同(公司环境)开发同一个项目是,Maven作为版本控制工具,可以实现在较短的时间周期内完成整个项目的配置工具,从根本上杜绝了,因为JAR包或者其它依赖版本不同而导致项目不能运行,编译报错的问题。不得不说,Maven使得程序设计人员的工作的到了极大的简化。此外,Maven还可以设置其他插件使得项目在编译,运行的自动化测试方面,较之以前有了很大的改善。

总的来说,Maven简化和标准化项目建设过程。处理编译,分配,文档,团队协作和其他任务的无缝连接。 Maven增加可重用性并负责建立相关的任务。     

2.2  Sight Share 项目子系统依赖图

2.2.3  RESTful服务

REST即表述性状态传递(英文:Representational State Transfer,简称REST),是一种时新的软件架构风格。还是一种针对网络应用的设计和开发方式,可以降低开发的复杂性,提高系统的可伸缩性。

它的轻量级web服务,发挥了HTTP协议的原生的GETPUTPOSTDELETE的优势。 REST模式的Web服务与传统的复杂SOAPXML-RPC对比来讲明显的更加简洁,越来越多的web服务开始采用REST风格设计和实现。例如,Amazon.com提供接近REST风格的Web服务进行图书查找;雅虎提供的Web服务也是REST风格的。

2.2.4  Redis缓存集群

Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API

Redis支持主从同步。数据可以从主服务器向任意数量的从服务器上同步,从服务器可以是关联其他从服务器的主服务器。这使得Redis可执行单层树复制。存盘可以有意无意的对数据进行写操作。由于完全实现了发布/订阅机制,使得从数据库在任何地方同步树时,可订阅一个频道并接收主服务器完整的消息发布记录。同步对读取操作的可扩展性和数据冗余很有帮助。

在本次项目中,前端系统和订单系统大规模使用了redis缓存这种内存数据库,提高响应速度,降低用户等待时间,改善用户交互体验。

2.2.5  Solr全文搜索服务

Solr是一个独立的企业级搜索应用服务器,它对外提供类似于Web-serviceAPI接口。用户可以通过http请求,向搜索引擎服务器提交一定格式的XML文件,生成索引;也可以通过Http Get操作提出查找请求,并得到XML格式的返回结果。

2.2.6  JSONP解决跨域访问

JavaScript是一种在Web开发中经常使用的前端动态脚本技术。在JavaScript中,有一个很重要的安全性限制,被称为“Same-Origin Policy”(同源策略)。然而,当进行一些比较深入的前端编程的时候,不可避免地需要进行跨域操作,这时候“同源策略”就显得过于苛刻。JSONP跨域GET请求是一个常用的解决方案。

 

2.3 平台选用的体系结构

目前WEB企业应用软件项目中有很多体系结构,SpringMVC是近年来最受欢迎的一款。不仅是为了接触学习时新的技术框架也是为更好的融于社会,使用公司开发环境,因此选择这个最为常用的框架作为本课题的项目框架。

2.3.1  SpringMVC体系结构

Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。使用 Spring 可插入的 MVC 架构,可以选择是使用内置的 Spring Web 框架还是 Struts 这样的 Web 框架。通过策略接口,Spring 框架是高度可配置的,而且包含多种视图技术,例如 JavaServer PagesJSP)技术、VelocityTilesiText 和 POISpring MVC 框架并不知道使用的视图,所以不会强迫开发者只使用 JSP 技术。 Spring MVC 分离了控制器、模型对象、分派器以及处理程序对象的角色,这种分离让它们更容易进行定制。

 SpringMVC框架主要由DispatcherServlet、视图解析器、视图处理器映射、处理器(控制器)组成。

B-9显示了SpringMVC实现的MVC框架

 

2.3  SpringMVC实现的MVC框架

 

1. 用户向服务器发送请求,请求被Spring 前端控制Servelt DispatcherServlet捕获;

2. DispatcherServlet对请求URL进行解析,得到请求资源标识符(URI)。然后根据该URI,调用HandlerMapping获得该Handler配置的所有相关的对象(包括Handler对象以及Handler对象对应的拦截器),最后以HandlerExecutionChain对象的形式返回;

3. DispatcherServlet 根据获得的Handler,选择一个合适的HandlerAdapter。(附注:如果成功获得HandlerAdapter后,此时将开始执行拦截器的preHandler(...)方法)

4.  提取Request中的模型数据,填充Handler入参,开始执行HandlerController)。 在填充Handler的入参过程中,根据你的配置,Spring将帮你做一些额外的工作:

 HttpMessageConveter: HTTP请求Json-to-Object将一个Json编码的对象转换为一个Java类型对象

数据转换:对请求消息进行数据转换。如String转换成IntegerDouble

数据根式化:对请求消息进行数据格式化。 如将字符串转换成格式化数字或格式化日期等

数据验证: 验证数据的有效性(长度、格式等),验证结果存储到BindingResultError

5.  Handler执行完成后,向DispatcherServlet 返回一个ModelAndView对象;

6.  根据返回的ModelAndView,选择一个适合的ViewResolver(必须是已经注册到Spring容器中的ViewResolver)返回给DispatcherServlet 

7. ViewResolver 结合ModelView,来渲染视图

8. 将渲染结果返回给客户端。

2.3.2  系统抽象体系结构

平台下的各个子系统都按照MVC的架构模式实现各个功能。

根据共享平台的分析结果,平台应从结构上应满足:

通过浏览器方式展现页面方便用户使用;

采用MVC的三层架构,分布式部署各个子系统模块,出于对提高平台的抗压性考虑;

调用阿里巴巴的德鲁伊连接池与数据库通信并管理数据库连接对象

采用JSAJAX(异步加载)完成动态页面中的简单输入验证和部分逻辑。

本系统的体系结构如图2.4所示,它基本遵循了SpringMVC体系的MVC框架规范。

              2.4  系统的抽象体系结构图

其中:

表示View层,给用户提供交互页面方便与台进行交互并返回对应的提示语。包括全部的JavaServletPage页面,生成用户界面,保存用户键入数据,其中还应包含响应的JS标签值,用于回传显示结果值。

控制Controller层,只有web.xml文件是你必须在Java web容器的创建的描述性文件,在这个文件中配置的ServletSpring MVC控制器—习惯命名为Dispatcher Servlet,是一种已经被发明出来的控制器设计模式。而且每个web请求需要通过控制器来管理整个HTTP请求过程(从请求开始到返回响应的返回值)。

模型Model层,Model基本都是由POJO对象组成,它在Service层中被封装,被加载,在数据库层中被入库,做永久保存处理。

 

平台网络请求流向如图2.5所示

     

2.5 平台网络请求流向

 

1) 表现层:用于与资源共享平台进行交流互动以及显示某种操作之后的提示语,引导用户继续操作完成流程。

2) SOA业务服务层:Service层,在用户点击某一按钮发送一个请求的之后,控制器接受,服务层去处理响应的业务逻辑,得到返回值后,返回给控制器层,控制器再以HTTP请求的方式返回给页面,页面封装返回值,给用户执行这个操作之后的结果提示语。在这一层次中是可以添加缓存的,添加到缓存中的数据可以直接通过缓存拿到,减少了直接当问数据库的过程,减轻了数据库的压力。

3) 系统服务层:包括NoSQL(缓存服务),Solr索引库以及实现后台管理系统的管理按钮等。

4) 数据层:指关系型数据库集群

2.3.3  平台的网路拓扑图           

其中,PC用户就是指通过PC浏览器进行浏览前台门户系统的用户,可以是游客也可是注册会员,手机用户是指通过无线端的浏览器或者应用来访问前台门户系统的用户。

2.3.4  平台目标运行的软硬件环境

本系统的硬件环境如下。

1) PC用户:普通PC

CPU: i5 2.6Ghz x2

内存:8GB

能够运行IE8以上、Firfox45以上、Chrome50以上或者Microsoft Edge的机器

分辨率:推荐使用1366*768像素

2) Nginx服务器

CPU: i5 2.6Ghz x2

内存:8GB

硬盘:500GB

网卡100KMb/s速度网卡

3) Tomcat服务器

CPU: i5 2.6Ghz x2

内存:8GB

硬盘:500GB

网卡100KMb/s速度网卡

4) Redis服务器

CPU: i5 1.0Ghz x2

内存:1GB

硬盘:20GB

网卡100KMb/s速度网卡

5) Solr服务器

CPU: i5 1.0Ghz x2

内存:1GB

硬盘:20GB

网卡100KMb/s速度网卡

6) Mysql服务器

CPU: i5 2.6Ghz x2

内存:8GB

硬盘:500GB

网卡100KMb/s速度网卡

 

本系统的软件环境如下:

操作系统:UNIX/LINUX/Windows2000或以上版本

数据库:MYSQL 5.7

开发工具包:jdk1.8.0_111

开发环境:Eclipse-Neon.1

WEB服务器:Tomcat

浏览器:Microsoft Edge、 Chrome 52Firefox 46

 

 

 

 

 

 

 

 

 

 

 

  平台的数据模型层(Model)设计

资源共享平台的数据模型设计包括数据库设计和表字段设计工作。是平台持久化信息的重要依据,表示层和控制层在将用户请求处理和转发之后,将相关信息持久化,也是表示层数据的重要来源。

 

3.1   数据库概念结构模型设计

概念模型设计主要是用来反射真实世界的物体、参数和它们之间的关系从而建立适合与数据库的初始数据结构,在数据库上的表示就是在数据库DB中建立的每一幅视图。图6.1是项目中其中一个实体的映射图,图6.2是系统的ER(实体关系)图。显示的是各个实体表的构成以及各个表之间的关系,其中系统中的管理员用户创建维护资源列表,管理资源,上下架资源,用户在索引库中搜索到的资源都是资源列表里存在的。发布一个资源对应一套资源规格模板。游客或会员看到中意的资源将其加入购物车,登陆后提交订单,支付订单,最后自助提取资源。

每一个现实世界的实体映射一张表,表的字段则映射实体的固有属性,由此来在计算机中存储和表示现实世界的一个实体。表之间的各种关系也是按照现实世界中各个实体之间的关系进行映射的,例如一对多,一对一,多对多等。

但值得说明的是,当表之间出现多对多的关系时,需要维护一张子表来保存两个实体之间的关系。

   基于SSM的虚拟资源共享平台的设计与实现毕业设计

常见问题
  • 是的下载都是需要付费的,如果有价格标注的话。 安装看下标题旁边写的,有写明是免费的就是免费安装
查看详情
  • 购买以后会出现下载地址的按钮,点击按钮即可下载所有打包的能容了。
查看详情
  • 一般都是免费远程安装的,运行很简单,都是给你调试好了的。有通用的调试运行文档可以参考下的。
查看详情

相关文章

官方客服团队

为您解决烦忧 - 24小时在线 专业服务

  • 0 +

    用户访问总量

  • 0 +

    注册用户总数

  • 0 +

    项目总数

  • 0 +

    今日发布项目数量

  • 0 +

    本周发布项目数量

  • 0 +

    安全运营网站天数

源码乐园专注提供优质毕设课设