版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、EJBEJBEJB 是用 Java 编程语言开发的,封装了应用逻辑的服务器端组件业务逻辑满足了应用的需求,在触发控制(inventory control)应用中,客户端触发一些方法来得到企业Bean 提供的服务EJB 使用场景1、应用必须是可扩展的,为了迎合各种用户的需要,应用组件有时候必须被部署到各种各样的机器上。不仅是 EJB,整个应用都需要能够在不同的机器上部署运行2、转换时必须保证数据的完整性(data的共享(shared objects)。egrity)。EJB 支持转换,支持并发的机制需要对象3、应用是多客户端的。只需要几行代码,的客户端可以轻易地定位 EJB。这些客户端也许是是很
2、多不同的瘦客户端(thin, various, and numerous).1.的 JavaEE 规范中,有哪两种企业 Bean?SesBean:为客户端执行某个任务,也有可能实现一个 Web 服务,封装业务逻辑,可以被本地的或者的客户端以及网络服务客户端的页面(web service c nt views)SesBean 封装了实现的复杂度,但 SesBean 不是持久的Message-driven Bean:为一个特定的事件充当(如 Java Message Service API)允许 Java EE 异步处理信息,可以处理 JMS 消息或者其他类型的消息消息可以由任何的 Java EE
3、 组件发送(应用客户端、其他 EJB、Web 组件),或者由 JMS 应用以及不使用 Java EE 技术的系统2.客户可以以两种方式获得对企业 Bean 的1.依赖注入 2.JNDI lookup(企业 Bean),哪两种?*3.会话 Bean 的三种类型。Seful(状态 bean);有状态的会话 bean 在方法调用时可保持状态,譬如客户的网上购物车。客户开始网上购物时,可以从数据库中检索客户的详细信息。客户往购物车里面添加商品或者从里面删除商品、下订单等时调用的其他方法也可以使用这些详细信息。不过,有状态的会话 bean 是暂时性的,因为出现会话终止、系统或者网络故障后,状态不复存在。
4、客户端请求有状态的会话 bean 实例时,就为该客户端分配一个有状态的实例,并为该客户端保持该组件的状态。要指定容器在某个方法完成后删除有状态的会话 bean 实例,只要为该方法添加注释 Remove。s eless(无状态 bean);无状态的会话 bean 没有状态。它们不从一个方法调用传递到另一个方法调用的信息。因此,每次调用无状态的业务方法都独立于前一次调用,譬如计算或者运费。用某个应税值调用计算的方法时,对值进行计算并返回给调用方法,而不必保存调用者的状态供以后调用。因为这些 bean 并不保持状态,所以容器对它们进行管理就很简单。客户端请求无状态的 bean 实例时,可以从容器保持
5、的无状态的会话 bean 实例中接收一个实例。另外,因为无状态的会话 bean 可以共享,所以容器可保持数量较少的实例为许多客户端提供服务。想指定 Java Bean 作为无状态的会话 bean 加以部署及管理,只需要为该 bean 添加注释Seless。singleton(单例 bean)5.企业 Bean 包括哪些内容?目录结构是什么?企业 bean 的类业务接口Helper 类目录结构见 EJB.ppt 的第 27 张JDBC1.两种建立数据库连接的方式?1、DriverManager 机制(JDBC): API:java.sqlAPI DriverManager 机制的弊端:是一个同步
6、的类,一次只有一个线程可以运行与数据库相关的连接信息都包含在类中,如果用户更换另一台计算机作数据库服务器,就需要重新修改 URL 变量、重新编译、部署;用户的用户名、口令也包含在类中,丧失了安全性2、DataSource 机制(JNDI):API:javax.sql 可扩展 API连接方式:连接池2.事务:哪些种 Java 事务类型?事物:保证一系列数据库操作能够准确的完成,除非事务中的所有操作都成功,否则事务就不会完成事务的 4 个特性(ACID):Atomicity(原子性)、Consistency(一致性)、Isolation(隔离性)、Durability(持久性)Java 事物类型:
7、(1)JDBC 事务:(2)JTA(Java Tranion API)事务(3)容器事务解释 jdbc 的数据源机制1、DataSource 是 JDBC Connection 对象的一个工厂2、允许使用已经在 JNDI 命名服务中实现的DataSource 对象建立连接,由驱动程序供应商3、连接池机制:(1)Application Server 启动时,创建通向数据库资源的连接池。连接池包含多个 JDBC 连接。(2)当应用程序需要数据库时,从连接池中取得接,使用该连接与数据库通信;一旦工作完成,关闭数据库连接,回连接池中。(3)连接池与连接到数据库对比:连接到数据库:需要通信、内存、等来创
8、建连接,代价昂贵;对于站点的每一个客户机都建立了一个新的连接,费用太高连接池:重用连接,而非建立新连接;一组加载到内存中的数据库连接,以便重复使用;允许共享数据库连接,不是为每个客户分别提供单独的连接;借助连接池,对连接数量进行必要的定量限制,数据库才是最有效的。了解 jndiJNDI:Java 命名和目录接口(Java Naming and Directoryerface),为开发提供了查找和各种命名和目录服务的通用、的方式。(中心,了各种对象、用户和应用的变量及其值,开发大型的分布式应用,使分布式的 Java 程序找到分布式的对象)分布式应用程序:通过 RMI 或 CORBA 向 JNDI
9、对象,其他任何客户机上的应用程序只需知道数据源对象在服务器 JNDI 中的逻辑名称,就可以通过 RMI 向服务器查询数据源,然后与数据库建立连接3.JDBC 事务?(简单解释)1、用 Connection 对象控制;2、提供了两种事务模式:自动提交和手动提交3、使用 JDBC 事务界定时,可以将多个SQL 语句结合到一个事务中4、缺点:事务的范围局限于一个数据库,一个 JDBC 事务不能多个数据库5、java.sql.Connection 提供了以下控制事务的方法:public voidmit()publicmit()public void commit()public void rollba
10、ck()使用 jdbc 的最佳实践1、尽可能使查询更灵活更准确:SQL 语句2、调整数据库的参数设置:适当的数据库缓冲策略等3、把初始化代码放到init()方法中:只执行一次4、使用批量更新:一次连接完成所有动作5、尽可能做现场更新:使用UPDATE 而不使用 INSERT,DELETE,REMOVE6、使用适当的方法取得 JDBC 连接:DataSource7、适当的JDBC 资源:finally 代码块中connection 资源8、不要闲置 JDBC 连接:尽快9、尽快的提交或回滚事务10、适当设置连接池的容量11、不要让事务涵盖用户的输入:事务耗费数据库和应用服务器的资源,应避免使用长
11、时间的事务12、尽可能利用数据库的功能:数据库触发器等4.JTA?1、JTA 允许应用程序执行分布式事务处理在两个或者是多个网络计算机资源且更新数据,这些数据可以分步在多个数据库上问并2、两阶段提交:事务管理器和资源管理器之间使用的协议是 XA(资源和事务管理器之间的标准化接口)3、XA:资源和事务管理器之间的标准化接口XA参与了 JTA 事务,XA不支持 JDBC 的自动提交功能4、开发事务的开始和提交(1)建立事务(2)启动事务(3)定位数据源(4)建立数据库连接(5)执行与资源有关的操作(6)关闭连接(7)完成事务MVC1.基于 MVC 模式的 JavaEE Web 应用构架。View
12、层:呈现给用户的界面(JSP 或应用 GUI)(HTML tags;JSP tags XML/XSL)Controller 层:接受用户动作,并对应用数据进行适当的处理(Servlet)M层:封装应用数据(关系数据库或EJB),处理商业逻辑(Bean/JavaBeans)2.常用的 MVC 框架。使用框架的优点。Structs、Webwork、Spring、MVC 等优点: 一个良好的框架可以让开发减轻重新建立解决复杂问题方案的负担和精力;它可以被扩展以进行一个问题。的定制化;并且有强大的用户社区来支持它。框架通常能很好的解决*3.基于 JavaEE 做应用时,有哪些常用的设计模式?1、MVC
13、 模式;2、Front Controller 模式:对所有请求进行处理;3、sesfaade 模式;4、Data Acs Object 模式消息服务 JMS(Java Message Service)jms1、一个使用可靠的、异步的、松耦合的API。方式允许应用创建,发送,接收和信息的2、JMS 定义了一个通用的接口和相关语义集合,它可以允许使用 Java 语言编写的程序与其他可以发送消息的实现进行通信两种消息域1、点对点(PTP):JMS 把每一个消息传递给一个消息消费者(Message Consumer)点对点消息处理方式:(1)按照发送的顺序把消息写入并保存到队列中;(2)消息消费者处理
14、队列中的消息。2、发布/订阅(pub/sub):把消息发送给一个(Topic),每个有多个订阅者,由JMS 把消息的副本传递给的每个订阅者发布/订阅消息处理:*补充:消息消费的方式:同步、异步1.使用消息的应用场景智能的交换机,用于路由分布式应用中的应用程序组件和进程中的消息异步传递消息,大量数据数据库时需要一个安全的缓存,应付大量的交易系统协同多系统之间的处理效率2.两种消息应用:队列、,使用场景是什么?,1、队列(点对点的消息处理机制)场景:web 前端发送包含订货信息的消息,仓库管理系统接收这个消息,并且对订货进行适当的处理,即时有多个仓库管理系统,也不会同时处理同一个订单,顾客的订货信
15、息应当持久保存。2、(发布/订阅消息处理机制)当过几次之后,一个消息就会发送给一个“常客”站点为这些常客发送一个“特惠待遇”的消息3.对于消息的消费者来说:同步、异步,应用场景是什么?1、对于同步消费者来说:如果消息没有到达,那么消息消费者将一直等待,不能做其他的事情应用场景:通过 JMS facade 更新数据库(来自网络,不知对错,一般情况下都是使用异步处理的)2、对于异步消费者来说:客户机在消息到达之前,可以做其他的事情应用场景:大量的交易系统等中间件中间件(不细节考虑,只要知道有哪几类)过程调用(RPC)数据分布式事务处理消息队列2.:RMI、JNDIRMI:Remote Method
16、 Invocation是用于分布式编程的,基于 java 的模型,使用 RMI,java 代码可以调用对象中的方法JNDI:Java Naming and Directoryerface为不同的目录提供一个共同的接口,JNDI 在 J2EE 应用程序中的主要角色就是提供间接层这样组件就可以发现所需要的资源,而不用了解这些间接性JPA1.对象关系的概念。(ORM,Object-Relation Map)1、是一种为了解决面象与关系数据库存在的互不匹配的现象的技术2、ORM 是通过使用描述对象和数据库之间的元数据,将 java 程序中的对象自动持久化到关系数据库中。本质上就是将数据从一种形式转换到
17、另外一种形式。3、关系数据库是企业级应用环境中存放数据的主流数据系统。对象和关系数据是业务实体的两种表现形式,业务实体在内存中表现为对象,在数据库中表现为关系数据。实体类的设计规范,类似 java bean1、一个实体类必须被 javax.persistence.Entity 标注2、实体类还需要有一个 public 或者 protected 无参构造函数3、实体类不能被为 final,不能有被为 final 的可持久化实例变量或方法4、如果一个实体类被作为 detached object 通过一个会话 bean 事务接口按值传递,那么这个类必须实现序列化接口5、实体类可能会继承实体类和非实体
18、类,非实体类可以继承实体类6、接可持久化的实例变量必须被为 private、protected,并且只能被实体类中的方法直,客户端必须通过 acsor 或者 business method 进行被打包为持久性单元,内容,目录结构安全容器提供两类安全:1、式安全(Declarative security):通过使用开发描述(deployment descriptors)或者注释(annoions)来实现一个应用组件的安全要求;Deployment descriptors 对于一个应用来说是外在的,包括了具体描述安全角色和要求向具体的环境安全角色、用户和策略的关系(1)使用表单/浏览器/客户(2)
19、把安全配置情况在配置描述文件中角色、控制、认证要求Web.xml(3)优先选择的模式2、编程式安全(Programmatic security):嵌入在应用中被用来作出安全决策;Programmaticsecurity 在只使用式安全以表现安全模型的时候适用(1)细粒度的编程安全性(2)HttpServletRequest 接口getAuthType();getRemoteUser();getUsrincipal();isuserInRole();部署文件中包含哪些信息为 Web 应用确定具体的login-config 元素 ,其子元素机制,在应用部署描述中auth-method 配置了 We
20、b 应用的机制,元素的内容必须是BASIC,DIGEST, FORM,CNT-CERT, 或者一个供应商特定的认证机制框架hibernate 三种配置方式。Hibernate 配置文件一般放到 CLASSPATH 环境指定的路径的根目录,但事实上可以放到任何路径下1、用 XML 文件配置 Hibernate(默认配置文件hibernate.cfg.xml)2、用属性文件配置Hibernate(属性文件名为 perties)3、用编程方式配置Hibernate(步骤:建立会话工厂、建立实体Bean、建立过注释、建立添加的 Action 类)文件、通spring,容器,beanfactory 类的
21、作用1、容器:提供的基础功能所有模块都建立在容器之上,容器规定如何创建、配置、管理 Bean,以及一些具体细节。(1)BeanFactory 类,是所有基于 Spring 框架系统的;采用了工厂模式来实现 IoC,将系统配置和依赖关系从代码中独立出来。使Spring 成为容器。(2)应用上下文模块(Application Context):扩展了 BeanFactory,添加了对统生命周期事件及验证的支持;使Spring 成为框架,系(3)建立在应用上下文模块基础上,提供适合Web 系统的上下文2、BeanFactory 的作用:负责创建并Bean 实例;可配置的项目:(1)Bean 属性值及依赖关系(对其他 Bean 的)(2)Bean 创建模式(是否Singleton 模式,即是否
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二四年度广告设计服务委托合同3篇
- 2024年制造业代工协议详细模板协议版B版
- 2024年内部资料保护合同范本版B版
- 2024年家庭育儿护理服务协议细则版B版
- 2024劳保用品采购合同范本
- 二零二四版加工承揽合同:航空器材精密加工与组装协议2篇
- 2024年度船舶维修用升降机采购与安装合同2篇
- 2024版锅炉安装合同:锅炉设备安装与调试服务3篇
- 2024年企业合并财务顾问服务协议
- 2024年度广告发布合同的履行规定3篇
- 期货交易基础知识测试
- 燃气公司安全管理奖罚办法
- 印刷生产线扩建项目可行性研究报告模板-立项报告定制
- 呼吸类医学交流课件:慢阻肺急性加重的诊断与治疗
- 普通生物学24人类基因组
- 浙江省计量检定收费标准
- 如何做好建筑施工企业法务管理工作(word版)
- 企业培训管理系统需求分析及设计说明书
- 胃肠道CT三维重建(干货分享)
- 危险化学品生产单位从业人员培训正式(课堂PPT)
- 储油罐检修施工方案(完整版)
评论
0/150
提交评论