1:EJB:
答: Enterprise Java Bean 相当于DCOM,即分布式组件。它是基于Java的远程方法调用(RMI)技术的,所以EJB可以被远程访问 (跨进程、跨计算机) 。但EJB必须被布署在诸如Webspere、WebLogic这样的容器中,EJB客户从不直接访问真正的EJB组件,而是通过其容器访问。EJB容器是EJB组件的代理,EJB组件由容器所创建和管理。客户通过容器来访问真正的EJB组件。
答:Enterprise java bean 容器。更具有行业领域特色。他提供给运行在其中的组件EJB各种管理功能。只要满足J2EE规范的EJB放入该容器,马上就会被容器进行高效率的管理。并且可以通过现成的接口来获得系统级别的服务。例如邮件服务、事务管理。
RMI:(Remote Method Invocation)远程方法调用
答:RMI(Remote Method Invocation,远程方法调用)是用Java在JDK1.1中实现的,它大大增强了Java开发分布式应用的能力。Java作为一种风靡一时的网络开发语言,其巨大的威力就体现在它强大的开发分布式网络应用的能力上,而RMI就是开发百分之百纯Java的网络分布式应用系统的核心解决方案之一。其实它可以被看作是RPC的Java版本。但是传统RPC并不能很好地应用于分布式对象系统。而Java RMI 则支持存储于不同地址空间的程序级对象之间彼此进行通信,实现远程对象之间的无缝远程调用。
2:EJB种类、作用
答: Entity Bean——用于描述一个永久的对象。
Session Bean——描述任务或者工作流的模型,并且协调Bean之间的交互。
Message-Driver Bean——用在基于J2EE应用程序中处理异步JMS消息。
3:实体bean,CMP,BMP写法区别?
答:CMP entity bean不需要在 bean中编写数据库操作的代码;可以让容器做这件事。
BMP entity bean在bean类中直接编写数据库调用,以及对固定存储的任意类型的访问,来管理bean的持久性。
4:Find与Select方法的区别?
答:
Finder Select
返回值 单对象或者集合,是该bean类型的EJBObject(s),EJBLocalObject(s). 单个或者多个(集合或集)对象.是该bean类型或CMR相关类型EJBObject(s)或EJBLocalObject(s)也可能是CMP(域),CMP的集合或一个CMR域.
声明位置 在远程和/或本地home接口中 Bean类中的抽象方法
方法名 FindXxx() EjbSelectXxx—bean类
可见度 公开给客户端 面向entity bean类内部,供其他bean方法使用
实例 Bean池任意随机bean实例 当前实例,但若调用来自home方法,则为任意随机实例.
5:主接口方法的定义与写法?
答: 生命周期方法 建方法-该方法的返回值是bean的组件接口,写法为creatXxx
无状态session bean必须个且仅有一个无参的创建方法.
有状态session bean必须含有至少一个创建方法.Entity bean可以有0至多个创建方法.
Finder方法-Finder方法对于entity bean有效,通过它可以在数据库中查找到entity bean对应的持久性数据.每一个entity bean的home接口必须有一个findByPrimaryKey方法,并以实体的主键为参数.可以定制Finder方法.Home方法-Home方法也仅对entity bean有效.Home方法能够返回任意类型的序列化对象,但并不实际生成bean的实例.
6:主接口与组件接口的区别?
答: 主接口提供EJB客户端对bean的访问.定义了bean的生命周期方法,并提供了bean的基本生命周期管理功能,如创建,删除,查找.message drivern bean不含有home接口.组件接口是由enterprise bean的客户端用来取得bean的访问能力.它定义了对于客户端可见的业务方法.组件接口中的业务方法必须符合bean类中的实现.
7、JMS消息传递的方式?
答: 点到点(point-to-point)消息通过队列进行发送.发布与订阅(publish-and-subscribe,pub/sub)消息通过标题传递.
8、EJB客户端访问后台EJB的代码?
答: p192,p193
9、有状态session bean与无状态session bean的区别?
答:stateful session bean维护客户端会话状态.它们必须属于一个且只属于一个客户端.激活/钝化,开销大.stateless session不维护一个客户端的会话状态它们被放入实例池中,因此可被多个用户共用,开销小,效率高。
10、本地视图与远程视图的区别?
答: 远程视图-它的想法就是远程调用将在两台不同JVM之间执行.远程调用这些操作使得相关网络开销会更高与对象的位置无关.也不会在乎是否在一个JVM.
本地视图-它的想法就是本地调用将在相同的JVM中执行.没有网络开销.操作效率更高,因为客户端使用本地对象调用bean上的服务,限制在本地实现中,而且不需要做到与位置无关.
11:CMT事物属性
Mandatory-当使用这个值时,bean方法被调用时必须有一个事务已经处在运行中.
Never-如果在现有事务中调用此bean,容器将抛出java.rmi.RemotException.
Required-bean方法必须总是在事务上下文中执行.
RequiresNew-当方法被调用的时候,bean总会需要启动一个新的事务
Supports可以参与到正在运行的事务中,但这个事务并不是必须的.
Not Supported-该值意味着在事务中bean或者方法根本不能被调用.
12:事务属性ACID
答:原子性—— 一个事务要么完全执行,要么根本不执行。
一致性—— 一个事务在它完成后不能留下系统的不一致性。
隔离性—— 所有的事务不许允许在执行的时候不受其他进程或者事务的干涉。
持久性—— 在事务期间,所有提交的变更数据必须写入持久的数据存储器,并且应该能在硬件和软件失效中保存下来。
13:实体Bean的三个状态:
答: no-state——Bean实例还没有创建。
pooled ——Bean实例被创建,但还没有和一个EJB Object关联。
ready ——与EJB Object相关联。若断开关联则回到pooled。
14:JMS、JMS消息模型
答:Java Message Service(JMS)是一个JAVA API,用来访问面向消息中间件(MOM)服务。JMS为Java程序生成、发送、接收和读取异步消息提供通用的方法。
JMS模型:点到点和发布与订阅
point-to-point——消息通过队列进行发送。消息由消息生产者(客户端)放入队列中。消息消费者有责任从队列中取出消息。当给定的消息只能被给定的消费者接收时,使用P2P。这种情况下,该给定信息只有一个消费者。
Publish-and-subscribe(简称pub/sub)——消息通过标题传递。由生产者将消息发布为标题。消息可以被任何订阅该标题的消费者收到。通过这种方法,一个消息可以被多个消费者接收或处理。
15:EJB客户端类型
答:①Session bean ②servlet ③java应用 ④Java Applet ⑤非Java客户端
16:ORM
答:ORM对象-关系映射(Object-Relation Mapping)模式是指在单个组件中负责所有实体域对象的持久化,封装数据访问细节
17:EJB是基于哪些技术实现的?
EJB包括Session Bean、Entity Bean、Message Driven Bean,基于JNDI、RMI、JAT等技术实现。
18:说出SessionBean和EntityBean的区别
SessionBean在J2EE应用程序中被用来完成一些服务器端的业务操作,例如访问数据库、调用其他EJB组件。EntityBean被用来代表应用系统中用到的数据。
对于客户机,SessionBean是一种非持久性对象,它实现某些在服务器上运行的业务逻辑。
对于客户机,EntityBean是一种持久性对象,它代表一个存储在持久性存储器中的实体的对象视图,或是一个由现有企业应用程序实现的实体。
19:StatefulBean和StatelessBean的区别。
Session Bean 还可以再细分为 Stateful Session Bean 与 Stateless Session Bean ,这两种的 Session Bean都可以将系统逻辑放在 method之中执行,不同的是 Stateful Session Bean 可以记录呼叫者的状态,因此通常来说,一个使用者会有一个相对应的 Stateful Session Bean 的实体。Stateless Session Bean 虽然也是逻辑组件,但是他却不负责记录使用者状态,也就是说当使用者呼叫 Stateless Session Bean 的时候,EJB Container 并不会找寻特定的 Stateless Session Bean 的实体来执行这个 method。换言之,很可能数个使用者在执行某个 Stateless Session Bean 的 methods 时,会是同一个 Bean 的 Instance 在执行。从内存方面来看, Stateful Session Bean 与 Stateless Session Bean 比较, Stateful Session Bean 会消耗 J2EE Server 较多的内存,然而 Stateful Session Bean 的优势却在于他可以维持使用者的状态。
20:EJB与JAVA BEAN的区别?
Java Bean 是可复用的组件,对Java Bean并没有严格的规范,理论上讲,任何一个Java类都可以是一个Bean。但通常情况下,由于Java Bean是被容器所创建(如Tomcat)的,所以Java Bean应具有一个无参的构造器,另外,通常Java Bean还要实现Serializable接口用于实现Bean的持久性。Java Bean实际上相当于微软COM模型中的本地进程内COM组件,它是不能被跨进程访问的。Enterprise Java Bean 相当于DCOM,即分布式组件。它是基于Java的远程方法调用(RMI)技术的,所以EJB可以被远程访问(跨进程、跨计算机)。但EJB必须被布署在诸如Webspere、WebLogic这样的容器中,EJB客户从不直接访问真正的EJB组件,而是通过其容器访问。EJB容器是EJB组件的代理,EJB组件由容器所创建和管理。客户通过容器来访问真正的EJB组件。
21:EJB包括(SessionBean,EntityBean)说出他们的生命周期,及如何管理事务的?
SessionBean:Stateless Session Bean 的生命周期是由容器决定的,当客户机发出请求要建立一个Bean的实例时,EJB容器不一定要创建一个新的Bean的实例供客户机调用,而是随便找一个现有的实例提供给客户机。当客户机第一次调用一个Stateful Session Bean 时,容器必须立即在服务器中创建一个新的Bean实例,并关联到客户机上,以后此客户机调用Stateful Session Bean 的方法时容器会把调用分派到与此客户机相关联的Bean实例。
EntityBean:Entity Beans能存活相对较长的时间,并且状态是持续的。只要数据库中的数据存在,Entity beans就一直存活。而不是按照应用程序或者服务进程来说的。即使EJB容器崩溃了,Entity beans也是存活的。Entity Beans生命周期能够被容器或者 Beans自己管理。
EJB通过以下技术管理实务:对象管理组织(OMG)的对象实务服务(OTS),Sun Microsystems的Transaction Service(JTS)、Java Transaction API(JTA),开发组(X/Open)的XA接口。
22.EJB有哪些角色和对象
一个完整的基于EJB的分布式计算结构由六个角色组成,这六个角色可以由不同的开发商提供,每个角色所作的工作必须遵循Sun公司提供的EJB规范,以保证彼此之间的兼容性。这六个角色分别是EJB组件开发者(Enterprise Bean Provider) 、应用组合者(Application Assembler)、部署者(Deployer)、EJB 服务器提供者(EJB Server Provider)、EJB 容器提供者(EJB Container Provider)、系统管理员(System Administrator)
三个对象是Remote(Local)接口、Home(LocalHome)接口,Bean类
23.EJB容器提供的服务有哪些?
主要提供声明周期管理、代码产生、持续性管理、安全、事务管理、锁和并发行管理等服务。
24.EJB的几种类型
会话(Session)Bean ,实体(Entity)Bean 消息驱动的(Message Driven)Bean
会话Bean又可分为有状态(Stateful)和无状态(Stateless)两种
实体Bean可分为Bean管理的持续性(BMP)和容器管理的持续性(CMP)两种
25.EJB需直接实现它的业务接口或Home接口吗,请简述理由。
远程接口和Home接口不需要直接实现,他们的实现代码是由服务器产生的,程序运行中对应实现类会作为对应接口类型的实例被使用。
26.在J2EE内,WAR和EAR文件分别代表什么。
WAR:Web归档;包含一个web工程所有组件的压缩文件。
EAR:企业归档;包含一个企业应用所有组件的压缩文件。
分享到:
相关推荐
### 实战EJB知识点解析 #### 一、企业JavaBeans (EJB) 技术概览 **什么是企业JavaBeans技术?** 企业JavaBeans (EJB) 是Java平台上的服务器端组件模型,专为构建可扩展、可靠且跨平台的企业级应用程序而设计。...
**EJB3(Enterprise JavaBeans 3)是Java EE(Enterprise Edition)平台中用于构建企业级应用程序的重要组件模型。这个PPT教程详细介绍了EJB3的各种核心概念和技术,旨在帮助学习者掌握EJB3的核心特性并能实际应用到...
javax.ejb.AccessLocalException.class javax.ejb.CreateException.class javax.ejb.DuplicateKeyException.class javax.ejb.EJBContext.class javax.ejb.EJBException.class javax.ejb.EJBHome.class javax.ejb....
【标题】"Idea搭建EJB架构Demo项目源代码"涉及的是使用IntelliJ IDEA(简称Idea)这个强大的Java集成开发环境来构建一个基于EJB(Enterprise JavaBeans)架构的示例项目。EJB是Java EE(企业版)平台的核心部分,...
Files contained in javax.ejb.jar: META-INF/MANIFEST.MF javax.ejb.AccessLocalException.class javax.ejb.AccessTimeout.class javax.ejb.ActivationConfigProperty.class javax.ejb.AfterBegin.class javax....
EJB中ejb-jar文件配置详解 EJB(Enterprise JavaBean)是一种Java技术,用于开发企业级应用程序。EJB容器提供了许多功能,如事务处理、安全认证、资源管理等,以便开发者更方便地开发企业级应用程序。在EJB中,ejb-...
EJB(Enterprise JavaBeans)是Java企业级应用开发的核心组件之一,主要用于构建可复用、安全和事务处理的服务器端应用程序。本实例将探讨EJB的配置、部署和打包过程,帮助你深入理解如何在实际项目中运用这些技术。...
【实战角度比较EJB2和EJB3的架构异同】 EJB,即Enterprise JavaBeans,是Java EE(企业版Java)平台的核心组件之一,用于构建可复用、分布式的服务器端应用程序。EJB2和EJB3是EJB技术的两个主要版本,它们在架构上...
在Java企业版(Java EE)应用开发中,EJB(Enterprise JavaBeans)是核心组件,用于构建可扩展、安全和事务处理的服务器端应用程序。JBoss AS(现在称为WildFly)是一个开源的应用服务器,它支持Java EE规范,包括...
META-INF / maven / org.glassfish.main.ejb / javax.ejb / pom.properties META-INF / maven / org.glassfish.main.ejb / javax.ejb / pom.xml javax.ejb.AccessLocalException.class javax.ejb.AccessTimeout....
### EJB技术详解 #### EJB 2.0与EJB 1.1的主要区别及其应用场景 EJB(Enterprise JavaBeans)技术自1998年首次推出以来,经历了多个版本的演进,其中EJB 2.0是EJB 1.1的重要升级版,带来了诸多改进和新特性,旨在...
EJB(Enterprise JavaBeans)3.0是Java企业级应用开发的一个重要版本,它极大地简化了EJB的使用,降低了开发复杂性,并引入了许多新特性。在这个“ejb3.0写的登陆应用”中,我们可以深入探讨EJB 3.0在实现登录应用中...
### EJB2.0与EJB3.0的主要区别 #### 一、简介 企业Java Beans(EJB)是Java平台为企业级应用提供的一种组件模型。随着技术的发展,EJB经历了多个版本的迭代,其中EJB 2.0和EJB 3.0是两个重要的里程碑版本。本文将...
使用原始的servlet操作熟悉EJB的实体管理。 本实例主要功能:实现对员工、角色、账号、部门的关系管理。 本实例的实体设计:部门-员工:一对多。员工-账号:一对一。账号-角色:一对一。 主要采用EJB进行会话管理。...
EJB(Enterprise JavaBeans)是Java EE(Enterprise Java Platform)平台的一部分,主要用于构建分布式、事务处理、多客户端支持以及安全的后端企业级应用。EJB3.0是EJB规范的一个重要版本,它引入了许多简化开发的...
【EJB计算个人所得税】 企业级JavaBean(Enterprise JavaBeans,简称EJB)是Java平台上的一个核心组件,用于构建可扩展、安全且事务管理的分布式应用程序。在本项目"计算个人所得税"中,EJB被用作后端服务,处理...
EJB集群是EJB技术的一个重要特性,它允许EJB容器(如JBOSS)在多台服务器上分布和复制EJB实例,以实现高可用性和负载均衡。 在给定的示例中,我们看到一个简单的无状态会话Bean(Stateless Session Bean)`...
### EJB原理图详解 #### 一、EJB工作原理概览 EJB(Enterprise JavaBeans)是Java EE平台中的一个重要组成部分,它主要用于构建企业级应用。EJB提供了一种面向服务的方式,允许开发者专注于业务逻辑,而将复杂的...
EJB(Enterprise JavaBeans)是Java企业级应用开发的核心组件模型,主要用于构建可复用的、分布式的、事务处理的企业级应用程序。EJB3.0规范是Java EE 5中的一个重要组成部分,它对之前的EJB版本进行了重大改进,极...