EJB 技术笔试试题及详细参考答案_第1页
EJB 技术笔试试题及详细参考答案_第2页
EJB 技术笔试试题及详细参考答案_第3页
EJB 技术笔试试题及详细参考答案_第4页
EJB 技术笔试试题及详细参考答案_第5页
已阅读5页,还剩2页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

EJB技术笔试试题及详细参考答案适用场景:JavaEE中级开发面试、校内课程考试、企业技能考核考试时长:90分钟满分:100分一、单项选择题(共15题,每题2分,共30分)1.以下关于EJB的核心定义,说法正确的是()A.EJB是前端页面开发框架B.EJB是JavaEE的服务端组件规范,用于开发业务逻辑层C.EJB仅支持数据库操作,无法处理业务事务D.EJB必须依赖Spring容器运行2.目前企业主流使用的EJB版本是()A.EJB1.0B.EJB2.0C.EJB3.0及以上D.EJB1.13.EJB3.0相比EJB2.x最大的改进是()A.运行速度更快B.摒弃繁琐配置文件,支持注解开发C.新增客户端页面功能D.脱离JavaEE容器独立运行4.以下不属于EJB核心组件类型的是()A.会话Bean(SessionBean)B.实体Bean(EntityBean)C.消息驱动Bean(Message-DrivenBean)D.控制Bean(ControllerBean)5.用于处理客户端单次请求、无状态交互的Bean是()A.无状态会话BeanB.有状态会话BeanC.消息驱动BeanD.实体Bean6.有状态会话Bean的核心特性是()A.不保存客户端会话状态,可复用实例B.保存单个客户端的会话状态,专属服务单个客户端C.异步处理消息,不响应客户端请求D.仅用于数据库实体映射7.EJB中负责异步接收JMS消息、处理消息业务的组件是()A.StatefulBeanB.StatelessBeanC.MDBD.EntityBean8.以下注解中,用于定义无状态会话Bean的是()A.@StatefulB.@StatelessC.@MessageDrivenD.@Entity9.EJB容器默认的事务传播属性是()A.REQUIREDB.REQUIRES_NEWC.SUPPORTSD.MANDATORY10.关于EJB事务,以下说法错误的是()A.支持声明式事务,无需手动编写事务代码B.支持编程式事务,灵活控制事务逻辑C.EJB事务不支持回滚操作D.声明式事务可通过注解配置事务规则11.EJB组件的运行环境是()A.TomcatB.JBoss、WebLogic等JavaEE服务器C.普通JVMD.Nginx12.以下关于无状态Bean的实例池机制,说法正确的是()A.每个客户端对应一个专属实例B.容器维护实例池,实例可被多个客户端复用C.实例创建后永久销毁,无法复用D.无状态Bean不支持实例池管理13.EJB3.0中,用于注入EJB组件的注解是()A.@AutowiredB.@EJBC.@ResourceD.@Inject14.消息驱动Bean的消息来源是()A.客户端直接调用B.JMS队列/主题C.数据库触发D.定时任务触发15.以下场景最适合使用有状态会话Bean的是()A.通用的订单查询接口B.用户购物车会话管理C.日志消息异步处理D.批量数据统计接口二、多项选择题(共5题,每题3分,共15分,多选、少选、错选均不得分)1.以下属于EJB3.x核心优势的有()A.基于注解开发,配置简洁B.容器统一管理事务、线程、资源C.组件可复用、可分布式部署D.无需服务器可独立运行2.EJB支持的事务类型包含()A.声明式事务B.编程式事务C.手动文件事务D.自动回滚事务3.关于无状态和有状态会话Bean的区别,说法正确的有()A.无状态Bean不保存会话数据,有状态Bean保存会话数据B.无状态Bean支持实例池复用,性能更高C.有状态Bean每个客户端独占实例,资源消耗更高D.有状态Bean可替代无状态Bean完成所有业务场景4.以下属于EJB事务传播属性的有()A.REQUIREDB.REQUIRES_NEWC.SUPPORTSD.NEVER5.消息驱动Bean(MDB)的特性包含()A.异步执行,无需客户端等待响应B.基于JMS消息机制工作C.不支持直接客户端远程调用D.可用于处理高并发异步任务三、填空题(共5空,每空2分,共10分)1.EJB的全称是________________________。2.EJB3.x中,实体Bean主要用于________________________,实现数据库表与Java实体类的映射。3.有状态会话Bean的注解是________________________。4.EJB容器提供的两大核心服务是_________和_________。5.消息驱动Bean主要用于处理_________消息,实现异步业务处理。四、简答题(共4题,每题7分,共28分)1.简述无状态会话Bean(StatelessBean)和有状态会话Bean(StatefulBean)的适用业务场景。2.简述EJB声明式事务的工作原理及核心优势。3.简述消息驱动Bean(MDB)的工作流程。4.简述EJB容器的核心作用。五、代码实操题(共1题,17分)请基于EJB3.x注解规范,编写一个无状态会话Bean,实现用户登录校验功能,包含以下要求:1.定义远程业务接口UserLoginRemote,包含login(Stringusername,Stringpassword)方法;2.实现无状态Bean业务类,完成账号密码简单校验(预设账号admin,密码123456);3.添加EJB标准注解,配置无状态特性;4.方法返回布尔值,校验成功返回true,失败返回false。详细参考答案一、单项选择题答案1.B2.C3.B4.D5.A6.B7.C8.B9.A10.C11.B12.B13.B14.B15.B单选核心解析:1.EJB是JavaEE服务端业务组件规范,专注业务逻辑层开发,非前端框架,需JavaEE容器运行,支持事务管控。3.EJB2.x需要大量xml配置文件,EJB3.0全面引入注解,简化开发流程,是最核心优化。9.REQUIRED为EJB默认事务级别:有事务则加入当前事务,无事务则新建事务。15.购物车需要保存用户的会话状态,适配有状态Bean特性;其余场景均为通用无状态接口,适配无状态Bean。二、多项选择题答案1.ABC2.AB3.ABC4.ABCD5.ABCD多选核心解析:1.EJB必须运行在JavaEE服务器容器中,无法独立运行,D错误。3.有状态Bean资源开销大、不支持复用,无法替代无状态Bean的通用接口场景,D错误。三、填空题答案1.EnterpriseJavaBean(企业级Java组件)2.持久化数据映射(ORM对象关系映射)3.@Stateful4.事务管理、资源管理(也可填:线程管理、安全管理,核心为事务、资源)5.JMS四、简答题参考答案1.无状态、有状态会话Bean适用场景(1)无状态会话Bean:不保存客户端会话状态,容器可复用实例,性能高效。适用于通用、独立、无上下文依赖的业务接口,如数据查询、参数校验、批量计算、公共工具接口等,是企业开发最常用的会话Bean。(2)有状态会话Bean:专属单个客户端,全程保存客户端会话数据,生命周期跟随客户端会话。适用于需要持续维护用户状态的场景,如在线购物车、用户会话追踪、分步表单提交、长连接业务交互等。2.EJB声明式事务工作原理及优势工作原理:开发者无需手动编写开启、提交、回滚事务的代码,仅通过注解或配置文件声明事务级别、传播规则。EJB容器会在业务方法执行前自动开启事务,方法正常执行结束后自动提交,方法抛出异常时自动触发事务回滚,全程由容器统一管控。核心优势:解耦业务逻辑与事务控制,代码简洁易维护;事务规则统一标准化,减少人为编码失误;支持灵活配置事务传播、隔离级别,适配不同业务场景。3.消息驱动Bean(MDB)工作流程第一,系统或客户端向JMS队列/主题发送异步消息;第二,EJB容器监听对应的JMS消息队列,检测到新消息后触发MDB;第三,容器创建或复用MDB实例,调用其消息处理方法接收并解析消息;第四,执行对应的异步业务逻辑(如日志记录、消息推送、异步数据处理);第五,业务执行完成后,MDB释放实例,容器确认消息消费完成,完成整个流程。核心特点是异步执行,客户端无需等待处理结果,适合解耦高并发、非实时的业务场景。4.EJB容器的核心作用EJB容器是EJB组件的运行载体,负责统一管理所有EJB组件的生命周期和核心服务,具体作用包含:1.组件生命周期管理,负责Bean的创建、初始化、复用、销毁;2.统一事务管理,支持声明式、编程式事务,保障数据一致性;3.资源管理,统一分配数据库连接、线程、网络资源;4.安全权限管控,实现组件访问权限校验;5.分布式服务支持,适配远程调用、集群部署场景,简化企业级分布式开发。五、代码实操题参考答案1.远程业务接口UserLoginRemote.javajava

importjavax.ejb.Remote;

//定义远程调用接口

@Remote

publicinterfaceUserLoginRemote{

//登录校验方法

booleanlogin(Stringusername,Stringpassword);

}

2.无状态会话Bean实现类UserLoginBean.javajava

importjavax.ejb.Stateless;

//声明为无状态会话Bean

@Stateless

publicclassUserLoginBeanimplementsUserLoginRemote{

//预设管理员账号密码

privatestaticfinalStringADMIN_USER="admin";

privatestaticfinalStringADMIN_PWD="123456";

@Override

publicbooleanlogin(Stringusername,Stringpassword){

//非空校验+账号密码匹配校验

if(username==null||password==null){

returnfalse;

}

returnADMIN_USER.equals(username)&&ADMIN_PWD.equals(password);

}

}

代码说明:1.@Remote注解标识接口支持远程调用,符合EJB组件调用规范;2.

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论