框架技术培训

上传人:cn****1 文档编号:569976474 上传时间:2024-08-01 格式:PPT 页数:48 大小:654KB
返回 下载 相关 举报
框架技术培训_第1页
第1页 / 共48页
框架技术培训_第2页
第2页 / 共48页
框架技术培训_第3页
第3页 / 共48页
框架技术培训_第4页
第4页 / 共48页
框架技术培训_第5页
第5页 / 共48页
点击查看更多>>
资源描述

《框架技术培训》由会员分享,可在线阅读,更多相关《框架技术培训(48页珍藏版)》请在金锄头文库上搜索。

1、j2eej2ee框架技术应用框架技术应用框架技术应用框架技术应用1培训目标培训目标掌握J2EE框架的设计思想理解J2EE框架的层次结构熟悉框架采用技术间的衔接关系2培训内容培训内容J2EE框架技术组成总体介绍J2EE定位Java Server FaceC/SB/SModel模式MVCJSF框架SpringSpring框架IOC(依赖注入)AOP(面向切片编程)Hibernate体系结构Hibernate映射实现J2EE框架分层结构表现层JSF页面BB业务控制层UCC业务逻辑层Service集成层DAOJSF与Spring的结合Hibernate与Spring的结合配置文件层次扩展方式J2EE框

2、架功能介绍异常处理事务控制安全控制其它框架及比较比较传统J2EE框架StrutsSpringHibernate3培训重点培训重点J2EE框架分层结构J2EE框架功能介绍4J2EE框架技术组成J2EE架构图总体介绍总体介绍 5J2EE框架技术组成系统逻辑结构图 总体介绍总体介绍 6J2EE框架技术组成功能维度 主要面向系统要实现的业务功能可能包含多个模块非功能维度公用的功能包括:日志、事务、任务调度、安全、效验、异常及消息 、状态管理 总体介绍总体介绍 7J2EE框架技术组成垂直维度 公用基础层公用基础层是与应用无关的基础类,它可以被同类型的系统所重用,一般提供诸如对于String, Date,

3、 Collection等JDK底层API的封装操作,或者是对于特定产品及工具类库的包装。一般可以考虑重用Jakarta Commons Library或其它项目的经验总结框架层 框架层是针对应用的需求而抽象出的层次,主要用于满足应用的非功能性需求。一般从成熟的主流框架中选择, 如引入JSF/Myfaces为web framework,hibernate为O/R Mapping persistence framework, spring 为J2EE application framework等。一般不需要自己开发应用基础层 应用基础层是针对应用的公共需求而独立出来以便于公用的类。一般包括一些基类

4、(base class),公共的数据结构模型、异常、常量定义,以及公共服务等系统应用层 绝大多数应用代码处于应用层,它负责实现应用的所有用例需求 总体介绍总体介绍 8J2EE框架技术组成水平维度 客户端 对应于用户的浏览器(IE)B/S架构中的B, 是典型的瘦客户端 (thin client)一般使用HTML及Javascript技术服务器端 表现层:系统的表示逻辑主要处理http request,从中抽取业务数据,进行合法性校验,调用对应的业务逻辑层的业务逻辑,根据返回结果,决定画面迁移,产生http response对应于MVC的V(View)。主要响应前台用户的操作和提供适当的数据的表现

5、形式业务逻辑层:系统的业务逻辑起到Business Delegate的作用,屏蔽表示层,利于重用业务模型业务控制主要负责组装业务服务组件,封装业务过程逻辑,控制事务(Transaction)业务模型根据业务领域知识和经验,定义业务对象,包括属性和关系业务服务组件封装业务逻辑,从业务的角度而不是具体用例操作的角度来设计,通过调用集成层实现数据存储操作,并且意识不到表示层的具体逻辑,以公开的接口供表示层调用集成层:系统的集成逻辑(存储,系统间交互等)与数据源进行具体的操作(CRUD)。它意识不到业务层的具体逻辑,提供公开的接口让业务层来调用与外部系统通过EAI Adaptor/Connector来

6、重用业务流程和业务数据数据/资源层 系统的数据存储、资源或者外系统总体介绍总体介绍 9J2EE框架技术组成轻量级J2EE实现使用开源框架搭建企业级应用不使用EJB实现使用JSF作为前端展示框架使用Spring框架作为中间集成层使用Hibernate作为持久层映射工具J2EE定位定位 1011Java Server FaceJ2EE框架技术组成C/S两层架构,分为客户端和服务器端客户端接受用户输入和显示并处理部分业务逻辑服务器端完成数据存储或读取操作客户端软件的升级、维护、发布需要大量花费无论客户端还是服务器端,需要程序员开发的工作量都很多,其中有大部分是和业务逻辑无关的内容Java Serve

7、r Face 实现原理图 客户端Socket Client端加密请求解密显示 服务器端数据库Socket Servier端解密处理加密返回Socket连接操作数据12J2EE框架技术组成B/S多层架构,分为Browser端和Server端Server端可以进行多层次扩展和分层Browser端只负责接受用户输入和显示,没有业务逻辑,输入的数据通过网络传输到后台后被处理,显示的数据在后台准备好后传输到Browser显示Server端负责所有的业务逻辑、安全控制、数据存储等Browser端实际上就是网页浏览器IE,主要开发工作量只是显示页面Server端有专门的服务器供应商,开发量主要是业务逻辑有众

8、多的第三方软件供应商的支持,节约开发人员非业务开发工作量,可以更加关注系统的业务逻辑不存在客户端维护和升级问题网络传输带宽可能成为B/S架构的性能瓶颈Java Server Face 13J2EE框架技术组成Model模式Model 1Model 1的基础是JSP文件,它由一些相互独立的JSP文件,和其他一些Java 代码组成(不是必须的)把表现层和业务逻辑层柔和在一起,不利于以后的维护工作以及开发角色的分配,所以这种模式只能适合于小型系统的开发Model2采用面向对象技术实现MVC模式从而扩展JSP/Servlet的模式被称为是Model 2模式 StrutsCustom Tag Lib处理

9、表现层 ActionFrom Bean表示数据ActionServlet实现页面的流转控制Model 2x将Struts中的View层用XML/XSLT技术替换掉Apache Cocoon 项目Java Server Face 14J2EE框架技术组成MVCMVC是一个设计模式,它强制性地使程序的输入、处理和输出分开。使用MVC应该具备三个核心部件:模型、视图、控制器。更适合大型软件系统的开发View视图是用户看到并与之交互的界面 Model模型表示企业数据和业务规则,处理请求并返回结果Control控制器接受用户的输入并调用模型和视图去完成用户的需求Java Server Face 15J2

10、EE框架技术组成Model 2 StructureJava Server Face 16J2EE框架技术组成JSF框架Java Server Face 1718SpringJ2EE框架技术组成Spring框架Spring 19J2EE框架技术组成Spring是一个通过依赖注入(IoC)实现对象管理的容器采用面向方面编程模式(AOP)支持声明式事务、安全控制等企业级应用特性,从逻辑上实现功能代码解耦提供JDO、Hibernate和iBatis等关系对象映射工具集成层提供对Struts、JSF等Web框架的支持加速轻量级J2EE应用的构建和实施Spring 20J2EE框架技术组成Spring集成

11、JSF Web框架应用场景Spring 21J2EE框架技术组成Spring Web部分通过变量解析器实现JSF Web框架的集成Spring AOP部分实现声明式事务控制Spring ORM部分提供对象表映射工具的集成支持Spring DAO部分提供标准的技术访问数据库(JDBC、Hibernate、JDO)Spring 2223HibernateJ2EE框架技术组成Hibernate开源的、面向Java环境的对象表映射工具J2EE服务器JBoss采用Hibernate实现实体EJB把对象模型表示的对象映射到基于SQL的关系模型数据结构中去 大幅度减少开发时人工使用SQL和JDBC处理数据的

12、时间把关系数据库中的二维表的一条记录映射为内存中的Java对象Java对象的改变反映了数据库记录的变化,彻底地使用面向对象的方法实现应用系统Hibernate 24J2EE框架技术组成Hibernate体系结构 Hibernate 25J2EE框架技术组成Hibernate映射实现使用POJO代表数据库表记录在内存中的对象使用.hbm.xml文件规定POJO属性和表记录字段间的对应关系为不同数据库产品提供不同的SQL方言支持多种数据库产品,不依赖于任何具体的数据库产品Hibernate使用JDBC工具实现数据库访问Hibernate BO对象idnamesex001 meF/MHbm配置文件H

13、ibernate2627J2EE框架分层结构J2EE框架分层结构J2EE框架的层次结构28J2EE框架分层结构JSF页面(V)使用JSF标签、JSP标签、HTML标签编写IE页面接收用户的输入数据,回显处理的结果提供converter完成页面输入字符串到后台模型需要的特定数据类型的转换提供validdator完成页面输入数据的效验提供renerer控制页面的显示与否通过Event Listener处理页面控件的事件,触发后台业务逻辑处理通过Action处理函数触发后台的业务逻辑处理输入域、输出域和BB的属性绑定Action、 Event Listener、 converter和BB的方法绑定表

14、现层表现层 29J2EE框架分层结构BB根据JSF框架的功能划分,接收页面传来的数据为页面事件绑定提供方法(Action、 Event Listener)为页面提供converter方法处理控制部分页面显示逻辑不包括业务逻辑,只处理和页面的交互、调用后台服务及返回组装业务逻辑处理所需要的数据对象调用后台的业务逻辑操作提供处理结果显示数据存储调用UCC提供的服务JSF的Model层被扩展后,BB的功能变得简单和专一BB是被JSF接管的对象表现层表现层 30J2EE框架分层结构UCC层代表模块功能的一个用例场景为BB提供调用接口调用Service提供的业务逻辑服务必须具有接口和实现事务控制层, S

15、pring的声明式事务控制被配置在UCC的接口上UCC是被Spring接管的对象业务控制层业务控制层 31J2EE框架分层结构Service层业务逻辑功能具体实现模块为UCC提供调用接口调用DAO层提供的数据库操作功能操作数据库记录封装外围系统功能API,实现和外围系统的交互Service是被Spring接管的对象业务逻辑层业务逻辑层 32J2EE框架分层结构DAO层使用Spring提供的hibernateTemplate进行二次开发得到的对象hibernateTemplate借助Hibernate包完成数据库记录操作为Service提供调用接口Hibernate完成数据库记录到对象的映射实现

16、DAO以面向对象的思想操作数据库记录DAO是被Spring接管的对象集成层集成层 33J2EE框架分层结构JSF本身提供了IoC容器的部分功能JSF默认使用javax.faces.el.VariableResolver来定位自己接管的JavaBean(BB)Spring的org.springframework.web.jsf包提供了对JSF的集成支持Spring提供的变量解析器DelegatingVariableResolver继承于JSF的默认变量解析器VariableResolver并替换该变量解析器(JSF的默认变量解析器)DelegatingVariableResolver工作原理首先

17、使用继承于javax.faces.el.VariableResolver的VariableResolver方法在JSF中查找JavaBean如果查找不到,就把查找工作委派给WebApplicationContext在Spring中查找,返回Spring接管的JavaBeanJSF与与Spring的结合的结合 34J2EE框架分层结构在JSF的配置文件中配置Spring提供的变量解析器在JSF的配置文件中使用Spring接管的JavaBeanJSF与与Spring的结合的结合 在Spring的UCC事务配置部分出现,并使用和JSF中的绑定一致的风格35J2EE框架分层结构Spring的ORM包提

18、供对Hibernate映射框架的集成Spring在Hibernate的基础上增加了一个层次开发人员可以在Spring提供的API上编程在Spring配置文件里配置使用Hibernate所必须的信息Spring提供的抽象层次调用Hibernate提供的服务完成数据库操作在J2EE框架中,主要使用Spring为Hibernate提供的HibernateTemplate模板从某种意义上,可以说Spring“接管”HibernateHibernate与与Spring的结合的结合 36J2EE框架分层结构应用配置文件层次图配置文件层次图配置文件层次图 37J2EE框架分层结构参看web.xmlCompo

19、nent和navigation配置TileslistenerJSF的配置文件Tiles的配置文件JSF的Listener配置文件层次图配置文件层次图38J2EE框架分层结构参看web.xmlApplicationContextlistenerSpring配置文件Spring提供的Listener配置文件层次图配置文件层次图39J2EE框架分层结构J2EE框架和其它具有专门功能的第三方软件的集成方式在Service层调用第三方软件提供的API提供专门的方法把第三方软件抛出的异常转换为本框架可以理解和处理的异常和第三方软件有关的事务交由第三方软件控制和第三方软件无关的事务采用框架的方法处理扩展方式

20、扩展方式4041J2EE框架功能介绍J2EE框架功能介绍异常处理n分类普通异常需要回滚异常n标识程序错误记录程序运行错误日志n传递程序信息根据异常信息,提示用户操作结果页面上弹出提示框n控制事务回滚借助Spring提供的 AOP声明式事务机制在事务范围内只要出现需要回滚异常就回滚事务n实现原理开发两个继承于Exception的异常类,一个是普通异常,另一个是需要回滚异常Service、UCC只管往外抛异常,BB最后捕捉异常根据声明式事务的方法名称匹配机制,控制UCC中与事务相关的方法的命名在与事务有关的方法上抛出需要回滚异常异常处理异常处理 42J2EE框架功能介绍事务控制使用Spring提供

21、的声明式事务控制实现Spring使用AOP对事务控制进行封装Spring本身没有提供事务控制器的底层实现,Spring使用Hibernate提供的事务管理器框架中把事务控制压在了UCC接口上可以实现跨越两个或多个Service方法的事务控制(间隔的两次或多次数据库操作)事务范围确定与Spring声明方法匹配的UCC方法都在事务控制范围内事务回滚实现只要与Spring声明方法匹配的UCC方法在执行的时候抛出可回滚异常,事务就回滚事务控制事务控制 4345其它框架J2EE框架和其他J2EE框架比较传统J2EE框架传统架构JSP Session Bean Entity Bean DB为了解决性能障碍

22、的替代架构JSP Session Bean DAO JDBC DB使用Hibernate来提高上面架构的开发效率的架构JSP Session Bean DAO Hibernate DB 传统传统J2EE框架框架 46J2EE框架和其他J2EE框架比较业界目前最流行成熟的轻量级J2EE框架使用Spring集成第三方Web框架的场景与J2EE框架非常相似Struts是由开源社区开发的,实现了MVC的Web应用框架Struts和Spring之间主要有两种集成方式借助Struts的ActionServlet得到ServletContext,再借助WebApplicationContextUtils可以得到Spring的ApplicationContext借助Spring提供的Struts集成技术在Struts配置文件中初始化Spring的ApplicationContext实例 StrutsSpringHibernate4748

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 医学/心理学 > 基础医学

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号