您好,欢迎访问三七文档
j2ee框架技术应用培训目标•掌握J2EE框架的设计思想•理解J2EE框架的层次结构•熟悉框架采用技术间的衔接关系培训内容•J2EE框架技术组成–总体介绍–J2EE定位–JavaServerFace•C/S•B/S•Model模式•MVC•JSF框架–Spring•Spring框架•IOC(依赖注入)•AOP(面向切片编程)–Hibernate•体系结构•Hibernate映射实现•J2EE框架分层结构–表现层•JSF页面•BB–业务控制层•UCC–业务逻辑层•Service–集成层•DAO–JSF与Spring的结合–Hibernate与Spring的结合–配置文件层次–扩展方式•J2EE框架功能介绍–异常处理–事务控制–安全控制•其它框架及比较比较–传统J2EE框架–Struts+Spring+Hibernate培训重点•J2EE框架分层结构•J2EE框架功能介绍J2EE框架技术组成•J2EE架构图总体介绍J2EE框架技术组成•系统逻辑结构图总体介绍…………功能模块3功能模块2功能模块1Simple-Z公用基础层:J2EE/J2SE,JakartaCommons框架层:JSF/MyFaces,Spring,Hibernate应用基础层系统应用层安全校验异常与消息状态管理日志事务任务调度表现层业务逻辑层整合层J2EE框架技术组成•功能维度–主要面向系统要实现的业务功能–可能包含多个模块•非功能维度–公用的功能–包括:日志、事务、任务调度、安全、效验、异常及消息、状态管理总体介绍J2EE框架技术组成•垂直维度–公用基础层•公用基础层是与应用无关的基础类,它可以被同类型的系统所重用,一般提供诸如对于String,Date,Collection等JDK底层API的封装操作,或者是对于特定产品及工具类库的包装。一般可以考虑重用JakartaCommonsLibrary或其它项目的经验总结–框架层•框架层是针对应用的需求而抽象出的层次,主要用于满足应用的非功能性需求。一般从成熟的主流框架中选择,如引入JSF/Myfaces为webframework,hibernate为O/RMappingpersistenceframework,spring为J2EEapplicationframework等。一般不需要自己开发–应用基础层•应用基础层是针对应用的公共需求而独立出来以便于公用的类。一般包括一些基类(baseclass),公共的数据结构模型、异常、常量定义,以及公共服务等–系统应用层•绝大多数应用代码处于应用层,它负责实现应用的所有用例需求总体介绍J2EE框架技术组成•水平维度–客户端•对应于用户的浏览器(IE)•B/S架构中的B,是典型的瘦客户端(thinclient)•一般使用HTML及Javascript技术–服务器端•表现层:系统的表示逻辑–主要处理httprequest,从中抽取业务数据,进行合法性校验,调用对应的业务逻辑层的业务逻辑,根据返回结果,决定画面迁移,产生httpresponse–对应于MVC的V(View)。主要响应前台用户的操作和提供适当的数据的表现形式•业务逻辑层:系统的业务逻辑–起到BusinessDelegate的作用,屏蔽表示层,利于重用业务模型–业务控制主要负责组装业务服务组件,封装业务过程逻辑,控制事务(Transaction)–业务模型根据业务领域知识和经验,定义业务对象,包括属性和关系–业务服务组件封装业务逻辑,从业务的角度而不是具体用例操作的角度来设计,通过调用集成层实现数据存储操作,并且意识不到表示层的具体逻辑,以公开的接口供表示层调用•集成层:系统的集成逻辑(存储,系统间交互等)–与数据源进行具体的操作(CRUD)。它意识不到业务层的具体逻辑,提供公开的接口让业务层来调用–与外部系统通过EAIAdaptor/Connector来重用业务流程和业务数据•数据/资源层–系统的数据存储、资源或者外系统总体介绍J2EE框架技术组成•轻量级J2EE实现–使用开源框架搭建企业级应用–不使用EJB实现–使用JSF作为前端展示框架–使用Spring框架作为中间集成层–使用Hibernate作为持久层映射工具J2EE定位11JavaServerFaceJ2EE框架技术组成•C/S–两层架构,分为客户端和服务器端–客户端接受用户输入和显示并处理部分业务逻辑–服务器端完成数据存储或读取操作–客户端软件的升级、维护、发布需要大量花费–无论客户端还是服务器端,需要程序员开发的工作量都很多,其中有大部分是和业务逻辑无关的内容JavaServerFace实现原理图客户端SocketClient端加密请求解密显示服务器端数据库SocketServier端解密处理加密返回Socket连接操作数据J2EE框架技术组成•B/S–多层架构,分为Browser端和Server端–Server端可以进行多层次扩展和分层–Browser端只负责接受用户输入和显示,没有业务逻辑,输入的数据通过网络传输到后台后被处理,显示的数据在后台准备好后传输到Browser显示–Server端负责所有的业务逻辑、安全控制、数据存储等–Browser端实际上就是网页浏览器-IE,主要开发工作量只是显示页面–Server端有专门的服务器供应商,开发量主要是业务逻辑–有众多的第三方软件供应商的支持,节约开发人员非业务开发工作量,可以更加关注系统的业务逻辑–不存在客户端维护和升级问题–网络传输带宽可能成为B/S架构的性能瓶颈JavaServerFaceJ2EE框架技术组成•Model模式–Model1•Model1的基础是JSP文件,它由一些相互独立的JSP文件,和其他一些Java代码组成(不是必须的)•把表现层和业务逻辑层柔和在一起,不利于以后的维护工作以及开发角色的分配,所以这种模式只能适合于小型系统的开发–Model2•采用面向对象技术实现MVC模式从而扩展JSP/Servlet的模式被称为是Model2模式•Struts–CustomTagLib处理表现层–ActionFromBean表示数据–ActionServlet实现页面的流转控制–Model2x•将Struts中的View层用XML/XSLT技术替换掉•ApacheCocoon项目JavaServerFaceJ2EE框架技术组成•MVC–MVC是一个设计模式,它强制性地使程序的输入、处理和输出分开。使用MVC应该具备三个核心部件:模型、视图、控制器。更适合大型软件系统的开发–View•视图是用户看到并与之交互的界面–Model•模型表示企业数据和业务规则,处理请求并返回结果–Control•控制器接受用户的输入并调用模型和视图去完成用户的需求JavaServerFaceJ2EE框架技术组成•Model2StructureJavaServerFaceJ2EE框架技术组成•JSF框架JavaServerFace18SpringJ2EE框架技术组成•Spring框架SpringJ2EE框架技术组成•Spring是一个通过依赖注入(IoC)实现对象管理的容器•采用面向方面编程模式(AOP)支持声明式事务、安全控制等企业级应用特性,从逻辑上实现功能代码解耦•提供JDO、Hibernate和iBatis等关系-对象映射工具集成层•提供对Struts、JSF等Web框架的支持•加速轻量级J2EE应用的构建和实施SpringJ2EE框架技术组成•Spring集成JSFWeb框架应用场景SpringJ2EE框架技术组成•SpringWeb部分通过变量解析器实现JSFWeb框架的集成•SpringAOP部分实现声明式事务控制•SpringORM部分提供对象-表映射工具的集成支持•SpringDAO部分提供标准的技术访问数据库(JDBC、Hibernate、JDO)Spring23HibernateJ2EE框架技术组成•Hibernate–开源的、面向Java环境的对象-表映射工具–J2EE服务器JBoss采用Hibernate实现实体EJB–把对象模型表示的对象映射到基于SQL的关系模型数据结构中去–大幅度减少开发时人工使用SQL和JDBC处理数据的时间–把关系数据库中的二维表的一条记录映射为内存中的Java对象–Java对象的改变反映了数据库记录的变化,彻底地使用面向对象的方法实现应用系统HibernateJ2EE框架技术组成•Hibernate体系结构HibernateJ2EE框架技术组成•Hibernate映射实现–使用POJO代表数据库表记录在内存中的对象–使用.hbm.xml文件规定POJO属性和表记录字段间的对应关系–为不同数据库产品提供不同的SQL方言–支持多种数据库产品,不依赖于任何具体的数据库产品–Hibernate使用JDBC工具实现数据库访问HibernateBO对象idnamesex001meF/MHbm配置文件Hibernate27J2EE框架分层结构J2EE框架分层结构•J2EE框架的层次结构J2EE框架分层结构•JSF页面(V)–使用JSF标签、JSP标签、HTML标签编写IE页面–接收用户的输入数据,回显处理的结果–提供converter完成页面输入字符串到后台模型需要的特定数据类型的转换–提供validdator完成页面输入数据的效验–提供renerer控制页面的显示与否–通过EventListener处理页面控件的事件,触发后台业务逻辑处理–通过Action处理函数触发后台的业务逻辑处理–输入域、输出域和BB的属性绑定–Action、EventListener、converter和BB的方法绑定表现层J2EE框架分层结构•BB–根据JSF框架的功能划分,接收页面传来的数据–为页面事件绑定提供方法(Action、EventListener)–为页面提供converter方法–处理控制部分页面显示逻辑–不包括业务逻辑,只处理和页面的交互、调用后台服务及返回–组装业务逻辑处理所需要的数据对象–调用后台的业务逻辑操作–提供处理结果显示数据存储–调用UCC提供的服务–JSF的Model层被扩展后,BB的功能变得简单和专一–BB是被JSF接管的对象表现层J2EE框架分层结构•UCC层–代表模块功能的一个用例场景–为BB提供调用接口–调用Service提供的业务逻辑服务–必须具有接口和实现–事务控制层,Spring的声明式事务控制被配置在UCC的接口上–UCC是被Spring接管的对象业务控制层J2EE框架分层结构•Service层–业务逻辑功能具体实现模块–为UCC提供调用接口–调用DAO层提供的数据库操作功能操作数据库记录–封装外围系统功能API,实现和外围系统的交互–Service是被Spring接管的对象业务逻辑层J2EE框架分层结构•DAO层–使用Spring提供的hibernateTemplate进行二次开发得到的对象–hibernateTemplate借助Hibernate包完成数据库记录操作–为Service提供调用接口–Hibernate完成数据库记录到对象的映射实现–DAO以面向对象的思想操作数据库记录–DAO是被Spring接管的对象集成层J2EE框架分层结构•JSF本身提供了IoC容器的部分功能•JSF默认使用javax.faces.el.VariableResolver来定位自己接管的JavaBean(BB)•Spring的org.springframework.web.jsf包提供了对JSF的集成支持•Spring提供的变量解析器DelegatingVariableResolver继承于JSF的默认变量解析器VariableResolver并替换该变量解析器(JSF的默认变量解析器)•DelegatingVariableResolver工作原理–首先使用继承于javax.faces.el.VariableResolver的VariableResolver方法在JSF中查找JavaBean–如果查找不到,就把查找工作委派给WebApplicati
本文标题:框架技术培训
链接地址:https://www.777doc.com/doc-980305 .html