还剩6页未读,继续阅读
文本内容:
EJB面试实用问题及答案展示
一、单选题
1.在EJB中,以下哪种组件适合处理复杂的业务逻辑?()(1分)A.ServletB.EJBSessionBeanC.EJBEntityBeanD.JSP【答案】B【解析】EJBSessionBean适合处理复杂的业务逻辑,可以包含事务管理、安全控制等
2.以下哪个选项不是EJBContainer提供的功能?()(2分)A.生命周期管理B.事务管理C.持久化D.网络通信【答案】D【解析】网络通信不是EJBContainer提供的功能,而是由JVM和网络协议负责
3.在EJB中,以下哪种事务属性表示事务在方法成功执行后提交,在出现异常时回滚?()(1分)A.SUPPORTSB.MANDATORYC.NOT_SUPPORTEDD.REQUIRES_NEW【答案】B【解析】MANDATORY表示事务在方法成功执行后提交,在出现异常时回滚
4.以下哪个注解用于声明一个无状态会话Bean?()(2分)A.@StatefulB.@StatelessC.@EntityD.@MessageDriven【答案】B【解析】@Stateless用于声明一个无状态会话Bean
5.在EJB中,以下哪种Bean用于表示持久化数据?()(1分)A.SessionBeanB.EntityBeanC.MessageDrivenBeanD.StatefulBean【答案】B【解析】EntityBean用于表示持久化数据
二、多选题(每题4分,共20分)
1.以下哪些是EJBContainer提供的生命周期管理功能?()A.创建和销毁EJB实例B.管理EJB的事务C.处理EJB的安全D.管理EJB的持久化【答案】A、B、C【解析】EJBContainer提供创建和销毁EJB实例、管理EJB的事务、处理EJB的安全等功能,但不直接管理EJB的持久化
2.以下哪些注解用于声明一个消息驱动Bean?()A.@MessageDrivenB.@StatefulC.@StatelessD.@Entity【答案】A【解析】@MessageDriven用于声明一个消息驱动Bean
3.在EJB中,以下哪些事务属性可用于声明事务边界?()A.SUPPORTSB.MANDATORYC.NOT_SUPPORTEDD.REQUIRES_NEW【答案】A、B、C、D【解析】所有选项都是EJB中用于声明事务边界的事务属性
4.以下哪些是EJB的常见类型?()A.SessionBeanB.EntityBeanC.MessageDrivenBeanD.Servlet【答案】A、B、C【解析】EJB的常见类型包括SessionBean、EntityBean和MessageDrivenBean,Servlet不属于EJB类型
5.在EJB中,以下哪些是EJBContainer提供的特性?()A.生命周期管理B.事务管理C.安全控制D.持久化管理【答案】A、B、C【解析】EJBContainer提供生命周期管理、事务管理、安全控制等特性,但不直接管理持久化
三、填空题
1.EJB中的SessionBean分为______和无状态两种类型(2分)【答案】有状态
2.在EJB中,用于声明一个消息驱动Bean的注解是______(2分)【答案】@MessageDriven
3.EJB的事务属性______表示事务在方法成功执行后提交,在出现异常时回滚(2分)【答案】MANDATORY
4.在EJB中,用于表示持久化数据的Bean是______(2分)【答案】EntityBean
5.EJBContainer提供的生命周期管理功能包括______、______和______(4分)【答案】创建和销毁EJB实例;管理EJB的事务;处理EJB的安全
四、判断题
1.所有EJB组件都必须实现一个接口()(2分)【答案】(×)【解析】无状态会话Bean可以不实现任何接口
2.EJBEntityBean可以处理异步消息()(2分)【答案】(×)【解析】EJBEntityBean主要用于表示持久化数据,不适合处理异步消息
3.EJBSessionBean可以实现事务管理()(2分)【答案】(√)【解析】EJBSessionBean可以实现事务管理
4.EJBMessageDrivenBean必须实现一个接口()(2分)【答案】(√)【解析】EJBMessageDrivenBean必须实现jakarta.ejb.MessageDriven接口
5.EJBContainer不提供安全控制功能()(2分)【答案】(×)【解析】EJBContainer提供安全控制功能
五、简答题
1.简述EJBSessionBean和无状态会话Bean的区别(2分)【答案】EJBSessionBean和无状态会话Bean的主要区别在于-有状态会话Bean维护会话状态,每个客户端会话有一个唯一的Bean实例;-无状态会话Bean不维护会话状态,每个方法调用都创建一个新的Bean实例
2.简述EJB的事务属性SUPPORTS的作用(2分)【答案】SUPPORTS事务属性表示EJB组件可以运行在现有的事务上下文中,如果当前没有事务,则运行在非事务环境中
3.简述EJBEntityBean的持久化机制(2分)【答案】EJBEntityBean通过Home接口和Remote接口提供持久化机制,Bean实例的生命周期由容器管理,数据持久化通过容器提供的API实现
六、分析题
1.分析EJBSessionBean的生命周期(10分)【答案】EJBSessionBean的生命周期包括以下几个阶段-创建客户端调用Home接口的create方法创建SessionBean实例-活跃SessionBean实例处于活跃状态,可以处理客户端的请求-调用客户端调用SessionBean的方法-过期SessionBean实例不再被使用,容器会自动销毁它
2.分析EJB的事务管理机制(10分)【答案】EJB的事务管理机制包括以下几个部分-事务属性通过注解或部署描述符声明事务属性,如SUPPORTS、MANDATORY、NOT_SUPPORTED、REQUIRES_NEW等-事务管理器EJBContainer提供的事务管理器负责管理事务的提交和回滚-安全控制EJBContainer提供安全控制功能,确保只有授权的客户端可以访问EJB组件
七、综合应用题
1.设计一个简单的EJBSessionBean,用于计算两个整数的和(20分)【答案】```javaimportjavax.ejb.Stateless;importjavax.ejb.Remote;@Stateless@RemoteCalculatorRemote.classpublicclassCalculatorBeanimplementsCalculatorRemote{publicintaddinta,intb{returna+b;}}publicinterfaceCalculatorRemote{intaddinta,intb;}```最后一页附完整标准答案
一、单选题
1.B
2.D
3.B
4.B
5.B
二、多选题
1.A、B、C
2.A
3.A、B、C、D
4.A、B、C
5.A、B、C
三、填空题
1.有状态
2.@MessageDriven
3.MANDATORY
4.EntityBean
5.创建和销毁EJB实例;管理EJB的事务;处理EJB的安全
四、判断题
1.(×)
2.(×)
3.(√)
4.(√)
5.(×)
五、简答题
1.有状态会话Bean维护会话状态,每个客户端会话有一个唯一的Bean实例;无状态会话Bean不维护会话状态,每个方法调用都创建一个新的Bean实例
2.SUPPORTS事务属性表示EJB组件可以运行在现有的事务上下文中,如果当前没有事务,则运行在非事务环境中
3.EJBEntityBean通过Home接口和Remote接口提供持久化机制,Bean实例的生命周期由容器管理,数据持久化通过容器提供的API实现
六、分析题
1.EJBSessionBean的生命周期包括创建、活跃、调用和过期阶段
2.EJB的事务管理机制包括事务属性、事务管理器和安全控制
七、综合应用题```javaimportjavax.ejb.Stateless;importjavax.ejb.Remote;@Stateless@RemoteCalculatorRemote.classpublicclassCalculatorBeanimplementsCalculatorRemote{publicintaddinta,intb{returna+b;}}publicinterfaceCalculatorRemote{intaddinta,intb;}```。
个人认证
优秀文档
获得点赞 0