Java EE复习题目.docx
《Java EE复习题目.docx》由会员分享,可在线阅读,更多相关《Java EE复习题目.docx(27页珍藏版)》请在冰点文库上搜索。
JavaEE复习题目
JavaEE复习
一、填空题:
(30分)
(一)第一章概述
1.JavaEE为满足开发多层体系结构的企业级应用的需求,提出___________的编程思想。
JavaEE应用的基本软件单元是_____。
基本软件单元的运行环境被称为.
2.两层体系结构应用程序分为_____和______.
3.所谓的企业级应用程序,并不是特指为企业开发的应用软件,而是泛指那些为______创建的应用程序。
4.在三层分布式企业应用程序中,包括_____、______、________三层。
5.JavaEE客户端组件既可以是一个_______、______,也可以是一个_______。
6.JavaEEweb组件包括_____和_____。
7.JavaEE有两种类型的EJB组件:
______和______。
8.JavaEE6提供的组件主要包括三类:
______、______、_______。
(二)第三章servlet
9.Servlet组件在进行重定向时,需要使用ServletResponse接口的方法是_______。
10.httpServletRequest提供了两个方法用于从请求中解析出上传的文件:
________和_______。
11.一个Servlet的配置参数保存在________对象中,这个配置对象(能/不能)___被其他Servlet访问。
12.Servlet支持两种格式的输入/输出流:
_______和______。
13.MIME的全称_____________________,ServletResponse中响应正文的默认MIME类型为_______,而HttpServetResponse中的响应正文的默认MIME类型为______。
14.PDF文件的MIME类型是_________,MicrosoftWord文档的类型是_________。
在Servlet中设置MIME类型应使用_______________对象的方法__________。
15.所有的Servlet都必须实现下面的两个接口之一:
___________和____________。
16.HTTP协议是一种______协议,服务器不记录关于客户的任何信息。
17.在Web程序设计中,客户端以表单方式向服务器提交数据是最常见的方法。
表单数据的提交方法有两种:
_____和____。
18.常见会话跟踪技术有_____、_______和_______。
(三)第四章JSP
19.JSP显式注释的语法形式:
_____;JSP隐式注释的语法形式:
_______。
20.JSP内置对象的作用范围有四种____,______,_______,_______。
21.JSP的include动作组件的语法形式:
________________________。
22.JSP的forward动作组件的语法形式:
________________________________。
23.JSP的param动作组件的语法形式:
_________________________________。
24.JSP页面中声明变量的基本格式是:
_________________。
25.JSP页面除了普通HTML代码之外,还主要有如下三种成分:
_______、_______、________。
26.表达式语言EL提供两种不同的存取器:
_______和________。
27.JSP的默认字符编码是____________。
(四)第五章JavaBean
28.在JSP页面中,与JavaBean有关的标记有三个:
________、__________、______。
29.JavaBean的生命周期范围有四种是:
_____、______、_______、_________。
30.JavaBean在标记___________中利用______属性声明JavaBean的生命周期范围。
31.getProperty>用法的一般形式:
___________________________________________。
32.setProperty>用法的一般形式:
____________________________________________。
33.当JavaBean的某个属性为null时,使用表达式语言获得的信息是空字符串还是null对象?
答案是______。
34.JSP能够利用表达式语言访问JavaBean的属性,(也能/不能)____利用表达式语言设置JavaBean的属性。
(五)第六章JSF
35.JSF是一个基于_____架构的框架,其中模型角色由________承担,实现具体的业务逻辑,视图角色由_______承担,实现信息展示和与用户的交互,控制角色由______承担,实现具体的控制逻辑。
36.在JSF应用中,当接收到客户端的JSF请求后,是由JSF框架中的______________对请求进行统一处理。
37.JSF2.0提供了定义和访问资源的标准机制,它包含两个JSF标记访问资源:
__________,____________.
38.JSF提供了两种类型的导航组件:
____和____。
39.在JSF框架下,视图都是以______的形式存在,它们采用______作为视图定义语言。
40.JSF框架的导航组件中,链接标记有三种:
________、______、___________
41.JSF在转换和验证时都有可能会产生错误信息,这些错误信息可以通过标记message>显示出来,而这些预定义的错误信息有时是没有本地化的,为了对这些消息进行本地化设置,可以修改属性_________、__________、_________,让这些属性指向本地化资源即可。
42.CDI的全称是_______________________,CDIBean是JavaEE6规范的一项重大功能特性之一,提供了一种更加强大的托管Bean模型。
与ManagedBean不同的是,这种托管Bean是由________________________来管理和控制的。
43.JSF中立即事件类型通过设置组件的________属性来设置,它会将提前进行___________而无须等到调用应用阶段。
44.JSF的核心标记库有四种:
_________、_________、___________、_____________。
45.JSF框架中的每个视图都有一个唯一的String类型的标识,称为_________。
(或视图ID)
46.JSF的视图组件都是_______文件,可以通过直接引用ManagedBean的属性和方法。
(六)第七章JDBC
47.利用JDBC访问数据库过程中,主要涉及三种资源:
_______________,____________,______________。
48.给定具体的JDBCURL,获取数据库连接的方法是调用DriverManager对象的_____________方法来获取一个代表数据库连接的______________对象。
49.ResultSet具有三个获取流的方法:
_________、__________、___________.
50.JDBC支持三种类型的Statement对象:
__________,_______________,_____________。
51.JDBCURL的格式是:
___________________.
(七)第八章JPA
52.JPA操作的基本单元称为_____________,它其实是一个普通的______对象,通常对应数据库中的一个表。
53.在声明复合主键时,需要的两个注解是:
__________、___________。
54.JPA提供了注解___________来自动生成主键。
55.注解@GenerateValue支持四种主键生成策略:
________、_______、______、_______。
56.在JPA中,注解@Transient表示的含义是:
____________________。
57.在JPA中,如果使用了java.util.Date类型,则必须额外标注______注解说明转化成java.sql包中的哪种类型。
58.在JPA中,持久化上下文有两种类型,它们是______________,__________________。
59.在JPA中,新增一个实体,调用EntityManage的方法是_______,查询时调用的方法是find(),该方法的两个参数是________,________。
60.命名参数的格式是“_____”,位置参数的格式是“_______”。
61.在JPQL中,为了支持使用数据库本地支持的SQL语句,提供了一种称为本地查询的方式,该查询方式也分为________和________两种类型。
62.ORM全称是________________________。
63.Entity中的char[],Character或String类型的属性通常映射为_________________类型的字段,而Entity中的byte[],Byte[]或实现了serializable接口的对象通常映射为___________________类型的字段。
64.JPA支持两种类型的加载方式:
________和_________。
(八)第九章EJB
65.EJB组件分为两种类型:
___________,_________。
66.在EJB3.1规范中,EJB组件的实现可以仅仅是一个POJO,其全称是__________,_________。
它不继承任何类型,也不需要任何实现接口。
67.会话Bean分为三种类型:
___________,____________,____________。
68.单例Bean可以采用两种并发管理方式,一种是__________,另一种是___________。
69.EJB组件通过以下四种机制与容器交互:
_________,__________,__________,___________。
二、简答题(30分,6题*5分)
(九)第一章概述
70.三层体系结构的优点有哪些?
p2
71.两层体系结构的缺点有哪些?
p2-3
72.简述JavaEE的“组件-容器”编程思想。
(P5,有两点,与填空题第1题互斥)
73.JavaEE体系结构的优点?
p11,4点
(一十)第三章Servlet
74.Servlet的基本工作流程?
p21:
6点
75.在创建Web应用程序时,通过Servlet上下文可以实现哪些功能?
p61,4点
76.HttpServletResponse的sendRedirect方法与RequestDispatcher的forward方法有什么区别?
p68:
3点
77.Filter的主要用途是什么?
p69:
3点(不再出题范围)
(一十一)第四章JSP
78.列举JSP的5个内置对象,并做简要说明。
答:
request、response、out、session、application、config、pageContext、page、exception
(任选5个,并用一句话说明)
79.forward>与response.sendRedirect()实现重定位有何不同?
p114
80.简述JSP内置对象的作用范围。
P122
(一十二)第五章JavaBean
81.什么样的Java类是一个JavaBean?
p129:
3点
82.JSP如何与JavaBean结合?
二者如何传递消息?
(与填空题28题同一知识点)
答:
JSP可以使用三个标记useBean>、setProperty>、getProperty>与JavaBean进行结合,还可以使用表达式语言访问JavaBean的属性。
JSP可以使用脚本、标记、表达式访问JavaBean的属性,还可以通过脚本、标记、request对象的参数设置JavaBean的属性。
83.forward>与response.sendRedirect()实现重定位有何不同?
p114页
(一十三)第六章JSF
84.什么是JSF?
它有哪些优点?
答:
JSF(JavaServerFaces)是一种用于构建JavaEEWeb应用表现层的框架标准,提供了一种以组件为中心的事件驱动的用户界面构建方法。
(2)
优点在于:
(3分)
(1)JSF是JavaEE规范推荐的表现层框架标准
(2)JSF吸收了流行框架的标准
(3)便于与其他JavaEE技术集成
85.描述ManagedBean的生命周期。
P153(5点,每个1分)
答:
(1)Application:
@ApplicationScoped,整个应用
(2)…(按上述方式列出)
86.描述JSF的常规流程的6个阶段,并简要说明。
87.简要说明JSF标记库?
p161表6-2(每个标记库:
标记库名称、前缀和简要说明)
88.JSF与JSP支持表达式语言的区别是什么?
p165,3点
89.列举JSF对请求处理的6个阶段。
P172
90.列举JSF框架中Bean验证框架的5个内置注解。
P204
91.JSF框架支持哪四种事件类型?
P204,4个要点即可
92.Ajax与传统的web工作模型有何区别?
p220,两点
(1)传统的web工作模型实际上是一种请求-响应模型,是一种同步通信方式,即用户提交请求并等待服务器返回响应后的更新页面。
(2)Ajax是一种异步通信模式,Ajax采用客户端脚本与web服务器通信,客户端不需要等待客户端的响应,不必采用导致中断交互的完整页面刷新,就可以动态地更新web页面。
(一十四)第七章JDBC
93.画出JDBC访问数据库层次结构?
p226图7-6
94.简述JDBC工作原理。
P226页,3句话
95.什么是数据源?
什么是连接池?
二者之间的关系?
答:
数据源存储了所有建立数据库连接的信息。
(1分)连接池是JDBC为第三方应用服务器提供的一个由数据库厂家实现的管理标准接口,缓存一定数量的数据库链接资源对象。
(2分)
所有连接池和数据源的实现信息都存储在JNDI中。
连接池一定以数据源的形式提供服务。
但是数据源并不依赖连接池。
数据源保存的实例可以直接通过JDBC来访问数据库。
(2分)
96.列举ResultSet的光标5个属性。
P239
(一十五)第8章JPA
97.描述命名查询与动态查询的区别?
1)创建一个动态查询,使用方法EntityManager的createQuery(),它有一个字符串参数,表示一个JPQL查询。
而命名查询是静态查询,由嵌入到@NamedQuery注解或等价XML描述中的元数据表示。
2)与动态查询相比,命名查询执行效率更高。
因为持久化提供器在应用程序启动时将JPQL字符串翻译为SQL,而不是在运行时进行转换。
98.论述Entity的状态和生命周期变化?
P282-283
99.简述JPA中提供的三种不同的策略实现继承映射?
p273(与填空题)
100.简述JPA主键自动生成的四种策略?
P261(与填空题55题是同一知识点)
(一十六)第9章EJB
101.简述EJB与容器交互的四种机制?
p298(与填空题69同一知识点)
102.画出有状态会话Bean的生命周期示意图。
(p314)
103.画出无状态会话Bean的生命周期示意图。
(p303)
104.简述EJB的部署描述信息。
(p301)
1)部署描述信息有一个预先定义的格式,所有符合JavaEE规范的EJB组件都可以使用此格式来描述自身信息,而所有符合JavaEE规范的服务器必须知道如何读取此格式。
这种格式在XML文档类型定义(DTD)中指定。
2)部署描述信息描述了EJB的类型及接口方法和EJB实现类的名称。
它还指定了EJB中每个方法的事务性属性、哪些安全性角色可以访问每个方法。
3)部署描述信息在jar必须以特定名称META-INF/ejb-jar.xml保存。
三、阅读程序,补充空白区域代码。
(20分,10分*2)
参考后面第六点
四、编程题(20分,10分*2)
105.如何编写JPA的几种映射关系:
一对一;一对多;多对多。
(降低要求,掌握缺省形式的编写即可,定制形式暂不要求掌握)
举例:
每个教师可以讲授多门课程,每门课程可由多个教师来讲授。
教师实体Teacher具有工号、姓名、性别、年龄、讲授课程,课程实体Course具有课号、课程名、学分、授课教师。
请按JPA规范定义实体类Teacher、Course。
编程:
106.有状态会话Bean与无状态会话Bean的编写
举例:
编写一个无状态会话Bean,统计一行文本(用一个字符串表示)中单词的个数,要求:
编写Bean的实现文件、接口文件、企业客户端类的main方法。
(提示:
字符串分解可采用正则表达式”[\\s\\d\\p{Punct}]+”)
编程:
五、重点编程考察(阅读程序,填空)
(一十七)购物车源代码(Servlet版):
107.shopcart.html
购物车
①
请查找想要添加或者移除的产品
产品列表:
108.CartServlet.java
packagechapter3;
@WebServlet(name="CartServlet",urlPatterns={"/CartServlet"})
publicclassCartServletextendsHttpServlet{
ArrayListcart=newArrayList<>();
protectedvoidprocessRequest(HttpServletRequestrequest,HttpServletResponseresponse)
throwsServletException,IOException{
response.setContentType("text/html;charset=GBK");
request.setCharacterEncoding("GBK");
_______________________________________②
_______________________________________③
if(submit.equals("add"))
{______________}④
if(submit.equals("remove")){
if(cart.contains(item))
cart.remove(item);
}
try(PrintWriterout=response.getWriter()){
out.println("
DOCTYPEhtml>");out.println("");
out.println("
");out.println("购物车");
out.println("");out.println("
");
out.println("
您已选购的商品如下:
");
for(Stringstr:
cart){out.println(str);out.println("
");}
out.println("
");
RequestDispatcherdispatcher=request.getRequestDispatcher("shopcart.html");
_______________________⑤
out.println("");out.println("");}}
//NetBean自动生成代码}
(一十八)购物车(JavaBean版)
109.cart.jsp
<%@pagecontentType="text/html;charset=gbk"language="java"import="java.sql.*"%>
JSP的购物车实例
请查找想要添加或者移除的产品
产品列表:
110.shopcart.jsp
<%@pagecontentType="text/html;charset=gbk"language="java"import="java.sql.*,com.cart.*"%>
useBeanid="cart"_________________________"②/>
setPropertyname="cart"property="*"/>
<%Stringsubmit=