目录
第二章 相关技术介绍
2.1 后台介绍
2.1.1 B/S平台模式
2.1.2 MVC
2.1.3 Spring
2.1.4 Hibernate
2.1.5 Struts
2.2 前端介绍
2.2.1 JSP网页技术
2.3 开发工具
2.4 本章小结
前面内容请移步
基于java的CRM客户关系管理系统(二)
资源+毕业设计+毕业论文+源代码请移步
CRM客户关系管理系统+毕业论文+毕业设计+源代码
第二章 相关技术介绍
2.1 后台介绍
2.1.1 B/S平台模式
B/S 平台模式。在客户端上装置浏览器(Browser),如360、Firefox,服务器端就需要安装数据库,例如Oracle数据库、Mysql数据库、SqlServer2008或者SqlServer2010。浏览器经过 Web服务和Web服务器进行数据流转,服务器再和数据库进行数据的对接。B/S 平台模式中,第一层的是客户端,第二层的是Web服务层,可以由一台或多台服务器构成,可以动态的根据应用的需要增加或者减少服务器的个数,因此Web服务层是动态变化的,第三层的是数据层,组成部分是数据库系统和持久化层。系统维护时只需要对服务器进行升级或者其他操作,但是对浏览器就不需要做出巨大维护变动。这样客户端可以变“瘦”,而服务器端则越来越“胖”,但是更加的安全便捷。如图2-1所示
图2.1 典型的B/S架构图
2.1.2 MVC
MVC 三层架构设计模式分为三个部分,M(模型),V(视图),C(控制),每个部分都有应该有的功能和任务,然而他们又是一个整体,共同解析用户的请求并返结果。层与层之间的代码、逻辑的拆开使得系统的整体性更清晰。如图2-2 所示为三层结构的基本构架。
视图(View):视图是最先也是唯一一个和用户面对面交流的层次,也就是用户能用肉眼看到的。在Web 应用程序中,应用程序的界面的处理和设计变得多样化。视图层没有对传递的数据进行处理的功能,就是对数据提供不同形式的呈现输出方式。
模型(Model):经过了模型处理的数据可以通过定义好的视图去呈现结果,说到具体的模型,模型就是明确定义了一对业务规则的数据。模型的另一个优点就是支撑模型的代码可以被多个视图重用使用,减少了代码的冗余度。
控制器(Controller):用一个形象的比喻,控制器就是一个人的大脑,起到的是关键的调度作用,他的过程是这样的:当用户的请求被发出后,控制器接纳申请内容但是对申请不做处理,然后就转发请求信息给相应的模型和视图去处理和呈现数据结果
图2.2 MVC结构
2.1.3 Spring
Spring框架采用分层架构,如图2-3
- Spring Core:BeanFactory是SpringCore最基础的组成,工厂模式的设计方式的使用就是希望每次调用对象的时候就去创建,浪费资源,把应用程序的代码和配置信息分离开来,达到互不干扰的目的。
- Spring AOP:Spring中的切面功能。
- Spring DAO:数据访问层就是dao,这个模块的最强大的作用就是操作Hibernate下的持久化对象。
- Spring ORM::目的是通过Spring 映射,让 Hibernate 和SQL 或者HQL的集成使用。
- Spring Web容器:web容器存在的目的是为该系统程序访问上下文信息。
- LOC:控制反转(依赖注入),在使用控制反转的程序中,对象不会被直接创建,而是规定怎样去创建它们。在配置文件是用来描述组件和功能怎么样进行合理的组合。对象由容器所创建,对象的必要属性也能通过容器进行设置,最后容器通过配置管理将各部分联系在一起,并调用方法。表2-1所示是控制反转的类型,一般来说loC容器由采用后两种实现模式。
图2.3 spring基本模块
表 2-1 LOC实现类型
类型一 | 服务需要专门的接口,通过接口,由对象提供这些服务,可以从对象查询服务的依赖性 |
类型二 | 通过JavaBean的属性分配依赖性 |
类型三 | 依赖性由构造函数提供 |
2.1.4 Hibernate
Hibernate 框架使用的非常妙的地方是运用了数据库到java类的反射体系,通过对关系映射文档进行 XML 解析,然后就可以通过一系列的层次对象操作数据库数据,它和JDBC有很大的不同,也有很多相同之处,相同之处就在于Hibernate框架和JDBC 都是与数据经常操作,查询数据库数据返回前台或者就是前台数据存储在数据库里面。
1.ORM:Object Relation Mapping,从字面上理解及时对象关系映射,这个功能就很有用处了,定义了需要的持久化对象后,还需要对实体对象和数据库的表名进行一一对应的联系。
2.Hibernate 的API
Hibernate 框架基本组成是有Session、SessionFactory、Transaction、Query、Criteria 、Configuration等六个核心接口。下面就逐一对这几个接口说明下我自己的理解。
- Session 接口:Session 接口与持久层中java对象的持久化有关,这个接口下的crud方法可以完成持久化。
- SessionFactory 接口:这个会话工厂接口需要完成的工作就是读入Hibernate配置文件里的Sessionfactory内容,构架出sessionfactory并且要完成对Hibernate进行初始赋值的任务。
- Configuration 接口:Configuration这个接口主要在配置上有大用处,当Hibernate框架开启的时候,需要首先创建一个会话工厂对象,这需要Hibernate框架需要调度Session接口和Sessionfactory接口完成对factory工厂类的构建,然而这些都是需要configuration接口去完成一系列的操作的。
- Transaction 接口:控制事物的接口,是对数据的原子性,一致性的保证。
5. Query 和 Criteria 接口:这两个接口在Hibernate框架里扮演着和数据库打交道的角色和地位,通过query或者criteria接口根据请求信息操纵数据库信息,达到预料的目的,同时他们也都对应着HQL和SQL的操作方式。
图2.4 Hibernate结构
2.1.5 Struts
1. Struts 概述
Struts 框架在开发中算是比较经典了,特别是在结合了像MVC三层架构这样的观念思想后就更为大家所接受。Struts框架的简单原理就是这样的:Struts预先就定义好了Controller,也就是用于控制的控制器。首先就是去配置文件里面读取相关的配置信息要求,值得注意的是该文件的名称可以struts-config.xml,也可以用其他的形式命名。当用户的请求进入系统之后,首先对用户所要提交的数据进行打包,经过模型层和视图层的流转和相关处理,进入数据库。值得一提的是各个层次之间相互分开,都有各自的功能,在理解层次上更清晰。Struts 框架可以这样说,是更加紧密的把三层架构思想联系在一起。图 2-4 表现的Struts框架的各个组成部分具有相应的功能特点和各自的联系情况。
1)从视图角度(View)
站在视图的视野上,也就是前台页面呈现的观点上,JSP页面的形成得益于这个Struts 结构的tagLib等库的运用进来,例如说Taglib标签库可以快速简单的调用标签然后去形成页面。
2)从模型角度(Model)
模型主要是表示一个系统业务规则的状态体现。
3)从控制器角度(Controller)
在理解中到的Struts框架语法里,Controller层站在控制的角度上就是对的是业务逻辑的实现进行管制,最主要也就是Action组件的控制,由于Action组件是系统的逻辑业务的最终完成层和承担者,例如:ActionForword就定义了业务逻辑根据不同的需求进行流转。
图2.5 Struts三层图
2. Struts 工作流程
Struts框架的使用很广,在大型前端应用程序的应用更为经典,例如说web系统,下面简单的说明下:web应用程序的启动就要去Struts的配置文件里读取配置信息,之后会把创建配置对象存放配置信息的内容,而后加载和构建ActionServlet对象等配置对象,执行如下流程步骤:
①首先判断ActionServlet是否存在。当不存在的时候,返回的信息就应该为无效的,这时候就有必要执行第二步。
②当判断出ActionServlet不存在时就需要把客户提交的表单数据保存在另外一个对象里,所以需要需要创建ActionFom对象。
③对接收的表单数据按照配置信息所要求的进行规则验证。
④验证成功的表现:当执行完ActionForm.validate()方法后得到的结论有两种状况:一种情况是返回空(NULL),另一种情况是不包括ActionMessage的ActionErrors 对象。
⑤ActionServlet把请求信息转发给相应的Action层,那么Action层的具体实例对象就可以调用exexcute()方法,假定action的对象载体没有构建,就需要立马构建一个。
⑥ Action对象载体带有的方法调度完成后就会得出一个成果,那么ActionServlet就会把这个结果转发给相应的JSP页面。
⑦ JSP技术中带有的组件动态的生成页面展现出现。
2.2 前端介绍
2.2.1 JSP网页技术
JSP网页技术,Java Server Page顾名思义是把Java代码嵌在服务页面的开发技术 。它的组成部分有Java代码,html的语法规则,Jsp标签。JSP的大致变化是这样的,首先通过表单来获取用户数据并提交给系统,系统再把结果返回通过JSP组件动态的创建页面显示。JSP页面的执行过程如图
图2.6 JSP页面的执行过程
- 客户端登录上浏览器上访问特定的网址,由资源的路径信息的请求发出,服务器接收请求并解析路径信息,找到被请求的资源。
- 找到资源后就开始加载JSP或和html页面文件。
- JSP文件在JSP组件的处理下被以Servlet代码保存。
- 产生的servlet代码就可以进行编写译为Class代码文件。
- Class文件就是一被服务器的组件所识别然后执行。
- 系统执行的结果会在被浏览器所展示。
2.3 开发工具
浏览器采用IE,360,GooGle。
系统JVM为JDK1.6或更高版本。
系统数据库使用MySql配合图形化界面HeidiSql
系统的集成幵发环境MyEclipse2012。
Web容器Tomcat7.0
系统的技术架构:Struts2.0+Spring4.0+Hibernate3.0
2.4 本章小结
本章对完成论文的理论基础及需要的关键技术进行了论述,系统决定使用的是的B/S 平台开发然后,分别介绍了 SSH等框架和JSP前端技术。最后说明了完成该系统的软硬件要求。