第七届蓝桥杯大赛关于梦境的APP技术实现方案(WEB端)指导老师:张修军队名:微积分(Calculus)团队队员:魏裔龙刘海文孙天松刘刚纪阳徐凯平时间:2016-03-26第七届蓝桥杯大赛目录1.WEB1端技术................................................................................................................................31.1WEB端技术路线..............................................................................................................31.1.1MVC模式..............................................................................................................31.1.2WEB架构................................................................................................................41.2WEB端实现方案..............................................................................................................71.2.1通信协议.................................................................................................................71.2.2数据处理.................................................................................................................81.2.3数据调用基本过程.................................................................................................92.数据库.........................................................................................................................................102.1数据库技术......................................................................................................................102.1.1数据库技术路线...................................................................................................102.2数据库实现方案.............................................................................................................112.2.1数据库的连接......................................................................................................112.2.2解决数据量大的问题..........................................................................................122.2.3备份与恢复..........................................................................................................133.采用技术.....................................................................................................................................143.1.PHP的特性..................................................................................................................143.2.优势...............................................................................................................................143.3数据库..............................................................................................................................15111第七届蓝桥杯大赛1.WEB端技术1.1WEB端技术路线1.1.1MVC模式WEB端主体框架采用MVC的设计模式,通过视图、控制器、模型的分离减少了代码的耦合度,由于MVC模式的三个模块相互独立,改变其中一个不会影响其他两个,所以依据这种设计思想能构造良好的少互扰性的构件。图3-1MVC模型图3-2MVC模式第七届蓝桥杯大赛1.1.2WEB架构图3-3服务端系统架构图WEB应用系统大多采用J2EE(Java2PlatformEnterpriseEdition)的多层框架结构模型,WEB应用框架技术是一种针对某一特定应用领域的面向对象软件复用技术由特定应用领域的软件体系结构所决定的软件构架。我们将使用J2EE三个比较受欢迎的开源框架SSH来实现web功能。SSH为struts+spring+hibernate的一个集成框架,是目前较流行的一种Web应用程序开源框架。集成SSH框架的系统从职责上分为四层:表示层、业务逻辑层、数据持久层和域模块层。1)Struts框架Struts框架是基于MVC(Model-View-Controller,模型视图控制器)模式的框架。采用Java语言编写,它继承了MVC设计模式的特性,对应用系统的用户界面显示和数据的后端业务逻辑代码进行了抽象,并且整合了Servlet与JSP在WEB应用系统开发上的优势。在Struts框架中,模型由实现业务逻辑的JavaBean组件构成,控制器由Action以及Struts-config.xml配置文件来实现,视图由一组JSP文件构成。2)Spring框架第七届蓝桥杯大赛Spring框架由一个容器、一个配置和组织组件的框架,一组内置的为事务、持久化和WEB用户接口提供的服务组成,是一个轻量的控制反转((InversionofControl,IoC)和面向方面(Aspect-orientedProgramming,AOP)的容器框架:轻量:完整的Spring框架可在一个大小1MB多的JAR文件里发布,并且Spring所需的处理开销也很小。控制反转:Spring通过一种称作控制反转(IoC)的技术促进了松耦合。控制反转就是指由容器通过配置文件来管理业务对象之间的依赖关系,而非传统方式中由代码方式来直接操控。控制反转的实质,是控制管理权由程序代码转到了外部容器,控制权的转变即是所谓的反转。面向方面:Spring包含对面向方面编程的丰富支持,允许通过分离应用的业务逻辑与系统服务进行内聚性的开发。应用对象只做它们应该做的,完成业务逻辑,并不负责其它的系统关注点。容器:Spring包含管理应用对象的配置和生命周期,可以配置每个bean如何被创建。框架:Spring中,应用对象被声明式地组合,典型地是在一个XML文件里,Spring提供了很多基础功能(事务管理、持久性框架集成等等),并留有应用逻辑开发。3)Hibernate框架Hibernate是一种Java语言环境下的对象/关系映射(Object-Relational,OR)解决方案。它为面向对象的实体模型到关系型数据库之间的映射,提供了一个极为方便的开源框架。第七届蓝桥杯大赛Hibernate使用数据库和配置文件来为应用程序提供持久化(持久化是指和数据库相关的各种操作)服务。Hibernate配置文件有两种格式:一种是XML格式的文件Hibernate.cfg.xml,一种是Java属性文件Hibernate.Properties,采用键=值的形式。在应用系统的开发中,Hibernate配置文件中包含了JDBC连接数据库的驱动信息。在应用程序访问数据库时,首先读取Hibernate配置文件,再通过配置文件找到持久化类的XML映射文件,根据该映射文件得到相应的持久化类,从而可以对类进行操作。也就是将持久化对象中的属性与数据库表中的字段对应起来。通过持久化对象完成对数据库表中的数据的增加、修改、查询和删除操作。4)SSH框架协同工作三大框架的三大图3-4Web段工作流程三大框架的配合使用让团队的开发效率快且稳定,由于它的集成性好,让整个项目结构清晰,性能优良。第七届蓝桥杯大赛1.2WEB端实现方案1.2.1通信协议我们用HTTP协议实现客户端与服务端的连接。HTTP协议是一种详细规定了浏览器和万维网服务器之间互相通信的规则,通过因特网传送万维网文档的数据传送协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。图3-4HTTP协议图3-5XMPP协议XMPP是一种基于XML的协议,它继承了在XML环境中灵活的发展性。因此,基于XMPP的应用具有超强的可扩展性。经过扩展以后的XMPP可以通第七届蓝桥杯大赛过发送扩展的信息来处理用户的需求,以及在XMPP的顶端建立如内容发布系统和基于地址的服务等应用程序。而且XMPP包含了针对服务器端的软件协议,使之能与另一个进行通话,这使得开发者更容易建立客户用应用程序或给一个配好系统添加功能。由于HTTP协议时需要客户端发送请求,服务端才会发送数据,但我们系统中有如聊天系统等需要实施的功能使用http协议就不是很合适,因此我们还使用了XMPP协议配合HTML协议完成聊天功能以及系统活动、运动咨询和定点广告的推送功能。1.2.2数据处理1.字符数据处理图3-6Json的数据结构JSON(JavaScriptObjectNotation)是一种轻量级的数据交换格式。JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C,C++,C#,Java,JavaScript,Perl,Python等)。这些特性使JSON成为理想的数据交换语言。易于人阅读和编写,同时也易于机器解析和生成。第七届蓝桥杯大赛1.2.3数据调用基本过程图3-7数据调用基本过程第七届蓝桥杯大赛2.数据库2.1数据库技术2.1.1数据库技术路线图4-1JDBC架构JDBC(JavaDataBaseConnectivity,java数据库连接)是一种用于执行SQL语句的JavaAPI,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JD