返回首页 Java 面试宝典
XML
UML

J2EE 与 EJB

1. J2EE 是什么?它包括哪些技术?

答:从整体上讲,J2EE 是使用 Java 技术开发企业级应用的工业标准,它是 Java 技术不断适应和促进企业级应用过程中的产物。适用于企业级应用的 J2EE,提供一个平台独立的、可移植的、多用户的、安全的和基于标准的企业级平台,从而简化企业应用的开发、管理和部署。J2EE 是一个标准,而不是一个现成的产品。

主要包括以下这些技术:

1) Servlet

Servlet是Java平台上的CGI技术。Servlet在服务器端运行,动态地生成Web页面。与传统的CGI和许多其它类似CGI的技术相比,Java Servlet具有更高的效率并更容易使用。对于Servlet,重复的请求不会导致同一程序的多次转载,它是依靠线程的方式来支持并发访问的。

2) JSP

JSP(Java Server Page)是一种实现普通静态 HTML 和动态页面输出混合编码的技术。从这一点来看,非常类似 Microsoft ASP、PHP等技术。借助形式上的内容和外观表现的分离,Web 页面制作的任务可以比较方便地划分给页面设计人员和程序员,并方便地通过 JSP 来合成。在运行时态,JSP 将会被首先转换成 Servlet,并以 Servlet 的形态编译运行,因此它的效率和功能与 Servlet 相比没有差别,一样具有很高的效率。

3) EJB

EJB 定义了一组可重用的组件:Enterprise Beans。开发人员可以利用这些组件,像搭积木一样建立分布式应用。

4) JDBC

JDBC(Java Database Connectivity,Java 数据库连接) API 是一个标准 SQL(Structured Query Language,结构化查询语言)数据库访问接口,它使数据库开发人员能够用标准 Java API 编写数据库应用程序。JDBC API 主要用来连接数据库和直接调用 SQL 命令执行各种 SQL 语句。利用 JDBC API 可以执行一般的 SQL 语句、动态 SQL 语句及带 IN 和 OUT 参数的存储过程。Java 中的 JDBC 相当于 Microsoft 平台中的 ODBC (Open Database Connectivity)。

2. 描述 J2EE 框架的多层结构,并简要说明各层的作用。

答:

1) Presentation layer(表示层)

a. 表示逻辑(生成界面代码)

b. 接收请求

c. 处理业务层抛出的异常

d. 负责规则验证(数据格式,数据非空等)

e. 流程控制

2) Service layer(服务层/业务层)

a.封装业务逻辑处理,并且对外暴露接口

b.负责事务,安全等服务

3) Persistence layer(持久层)

a 封装数据访问的逻辑,暴露接口

b.提供方便的数据访问的方案(查询语言,API,映射机制等)

4)Domain layer(域层)

a. 业务对象以及业务关系的表示

b. 处理简单的业务逻辑

c. 域层的对象可以穿越表示层,业务层,持久层

软件分层结构使得代码维护非常方便,设计明确,各层独立,专注自己擅长的领域。

3. EJB 包含哪 3 种 bean

答:session bean(会话 bean), entity bean(实体 bean), message bean(消息 bean)

4. Tomcat 服务器的默认端口是多少?怎样修改 tomcat 的端口?

答:默认端口为 8080,可以通过 service.xml 的 Connector 元素的 port 属性来修改端口

5. EJB的优点有哪些?(选择 2 项)

A、技术领先 B、价格低廉 C、性能优越 D、强大的容器支持

解答:CD

6. 无状态会话 Bean、有状态会话 Bean、CMP 与 BMP 中,哪一种 Bean 不需要自己书写连接数据库的代码?

A、无状态会话Bean B、有状态会话Bean C、CMP D、BMP

答:C

BMP 是在 Bean 中完成对数据库 JDBC 的各种调用

CMP 是由 EJB 容器自动完成对数据库的操作

会话 Bean 主要处理业务逻辑

7. 假设 web 应用的文档根目录为 MyApp,那么可以从哪里找到 database.jar 文件。

A. MyApp目录下 B. MyApp\images目录下 C. MyApp\WEB-INF目录下 D. MyApp\WEB-INF\lib目录下

答:D

Web 工程的 lib 是放置 .jar 文件的地方。

8.要创建一个 EJB,必须要至少编写哪些 Java 类和接口?

A. 定义远程(或业务)接口

B. 定义本地接口

C. 定义Bean接口

D. 编写Bean的实现

解答:ABC

9. EJB 类库存在于 Java 的哪个版本中?(选择1项)。

A. J2SE

B. J2EE

C. J2ME

D. J2NE

解答:B

Java 分为三个体系

JavaSE(Java2 Platform Standard Edition,java平台标准版),

JavaEE(Java 2 Platform,Enterprise Edition,java平台企业版),

JavaME(Java 2 Platform Micro Edition,java平台微型版)。

EJB 属于 JavaEE 版本

10. 在 J2EE 中属于 Web 层的组件有(选择1项)

A. HTML

B. EJB

C. Applet

D. JSP

解答:D

11. 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 类

12. EJB 的激活机制

以 Stateful Session Bean 为例:其 Cache 大小决定了内存中可以同时存在的Bean实例的数量,根据MRU或NRU算法,实例在激活和去激活状态之间迁移,激活机制是当客户端调用某个 EJB 实例业务方法时,如果对应 EJB Object 发现自己没有绑定对应的 Bean 实例则从其去激活 Bean 存储中(通过序列化机制存储实例)回复(激活)此实例。状态变迁前会调用对应的 ejbActive 和 ejbPassivate 方法。

13. EJB 的几种类型

会话(Session)Bean ,实体(Entity)Bean 消息驱动的(Message Driven)Bean 会话 Bean 又可分为有状态(Stateful)和无状态(Stateless)两种 实体 Bean 可分为 Bean 管理的持续性(BMP)和容器管理的持续性(CMP)两种

上一篇: Servlet 与 JSP 下一篇: SSH(Struts,Sprin...