一、填空题
1. 企业级应用程序通常应具备快速适应性、分布式、高安全性、可扩展性和集成化 等特性。P(6)
2. 两层体系结构由 客户层 和 服务器层 构成,即所谓的 C/S 模式。P(7)
3. 三层体系结构通常包括 客户层 、 服务器层 和 应用服务器层 三个层次。P(7)
4. 典型 Java EE 应用包括:客户层、表示层(Web 层)、业务逻辑层和企业信息系统层四个层次。P(8)
5. Java EE 技术框架大致包括 组件技术 、 服务技术 和 通信技术 三个部分。P(11)
6. Java EE 组件主要包括 客户端组件 、 Web 组件 和 EJB 组件 三大类。P(10)
7. 按打包粒度从小至大的顺序,Java 归档包的类型分别是 JAR 、WAR 和 EAR 。(PPT)
8. 程序错误可分为 语法错 、 语义错 和 逻辑错 三类。P(20)
9. JSP 指令元素主要包括 include 、 page 和 taglib 三个。P(34)
10. include 指令的基本语法为 <%@ include file=”URL” %> 。P(34)
11. taglib 指令的基本语法为 <%@ taglib uri=”taglibURI” prefix=”pre” %> 。P(35)
12. JSP 参数标记的基本语法为
P(39)
13. 读 取 request 单 值 参 数 的 方 法 是 getParameter() , 读 取 多 值 参 数 的 方 法 是
getParameterValues() 。获取所有参数名称的方法是 getParameterNames() 。P(44)
14. request 作用范围变量可以通过 setAttribute() 和 getAttribute() 方法设置和读取变量的数
据。P(45)
15. 调用 response 对象的 addCookie(Cookie cookie) 方法可将一个 Cookie 对象传回客户端保存。
P(48)
16. 调用 request 对象的 getCookies() 方法可以读取保存在客户端的所有 Cookie 对象。P(48)
17. 在 web.xml 文件中定义 Web 应用初始化参数的标记是
和子标记
、
。(源于 PPT)
18. 读 取 Web 应 用 初 始 化 参 数 的 相 关 方 法 有
getInitParameter(String
name) 和
getInitParameterNames() 。P(61)
19. HttpServlet 处理客户端请求的方法是 doGet() 和 doPost() 。P(62)
20. Servlet 的生命周期大致分为 初始化阶段 、 处理请求阶段 和 销毁阶段 三个阶段。P(62)
21.
标记的 scope 属性可取 page 、 request 、 session 和 application 四个值。
P(75)
22. MVC 模式的三个基本部分是 模型(Model) 、 视图(View) 和 控制器(Controller) 。P(105)
23. JSF 应用的主控制器是 FacesServlet ,它需要在 web.xml 文件中进行配置,其 URL 映射通常配
置为 * . faces 。P(119)
24. MyEclipse 的 JSF 工具面板包括 Core 标签 和 HTML 标签 两类 JSF 标签,使用这些标签的页面需要
使用 JSP 指令 taglib 导入标签库。P(134)
25. JSF 标签的常用属性是 id 和 value ,后者常用于绑定辅助 Bean 的属性,例如
。(源于 PPT)
26. JSF 标签 loadBundle 用于装载资源文件,其常用属性是 basename 和 var 。P(137)
27. JSF 标 签 selectItem 用 于 为 选 择 类 标 签 提 供 选 项 , 属 性 itemLabel 用 于 设 置 显 示 文 本 ,
itemValue 设置对应的数据值。P(139)
28. JSF标签的 value 属性通常绑定辅助 Bean 的 SelectItem 类型
或 Map 类 属性,
还可以是 类或 SelectItemGroup 类属性。P(139)
29. JSF dataTable 标签用于显示数据库表数据,其 value 属性通常绑定辅助 Bean 的 ResultSet 类型
属性,另外还须设置 var 属性以便在列子标签中访问该记录集的数据。P(146)
30. JSF column 标签通常不须设置属性,而是通过嵌入 facet 子标签定义表头,并利用 outputText
或 inputText 子标签设置记录集的列。P(146)
31. JSF 事件可分为 实时事件 、 动作事件 、 值变事件 和生命周期事件 4 类。P(163)
32. EJB 3 的开发通常涉及到 业务接口 、 Bean 类 以及 辅助类 3 种文件。P(173)
33. EJB3 的 Bean 类分为 会话 Bean 、 实体 Bean 和 消息驱动 Bean 3 大类。P(174)
34. JMS 消息由 消息头字段 、 一组可选属性 以及 消息体 组成。P(181)
35. JMS 提供 点对点方式 和 发布-订阅方式 两种类型的消息服务。P(182)
36. 有状态会话 Bean 的生命周期包括 不存在状态 、 准备就绪状态 和 挂起状态 三种状态。P(186)
37. JPA 的配置文件名默认为 persistence.xml ,标签
的主要属性有 name 和
transaction-type 。P(193)
38. Web 服务架构的三类角色是服务的 提供者 、 请求者 和 注册中心 。(源于 PPT)
39. Web 服务架构的三种基本操作是 发布 、 查找 和 绑定 。(源于 PPT)
40. Struts 2 框架由 核心控制器 FilterDispatcher 、 业务控制器 和 用户业务逻辑组件 3 部分组
成。P(256)
41. Action 的配置文件为 struts.xml ,通过元素的 name 属性声明 Action 的访问名,
class 属性指明其具体的实现类。P(260)
42. Struts 2 的 Action 类通常可继承系统类 ActionSupport 或实现 Action 接口,它们约定的关键业
务方法是 execute() 。P(259)
43. Struts 2 标记库中用于显示验证错误信息的标记主要有 和
。P(266)
44. Hibernate 包 括 SessionFactory 、 Session 、 Query 和 Criteria 、 Transaction 和
Configuration 5 个核心接口。P(268)
45. Hibernate 框架提供的查询语言为 HQL ,相关的查询接口有 Query 和 Criteria 。P(275)
46. Hibernate 框架的主配置文件为 hibernate. cfg.xml ,对象关系映射配置文件为一系列
47. Spring 容 器 相 关 的 核 心 接 口 是 BeanFactory 和 ApplicationContext , 默 认 的 配 置 文 件 是
applicationContext.xml 。P(287)
48. Spring 配置文件中的标记的常用属性有 id 、 class 和 scope 。P(288)
49. Spring 容 器 配 置 Bean 的 作 用 域 包 括 singleton 、 prototype 、 request 、 session 和
globalsession 五种。P(288)
50. Spring 提供了 设值注入 和 构造注入 两种依赖注入方式访问容器配置的 Bean 实例。P(290)
51. 使用 Ext 的 Web 页面需要引入 ext-all.css 、 ext-base.js 和 ext-all.js 3 个 Ext 库文件。
二、判断题
( )1.
程序中的语法错误可以在编译时立即发现。√
( )2.
程序中的逻辑错误可以在编译时立即发现。×
( )3.
JSP 程序运行在客户端浏览器中。× p32
( )4.
Servlet 程序运行在服务器 Web 容器中。√
( )5.
Applet 运行在客户端浏览器中。√
( )6.
Tomcat 是一款免费、开源且全面支持 Java EE 规范的应用服务器。× p22
( )7.
Glassfish 是一款免费、开源、全面支持 Java EE 规范的应用服务器。√ p23
( )8. 数据库连接池是由应用程序创建和管理的。√
( )9.
include 指令用于执行静态文件包含。√P34
( )10.
include 动作标记用于执行动态文件包含。。√
( )11.
page 指令用于设置 JSP 页面的属性,包括设置错误跳转页面。。√
( )12.
page 指令用于设置 JSP 页面的属性,但不包括导入 Java 类库。×
( )13.
taglib 指令用于在 JSP 页面中引入 JSP 扩展标记库。√
( )14.
页面跳转后的地址栏不会改变。√
( )15.
页面跳转后的标题栏不会改变。×
( )16.
加载的 JavaBean 会下载到客户端运行。√p40
( )17.
加载的 JavaBean 会将执行结果嵌入页面中返回客户端。×p40
( )18.
HTML 注释内容会返回到客户端浏览器,但不会显示出来。√
( )19.
JSP 注释内容会返回到客户端浏览器,但不会显示出来。×p40
( )20.
JSP 页面可直接使用 9 个 JSP 隐含对象而不须手动创建。√
( )21. 标准 JavaBean 必须是一个 public 类。√
( )22.
JSTL 的核心标记库引用指令的 prefix 属性取值必须是 c。√p95
( )23.
JSTL 的 SQL 标记库引用指令的 prefix 属性取值必须是 sql。×
( )24.
JSTL 的 XML 标记库引用指令的 prefix 属性取值必须是 xml。×
( )25.
JSTL 的国际化标记库引用指令的 prefix 属性取值必须是 fmt。√
( )26.
JSTL 的函数标记库引用指令的 prefix 属性取值必须是 fn。√
( )27. 编译好的 Servlet 应该与 JSP 文件放在同一个文件夹下。×
( )28. 编译好的 Servlet 应该放在 Web 站点的 WEB-INF\classes 下。√
( )29. 页面表单/参数可以通过 request 对象的相应方法取得。√
( )30. 页面表单/参数可以通过 response 对象的相应方法取得。×
( )31. 设置 Cookie 可通过 response 对象的相应方法实现。√
( )32. 设置 Cookie 可通过 request 对象的相应方法实现。。×
( )33. 获取 Cookie 可通过 request 对象的相应方法实现。√
( )34. 获取 Cookie 可通过 response 对象的相应方法实现。。×
( )35. 使用 response 的 sendRedirect()方法页面跳转会重建 request 对象。×p52
( )36. 使用 response 的 sendRedirect()方法页面跳转会导致地址栏改变。√p52
( )37. 使用 RequestDispatcher 的 forward()方法页面跳转会重建 request 对象。√p52
( )38. 使用 RequestDispatcher 的 forward()方法页面跳转会导致地址栏改变。×p52
( )39.
标签的 value 属性用于设置链接目标 URL。×p(138)
( )40.
标签的 value 属性用于设置链接文字。×p(138)
( )41.
JSF 实现库(JAR 包)的消息文件优先于 JSF 本地消息文件。
( )42.
JSF 页面标签的 message 属性设置优先于消息文件设置。
( )43.
JMS 消息服务属于异步通信。√ p181
( )44. 点对点消息模型接收者和发送者之间存在时间上的依赖关系,必须双方同时在线才能进行。×
p182
( )45. 消息驱动 Bean 不需要客户端程序主动调用。√ p184
( )46. 实体管理器的 merge()方法将一个新建的实体对象保存到数据库表中。√p213
( )47. 实体管理器的 persist()方法将以持久化实体对象的属性值更新数据库表的对应记录。√p213
( )48. 执行实体管理器的 contains()方法后实体将成为被管理的。×p213
( )49. 执行实体管理器的 refresh()不会更新数据库记录值。×p213
( )50. 执行实体管理器的 refresh()可能会更新被管理实体是的属性值√。p213
( )51. 执行实体管理器的 refresh()可能会改变一个实体的被管理状态。×p213
( )52. 执行实体管理器的 clear()方法会改变实体的被管理状态。√p213
( )53. 浏览器访问 JSF 页面时的扩展名必须是 faces。√
( )54.
JSF Converter 接口的 getAsString 方法的第 3 个参数为 Object 类型。√p151
( )55.
JSF Converter 接口的 getAsString 方法执行 Object 至 String 的类型转换。√p151
( )56.
JSF Converter 接口的 getAsObject 方法执行 String 至 Object 的类型转换。√p151
( )57.
EJB3 的业务接口可以是普通的 Java 接口。×p173
( )58.
EJB3 的会话 Bean 不再需要 home 接口。√p173
三、名词解释
1. Annotation:标注,是 Java EE 5 中引入的一项小特性,也是一项十分有效的新特性。标注本质上是一
种元数据,通过在 Java 代码中加入元数据信息(Meta
Data),从而指导工具和库对代码的处理。P(2)
2. 泛型:Java EE 5 通过引入泛型,允许约定集合元素的类型来获得强类型检查,避免等到运行时出现类型
转换错误,也可免除显式的强制类型转换(cast)。P(4)
3. 自动装箱:自动装箱(Auto-boxing)和自动拆箱(Auto-unboxing)机制解决了简单类型和包装类型之间的
自动转换问题。自动装箱特性让 Java 自动包装一个简单数据类型(例如 int)到对应的包装类型(Integer)
中。P(4)
4. 自动拆箱:自动拆箱是相反的过程,即将一个包装类型(例如 Integer) 自动转换为它所对应的简单
数据类型(int)。P(4)
5. 静态导入:Java EE 5 引入静态导入,即直接导入类的静态成员,从而允许直接通过静态成员的名字来
访问它们,无需再给出他们的类名。P(6)
6. C/S 模式:两层体系结构由客户层(Client)和服务器层(Server)构成,即所谓的 C/S 模式。P(7)
7. B/S 模式:三 层体 系结 构在 二层 体系 结构 应用 程序 的客 户层 与服 务器 层之 间添 加了 一个 第三 层
——应用服务器层,形成客户层、应用服务层和数据服务层三个层次。与两层体系结构的应用相比,
三层体系结构应用程序的客户层功能大大减弱,只用来实现人机交互,原来由客户端实现的应用逻辑、
数据访问职能都迁移到应用服务器层上。 这种“瘦客户层”通常可采用浏览器(Browser)实现,因此
这种体系结构又被称作 B/S 模式 或“瘦客户机”模式。P(7)
8. JNDI:所谓 JNDI,即 Java 名字目录接口(Java Naming and Directory Interface),是 Java EE 提
供的命名服务。Web 容器会为连接池数据源等各种对象分配一个唯一的 JNDI 名,应用程序可通过
javax.naming.Context 接口提供的方法查找获得 JNDI 命名对象。P(92)
9. JDBC:(Java Database Connectivity)是 Java 环境中访问 SQL 数据库的一组 API。它包括一 些用 Java
语言编写的类和接口,能更方便地向任何关系型数据库发送 SQL 命令。P(81)
10. JTA:Java 事务 API(JTA)是由 Web 容器提供的,允许应用程序执行分布式事务处理的服务,能确保事
务的 ACID(原子性、一致性、隔离性和持久性)特性。(PPT)
11. JDK:(Java
Development Kit,Java 开发工具包)是用于构建发布在 Java 平台上的组 件和应用程
序的开发环境。它是一切 Java 应用程序的基础,所有的 Java 应用程序都是构 建在 JDK 之上。P(16)
12. 动态网页:动态网页的关键内容是在服务器端动态生成。相对于静态网页,动态网页最本质的区别在
于它会被服务器当作一个程序来执行,页面中嵌入的脚本代码会被服务器识别并执行, 执行结果与页面
静态内容合并后送往客户端浏览器显示。P(31)
13. Servlet:是 Java 服务器端的小程序,是 Java 环境下实现动态网页的基本技术。Servlet 程序能够
调用 JavaBean、JDBC、其它 Servlet、RMI、EJB、SOAP 和 JNI 等程序完成指定 的功能,计算结果以
HTML/XML 等形式返回给客户端。P(60)
14. JSP:即 Java Server Pages 的简写,是由 Sun 公司和多家公司共同建立的一种基于 Java 语言的动态
网页技术标准。JSP 采用先编译后运行的方式,有效地提高了执行效率,已成为 Internet 动态页面的主
流方式。P(31)
15. HTML:(HyperText Markup Language,超文本标记语言)不是程序设计语言,而是一组标 记,便于网页
设计人员把文本、图像、动画等制作成有一定效果的网页,资源间通过超链 接联结成为一个有机的整
体。P(33)
16. JSTL:全称是 JSP 标准标记库(JSP Standard Tag Library,JSTL),它是 SUN 公司为简化 JSP 页面设
计而提出的一种技术规范。JSTL 使用一套新的标准标签库取代原来的 scriptlet(代 码嵌入<% %>中)进行
JSP 页面开发,使页面代码的可读性有了显著提高。P(95)
17. Cookie:Cookie 或称 Cookies,在 Web 技术中指 Web 服务器暂存在客户端浏览器内存或硬盘文 件中
的少量数据。Web 服务器通过 HTTP 报头来获得客户端中的 cookie 信息 P(47)
18. JSF:即 Java Server Faces,是 JPC(Java Community Process)推出的一种用于组件化 构成 Web 应
用的新技术,后被 SUN 正式纳入 Java EE 规范中。JSF 技术框架能让开发工具 拥有可视化拖曳组件构
建服务端 Web 页面,并为组件提供事件编程机制。P(114)
19. EJB:EJB 是 Enterprise JavaBeans 的缩写,又称为企业 Bean,是一种 Java 服务器端组件模型。EJB 提
供了服务器上的自治、企业级和分布式功能,并能帮助开发者在不同粒度级别上定 义和封装系统功能。
P(172)
20. JMS:Java 消息服务(JMS,Java Message Service)是一种消息标准,它允许 Java EE 应用程序 组件
生成、发送、接收和读取消息,能够进行分布式、松耦合、可靠和异步的信息交流。P(181)
21. JPA:(Java Persistence API,Java 持久化 API),是 Java EE 5 规范中用于对象/关系映射(O/R)
的一组 API,它是 SUN 官方的对象/关系映射模型。JPA 规范详细阐述了实体 Bean 的定义、实体 Bean
支持的注释、全新的查询语言、实体管理接口、容器实现规范等内容。P(189)
22. Web Service:为 了解 决分 布式 计算 中异 构应 用之 间互 操作的 问题, W3C(万维 网联盟 )提 出了 Web
Service(Web 服务)架构。简单来说,Web 服务就是一个向外界暴露接口的,能够通过网络进 行远程调用
的应用程序。P(241)
23. XML:可扩展标记语言主(eXtensible Markup Language,XML)是 Web 服务技术架构的基石,它是 Web 服
务中数据表示的基本格式。但 XML 并没有规范数据的具体类型。P(242)
24. SOAP:简单对象访问协议(Simple Object Aecess Protocol,SOAP)提供了标准的远程过程调用协议(RPC)
用于调用 Web 服务,是一种中立的信息传递协议,通常采用 HTTP 协议发送请求的 SOAP 消息和回应 SOAP
消息。P(242)
25. WSDL:Web 服务描述语言(Web Services Description Language,WSDL)是一种基于 XML 的,用于描述 Web
服务及其操作、参数和返回值的语言。P(242)
26. UDDI:统一描述、发现和集成协议(Universal Description Discovery Integration,UDDI)是 Web 服
务架构下核心的服务描述、发现和集成机制,其目的是在网上自动查找 Web 服务。P(243)
27. ORM:对象/关系映射(ORM),简单地说就是将面向对象语言的对象映射到关系数据库的表,成为面向对象
编程语言与关系数据库之间协作的桥梁。(P267)
28. IoC:依赖注入,又称为控制反转(IoC),指的是一种通过描述创建对象的编程方式。即在程序代码中不
直接与对象和服务连接,而是在配置文件中描述组件需要依赖的对象或服务。(P287)
29. AOP:(Aspect Orient Programming),也就是面向切面编程,也称作面向方面编程。AOP 作为面向对象
编程(OOP)的一种补充,已经成为一种较成熟的编程思想。面向对象编程是从静态角度考虑程序结构,
面向切面编程则从动态角度考虑程序运行过程。(P293)
30. RIA:RIA(Rich Internet Applications)即富网络应用,或基于 Internet 的富客户端应用。(P311)
31. AJAX:AJAX(Asynchronous JavaScript + XML,异步 JavaScript 和 XML),是一种用于创建快速响应动态
网页的技术。通过在后台与服务器进行少量数据交换,AJAX 可以让网页实现异步更新,即在不重新加载整
个网页的情况下对网页的局部进行更新。(P311)
四、问答题
1.列举 Java EE 的主要新特性。
标注, EJB3.0 ,JPA , 提供了更简单、更广泛的 Web Service 支持,依赖注入。
泛型(Generics),自动装箱和自动拆箱,枚举类型,增强的 for 循环,可变参数,
静态导入(P2)
2.简述企业级应用程序的基本特点。
分布性,高速反应性,高安全性,可扩展性,集成性
3.简述企业级应用体系结构的演变。
企业级应用程序的体系结构经历了从两层结构到三层结构再到多层结构的演变过程。
4.简述典型 Java EE 应用程序的构成。
典型的 Java EE 结构的应用程序包括四层:客户层、表示层(Web 层)、、业务逻辑层和企业信息系 统
层
5.Java EE 规范标准包括哪两方面的内容?
1
2
Java EE 规范了分布式组件开发的标准。
Java EE 规范了分布式组件运行环境——容器提供的服务的标准。
6.简述 Java EE 三类组件的构成及运行环境。
客户端组件:可以是一个 Web 浏览器、一个 Applet,也可以是一个普通的客户端Java 应用程序。
Java EE Web 组件主要包括: Servlet 和 JSP,Web 容器还可以调用 JavaBean 进行业务处理。
EJB 组件:Session Bean(会话 Bean),Entity Bean(实体 Bean)和 Message-Driven Bean(消
息驱动 Bean)。
7.简述 Java EE 应用的打包与部署方式。
Java EE 应用打包与部署是指将一个 Java EE 应用中的相关组件打包到一个单元(通常称为包)中,
并将它部署到符合 Java EE 规范的应用服务器上。
8.Java EE 模块主要有哪 4 种基本类型?简述其构成。
EJB 模块:包含企业 Bean 的类文件和一个 EJB 配置描述文件。EJB 模块包装成扩展名为.jar 的
JAR 文件。
Web 模块:包括 JSP 文件、Servlet 类文件、HTML 文件、图形文件和一个 Web 配置描 述文件。
Web 模块被打包成扩展名为.war 的 WAR(Web Archive File,Web 应用档案) 文件。
资源适配器模块:包含所有的 Java 接口、类、本地库、其他文档和资源适配器配置描 述 文 件 。
它 们 是 实 现 了 某 个 特定 EIS 的 连接器 体 系 结 构 ( Java
EE
Connector
Architecture)。资源适配器模块被包装成扩展名为.jar 的 JAR 文件。
应用程序客户端模块:包含类文件和一个应用程序客户端配置描述符。应用程序客户 端模块被包
装成扩展名为.jar 的 JAR 文件。
9.简述 JAR 文件与 ZIP 文件的异同。
与 ZIP 文件不同的是,JAR 文件不仅用于压缩和发布,而且还用于部署和封装库、组件和插件程序,可
提供给编译器和 JVM 直接使用。
10. 通常需要为 JDK 设置哪些环境变量?如何设置?
通常需要设置 JAVA_HOME、CLASSPATH 和 PATH 三个系统环境变量
JAVA_HOME = D:\Java\jdk
PATH = %JAVA_HOME%\bin 或 D:\Java\jdk\bin
CLASSPATH = .;%JAVA_HOME%\jre\lib\rt.jar; 或
.;D:\Java\jdk\jre\lib\rt.jar;
11. 简述 Servlet 与 JSP 的联系和区别。
a)
Servlet 向客户端返回的内容需要用 out.print()输出,不便于网页版面的设计和修改。为了解
决这个问题,Sun 制订了 JSP 技术规范,JSP 网页版面的设计与维护可通过 DreamWeaver 等工具
软件来实现,比 Servlet 要直观和容易。
JSP 页面最终会被 JSP 服务器编译成一个 Servlet 程序来运行。
b)
c)
12. 简述 response 的 sendRedirect()与 RequestDispatcher 的 forward()两种方法执行页面跳转的异同
点。
第一点区别,过程不同:第一种方式相当于浏览器接收到了响应之后又向服务器发送了一次请求,所
以相当于两次请求。第二种方式相当于方法调用,在执行当前文件的过程中转向执行目标文件,两个
文件(当前文件和目标文件)属于同一次请求,最本质的特点就是两次请求共享了 reques 对象和
response 对象。
第二点区别,地址栏不同:第一种方式下用户在浏览器地址栏中看到的是目标文件的地址,第二种方
式下用户在浏览器地址栏中看到的是当前文件的地址。
13. 导致 session 生命期结束的主要因素有哪些?
导致 session 生命期结束的主要因素有:
1 客户端关闭浏览器窗口,主动结束一次会话;
2
Web 服务器关闭,session 对象及其属性将被注销;
3 用户长时间没有访问请求,导致 session 超时,session 对象将被删除;
4 程序调用 session.invalidate()方法主动结束会话,session 对象将被删除。
14. 简述 Servlet 编程的基本步骤。
a)
Servlet 编程过程大致分为三步:代码编辑与编译、部署和重载 Web 应用。
b) 代码编辑与编译
1
Servlet 程序一般直接继承 HttpServlet 类,根据情况选择适当的 doXXX()方法进行重置,
实现期望的功能。