当前位置:文档之家› JavaEE考试题

JavaEE考试题

JavaEE考试题
JavaEE考试题

一、填空题

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标记库中用于显示验证错误信息的标记主要有

cssStyle=”“ /> 和 。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库文件。P(322)

二、判断题

()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. E JB3的业务接口可以是普通的Java接口。×p173

()58. E JB3的会话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(JT A)是由Web容器提供的,允许应用程序执行分布式

事务处理的服务,能确保事务的ACID(原子性、一致性、隔离性和持久性)特性。(PPT)

11.JDK:(Java D evelopme nt 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 技术框架能让开发工具拥有可视化拖曳组件构建服务端 W eb 页面,并为组件提供事件编程机制。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)是 W eb 服务技

术架构的基石,它是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 的,用于描述 W eb 服务及其操作、参数和返回值的语言。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规范标准包括哪两方面的内容?

①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 要直观和容易。

b)JSP页面最终会被JSP服务器编译成一个Servlet程序来运行。

c)

12.简述response的sendRedirect()与RequestDispatcher的forward()两种

方法执行页面跳转的异同点。

第一点区别,过程不同:第一种方式相当于浏览器接收到了响应之后又向服务器发送了一次请求,所以相当于两次请求。第二种方式相当于方法调用,在执行当前文件的过程中转向执行目标文件,两个文件(当前文件和目标文件)属于同一次请求,最本质的特点就是两次请求共享了reques对象和response对象。

第二点区别,地址栏不同:第一种方式下用户在浏览器地址栏中看到的是目标文件的地址,第二种方式下用户在浏览器地址栏中看到的是当前文件的地址。

13.导致session生命期结束的主要因素有哪些?

导致session生命期结束的主要因素有:

①客户端关闭浏览器窗口,主动结束一次会话;

②Web服务器关闭,session对象及其属性将被注销;

③用户长时间没有访问请求,导致session超时,session对象将被删

除;

④程序调用session.invalidate()方法主动结束会话,session对象将

被删除。

14.简述Servlet 编程的基本步骤。

a)Servlet 编程过程大致分为三步:代码编辑与编译、部署和重载Web应

用。

b)代码编辑与编译

①Servlet程序一般直接继承HttpServlet类,根据情况选择适当的

doXXX()方法进行重置,实现期望的功能。

c)部署Servlet

①部署Servlet程序是指在WEB-INF\web.xml中书写Servlet部署信

息。web.xml文档对大小写敏感。

d)重载Web应用

①Tomcat启动时会自动发布已经注册的Web应用或webapps文件夹下

的各个Web应用。

②此后如果重新编译或生成了新的Servlet程序类*.class,需要重载

Web应用来实现重新加载、更新*.class到Servlet容器中。

③关闭Tomcat后重启,也可实现重载Web应用。

④也可以管理员角色登录Tomcat,然后进入管理页面重新加载Web应

用。

15.列举JDBC编程常用的接口和类。

a)java.sql.Driver接口

b)java.sql.DriverManager类

c)java.sql.Connection接口

d)java.sql.Statement接口

e)java.sql.ResultSet接口

16.列举java.sql.Connection接口的常用方法。

createStatement():创建一个 Statement 对象,用于发送SQL 语句给数据库服务器。

◆prepareStatement(String sql, int resultSetType, int

resultSetConcurrency, int resultSetHoldability):为一条带参数的SQL语句生成PreparedStatement对象(预编译对象)。

◆commit():提交事务,这个方法只有在手动事务提交模式下才有效。

◆close():关闭数据库连接,释放资源。

17.列举java.sql.ResultSet接口的5种以上常用方法:

①next()、last()等:移动记录指针。

②getString(String column Name)/getString(int columnIndex)、

getByte()、getDate()、getTime()等:读取当前记录的指定字段值。

③updateString(String columnName, String x)等:更新当前记录指

定字段值。

④updateRow():用当前记录的新值更新数据库数据。

⑤deleteRow():删除当前记录。

18.JSTL标记库主要包括哪几类?各举两例。

?JSTL核心标记库

JSTL核心标记库提供了控制流、循环语句、异常处理、信息输出、变量定义等动作。

标记用于定义一个JSP作用范围变量,并对变量进行赋值。

标记用于移除一个作用范围变量,基本语法如下:

?SQL标记库

提供与数据库操作相关的指令。

:该标记用于设置数据源

:用于查询数据库的数据

?XML标记库

XML标记库用于访问XML数据的流程控制。主要标签有

19.简述JSF应用的基本组成部分。

JSF应用也需要运行在Servlet容器中,通常包含以下几个组成部分:

a)包含UI标签的页面(JSP页面);

b)辅助Bean类,用于传递数据和执行处理;

c)验证器、转换器、事件监听器;

d)其它JavaBean组件;

e)应用配置文件(web.xml、faces-config.xml)。

20.简述JSF应用开发的基本步骤和主要内容。

不管是否使用IDE开发环境,使用JSF框架开发Web应用通常遵循以下三个步骤:

(1) 视图设计

利用开发工具,可视化地快速构建Web用户界面,并将页面组件与后台JavaBean绑定。

(2) 模型设计

JSF框架实现了应用程序逻辑和表示的完全分离。在模型设计部分是编写称为辅助Bean(又叫受管Bean)的JavaBean,完成应用的相

关业务逻辑代码。

(3) 控制器设计

JSF的控制器由web.xml和faces-config.xml两个配置文件(均在WEB-INF目录下)完成。web.xml文件用于设置应用主控制器;

Faces-config.xml文件设置页面导航,控制页面间的跳转流程。

21.列举4种以上JSF UI组件的常用公共属性。

a)id——标签所代表组件的唯一标识,方便其它组件引用。

b)style——为标签指定CSS样式。

c)styleclass——为标签指定CSS样式表类。

d)value——指定标签要显示的文本,常通过EL表达式绑定某个辅助Bean

属性;

22.列举JSF标签的5种以上常用属性及其作用。

①常用属性是value,用于设置输入域的值变量,通常使用延迟计算EL

表达式,绑定到某个Bean属性。例如:

value="#{https://www.doczj.com/doc/b22238066.html,ername}"/>

②另一个常用是required,设为true时,要求用户必须输入才可提交,

否则将在message或messages标签处显示错误信息。

③requiredMessage属性可用于指定错误信息。

④其它属性还有validator和converter,用于指定验证器和转换器,

相应的validatorMessage和converterMessage可指定验证及转换的

错误信息,在没中文化错误信息文件时这是一个不错的方法。

23.列举JSF标签的5种以上常用属性及其作用。

①value属性,设置按钮文字

②id属性,唯一标识

③image属性,设置显示图形按钮,其值为图形文件URL。

④由action属性,指定点击按钮执行的事件动作,通常为EL延时执行

表达式,调用执行一个Bean方法。action属性也可直接设置为某个

导航目标字符串。

⑤type属性,设置命令按钮的类型,有效取值为button、submit和

reset,默认为submit,即提交表单。

24.简述JSF自定义转换器的编程步骤。

自定义转换器编程的基本步骤是:

①创建实现javax.faces.convert.Converter接口的类,并编程实现接

口的getAsObject()和getAsString()方法。

②在JSF配置文件(faces-config.xml)中注册转换器。

③通过页面JSF标签的converter属性调用转换器。

25.简述JSF自定义验证器的实现方法及编程步骤。

自定义验证器的方法有两种:

①通过辅助Bean的验证方法实现。该方法首先在辅助Bean创建一个约

定参数的验证器方法,然后在配置文件(faces-config.xml)中注册辅

助Bean,最后就可在页面中设置标签的validator属性引用辅助Bean

的验证器方法。

②通过实现Validator接口的验证器类实现。该方法首先创建实现

javax.faces.validator.Validator接口的验证器类,然后在配置文

件(faces-config.xml)中注册验证器,最好就可在页面中通过

validator子标签设置验证器。

26.JSF设置错误消息的方法有哪些?消息文件如何命名?

实际上,有如下多种设置错误信息的方法:

a)使用JSF实现库(JAR包)的Messages文件

b)使用本地Messages文件(放于应用的classes文件夹中)

c)设置标签的xxxMessage属性

d)抛出异常时指定FacesMessage对象

27.简述JSF应用的生命周期。

1)构建视图(Restore View)

根据请求访问的视图ID(页面地址),重建JSF 组件DOM树。如果JSF页面是第一次访问,也即是试图ID在内存中没没有存根,那么JSF会在内存中构建JSF组件的DOM树。但是组件并没有值,只是一个模子。

2)应用请求值(Apply Request Values)

JSF组件获取请求中的属于自己的值,包括Local值,和submit值.同时处理转换,转换成功,更新local值(submit转换结果),当然过程没有那么简单,JSF处理器有自己的一套解码过程。

3)处理验证

如果组件注册验证器,依次执行验证.

4)更新模型值:如果所有的组件本地值转换验证等均成功,此时JSF就会根

据EL处理关联的bean,并更新bean绑定值.在此处JSF会根据EL绑定

加载配置的后台bean。

5)调用应用:调用注册的侦听器,然后执行事件驱动,获取下一个视图。侦听

器此时可以有效的侦听到UI组件的各项数据,事件驱动部分即action 可以有效的获取被更新的后台bean数据。执行自己的业务逻辑。

6)呈现响应(Render Response)

到此请求处理结束,根据导航规则,渲染响应的页面.依次执行…

28.简述JSF生命周期事件的编程方法。

JSF从请求到响应的完整过程通常会经历6个阶段,在每个阶段的前后将会引发Phase事件(javax.faces. event.PhaseEvent)。如果希望在每个阶段的前后捕捉这个事件以便进行一些处理,则可以实现javax.faces.event.Phase Listener接口,并向javax.faces.lifecycle.Lifecycle注册这个监听器。

(1)创建监听器类AllPhaseListener:AllPhaseListener类必须实现PhaseListener接口,并在getPhaseId方法返回PhaseId.ANY_ PHASE,

即监听所有PhaseId事件。

(2)注册监听器类:打开faces-config.xml,点击Outline视图的lifecycle 图标,然后选择Add Phase Listener…菜单,在弹出的对话框的

phase-listener栏中输入前面创建的Phase监听器类

jxust.jsf.event. AllPhaseListener,最后点击即完成配置。(3)测试Phase监听器的执行情况:在浏览器中打开前面的任意JSP页面,

然后提交表单,同时观察控制台输出。尝试数据转换、验证失败等各种情况,观察控制台输出以加深对JSF生命周期的理解。

29.JSF动作事件主要有哪几种实现方法?它们有什么不同?

a)常见的动作事件由命令按钮/链接标签的action属性绑定到一个Bean

方法实现,这是JSF框架提供的一种简化的事件处理模型。在这种简化模型中,由JSF配置文件设置页面导航,根据动作方法(Action Method)执行的结果来决定转向的页面。

b)此外,命令按钮/链接标签还可通过actionListener属性绑定辅助Bean

的一个动作方法,不同的是这个方法的返回值不能用于页面导航。

30.简述JSF值变事件的两种编程方法。

a)值变事件的处理方法通常可带一个值变事件类(javax.faces.

event.ValueChangeEvent)的对象作参数,ValueChange Event类有三个非常有用的方法,getSource方法用于访问事件源(即触发事件的页面组件),getOldValue方法用于取得组件修改之前的值,getNewValue方法则用于取得组件修改后的值。

b)另一种处理值变事件的方法是使用valueChangeListener子标签,可为

一个输入类组件添加多个valueChangeListener子标签。

valueChangeListener标签包含一个type属性可用来绑定一个实现了值变事件监听接口(javax.faces.event.valueChange Listener)的类。接下来要做的就是编写接口约定的值变事件处理方法

processValueChange(ValueChangeEvent ve) 。

c)

31.列举JMS API的主要接口。

a)ConnectionFactory:连接工厂接口。用来为客户端程序创建一个连接的

管理对象。通常由服务器管理员创建,并绑定到JNDI树上。客户端通过JNDI找到它,然后建立JMS连接。

b)Connection:连接接口。代表一个客户端到JMS提供者之间的一个活动

连接。每个客户端都使用一个单独的JMS连接。一个JMS连接可以连接多个JMS目的。

c)Destination:目的接口,封装了消息源和消息存储位置。

d)Session:会话接口。代表客户端与JMS服务器之间的会话状态,它定义

了消息的顺序。

e)MessageProducer:消息生产者接口。由Session创建,用于将消息发送

到目的。

f)MessageConsumer:消息消费者接口。由Session创建,用于从目的接收

消息。

32.简述JMS消息发送编程的基本步骤。

①配置消息服务器;

②通过JNDI获得对连接工厂的引用;

③通过连接工厂创建一个连接;

④通过连接创建会话;

⑤通过会话获得一个目的;

⑥通过会话和目的创建消息的生产者;

⑦使用连接创建一个待发送的消息实例;

⑧使用连接的一个队列发送器或主题公布器发送消息。

33.简述JPA主要优点。

a)JPA使创建复杂的DAO(Data Access Object)变得简单;

b)JPA提供高效安全的事务管理功能;

c)提供与几乎所有关系数据库的访问接口;

d)可使用类名和属性方法作为查询语言,避免直接使用SQL语句;

e)可使用POJO(Plain Old Java Objects)简单对象,提高程序的可扩展性

和可移殖性;

f)JPA还可用于桌面应用程序的持久化开发。

34.列举5种以上JPA映射配置标注符并说明其作用。

@Entity

@Entity标注用于实体类声明语句之前,指出该Java类为实体类,将映射到指定的数据库表。

@Table

当实体类与其映射的数据库表名不同名时需要使用@Table标注说明,该标注与@Entity标注并列使用,置于实体类声明语句之前,

可写于单独语句行,也可与声明语句同行。

@Id

@Id标注用于声明一个实体类的属性映射为数据库的主键列。该属性通常置于属性声明语句之前,可与声明语句同行,也可写在单独

行上。

@Column

当实体的属性与其映射的数据库表的列不同名时需要使用@Column 标注说明,该属性通常置于实体的属性声明语句之前,还可与@Id

标注一起使用。

@OneToMany

@OneToMany标注用于声明一对多关联关系。

@ManyToOne

@ManyToOne标注用于声明多对一关联关系。

35.简述JPA常用接口/类并说明其相互关系。

1)Persistence类是用于获得实体管理器工厂的引导类。该类包含一个名为createEntityManagerFactory的静态方法可用于获得实体管理器工厂。

2)EntityManagerFactory接口主要用来创建实体管理器。

3)EntityManager接口用于建立持久上下文环境和管理所有实体及其生命周期。

4)Query接口封装了执行数据库查询的相关方法。调用实体管理器的createQuery、create NamedQuery及createNative Query方法可以获得查询对象,进而可调用Query接口的相关方法来执行查询操作。

36.列举5个以上EntityManager接口的常用方法。

a)persist (Object entity)

①持久化一个新的对象实例,并使其处于被管理状态,即将对象实例保

存到与其映射的数据库表中,并建立与此实体记录的关联。

b)merge (T entity)

①更新持久化对象实例,即以新的属性值更新数据库表的原记录。返

回被更新的实体。

c)remove (Object entity)

①删除实例。如果实例是被管理的,即与数据库实体记录关联,则同时

会删除关联的数据库记录。

d)find (Class entityClass,Object primaryKey)

①根据主键查询实体。找到了则返回找到的实体实例,未找到则返回

null。第一个参数为被查询的实体类,第二个参数为待查找实体的主

键值。

e)getReference (Class entityClass,Object primaryKey)

①根据主键获取实例,常用于延迟加载的情况。

37.列举5个以上Query接口的主要方法。

a)int executeUpdate()

①用于执行update或delete语句。如果Query对象的查询语句为

select将抛出IllegalStateException异常,如果事务不存在将抛

出TransactionRequiredException异常。

b)List getResultList()

①用于执行select语句并返回结果集实体列表。如果Query对象的查

询语句为update或delete将抛出IllegalStateException异常。

c)Object getSingleResult()

①用于执行只返回单个结果实体的select语句。如果查询语句为

update或delete则抛出IllegalStateException异常;如果没有得

到返回结果将抛出EntityNotFoundException异常;如果返回多于一

个结果将抛出NonUniqueResultException异常;

d)Query setFirstResult(int startPosition)

①用于设置从哪个实体记录开始返回查询结果。如果参数为负数将抛出

IllegalArgumentException异常。

e)Query setMaxResults(int maxResult)

①用于设置返回结果实体的最大数。如果参数为负数将抛出

IllegalArgumentException异常。与setFirstResult结合使用可实

现分页查询。

38.简述实体生命周期的4种状态

a)新建态(new):实体刚创建时,尚未与持久化环境建立联系(O/R映射),

也没有唯一的标识(Identity)。

b)被管理态(managed):对新建实体执行persist()方法,它将与持久化环

境建立关联,并获得一个唯一标识(Identity),映射到数据库中的一个记录。contains()方法可用来检查实体是否是被管理的。

c)分离态(detached):当实体管理器被关闭或执行了clear()方法后,原

先被管理的实体将成为游离态的实体,尽管它依然拥有持久标识。

JavaEE考试题

一、填空题 1.企业级应用程序通常应具备快速适应性、分布式、高安全性、可扩展性和集成化等特性。P(6) 2.两层体系结构由客户层和服务器层构成,即所谓的C/S 模式。P(7) 3.三层体系结构通常包括客户层、服务器层和应用服务器层三个层次。P(7) 4.典型Java EE 应用包括:客户层、表示层(Web层)、业务逻辑层和企业信息系统层四个层次。P(8) 5.J ava EE技术框架大致包括组件技术、服务技术和通信技术三个部分。P(11) 6.J ava EE组件主要包括客户端组件、Web组件和EJB组件三大类。P(10) 7.按打包粒度从小至大的顺序,Java归档包的类型分别是JAR 、WAR 和EAR 。(PPT) 8.程序错误可分为语法错、语义错和逻辑错三类。P(20) 9.J SP指令元素主要包括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() 方法可以读取保存在客

基于JAVAEE的在线考试系统毕业设计论文

基于JAVAEE的在线考试系统 【内容提要】在线考试系统旨在实现考试的无纸化管理,对一些科目的考试可以通过互联网络或局域网进行,方便校方考务的管理,也方便了考生,尤其适合考生分布广,不易集中的远程教育。我主要开发系统的后台管理系统—JAVA 在线考试管理子系统,它包括试题管理、考生管理、试卷管理、试卷自动审批等功能。本论文主要介绍了对JAVAEE在线考试系统的分析、设计和开发的全部过程。运用ER图,程序流程图等对在线系统的设计过程进行详细的说明。全文共分为开发方案、需求分析、系统设计、关键技术解决,结论五部分。开发方案中主要介绍开发在线考试系统得目的、开发方案的选择及开发框架的技术的确定;需求分析介绍了在线考试系统的总体需求及系统各模块的功能需求;系统设计介绍了系统设计的指导思想、数据库的设计、系统模块的设计;关键技术介绍了在具体实现时需解决的一些技术,如开发框架的整合技术、开发 框架与数据库的连接及数据的备份与还原。 【关键词】:JSP, Servlet, Struts, JAVA,MySQL数据库,B/S模式 On-line examination system base on JAVA

Student : CHAO SUN supervisor: WEI MING XIAO 【ABSTRACT】On-line examination system the aim is carry out examination of have no the paper turn a management, can carry on through Internet net or bureau area net to some examinations of categories, convenient school square test the management of duty, also convenient the examinee is particularly suitable for examinee to distribute widely and not easily concentrated of long range education.I mainly develop the system-JAVAEE of the backstage management's on-line examination management sub- system of system and it includes to try the management, on-line creation of a management, examinee to try book, control the constitution that the student examine and try an examination and approval etc. function.This thesis mainly introduced to manage the analysis, design of the sub- system and all processes of the development to JAVAEE's on-line examination.Make use of ER diagram, procedure flow chart etc. to on-line manage the design process of sub- system to carry on expatiation.The full text is totally divided into the design, key technique of the analysis, system of the development project, need to solve, conclusion five part.Develop the main introduction in the project develops on-line examination system purpose, development project of choice and development frame of the assurance of technique;The need analysis introduced the total need of the on-line examination system and the function request of each mold of system piece;The system design introduced the design, system mold of the instruction thought, database of system design the design of the piece;The key technique introduced at concrete carry out need some techniques for solve, such as development frame of integration technique, development frame with The database link and the backup and revivification of data. Keyword: Servlet ,JSP, JAVA,MySql, Model of B/ S

javaEE笔试复习题

javaEE笔试复习题 一、单选题 1. 下面关于数据持久化概念的描述,错误的是(D) A、保存在内存中数据的状态是瞬时状态 B、持久状态的数据在关机后数据依然存在 C、数据可以由持久状态转换为瞬时状态 D、将数据转换为持久状态的机制称为数据持久化2. Java Web应用中往往通过设置不同作用域的属性来达到通讯的目的。如果某个对象只在同一请求中共享,通过调用哪个类(C)的setAttribute方法设置属性。A、HttpServletRequestB、ServletRequestListenerC、HttpSessionD、ServletContext 3. POJO的作用是(C) A、普通的Java对象映射数据库元组 B、数据访问 C、对象的赋值 D、保存客户端对象4. 在三层结构中,数据访问层承担的责任是(B) A、定义实体类 B、数据的增删改查操作 C、业务逻辑的描述 D、页面展示和控制转发 5. 下列哪个接口用于获取关于数据库的信息(D) A、Statement B、PreparedStatement C、Connection D、DatabaseMetaData 6. JDBC包含多个类,其中Java.sql.ResultSet类属于(C)A、JDBC控制类B、JDBC类C、JDBC接口类D、JDBC异常类7. 以下关于SessionFactory的说法哪些正确(B) A、对于每个数据库事务,应该创建一个SessionFactory对象。 B、一个SessionFactory对象对应一个数据库存储源。 C、SessionFactory是重量级的对象,不应该随意创建。如果系统中只有一个数据库存储源,需要创建多个。 D、SessionFactory的load()方法用于加载持久化对象。 8. 以下哪些不属于Session的方法(C) A、load() B、save() C、open() D、saveOrUpdate() 9. 在持久化层,对象分为的状态不包括(B)

javaee考试复习题库

一、填空题9*2=18 1.传统C/S模式应用是的两层体系结构。客户层,服务层 2.三层体系结构包含客户层,应用服务层和数据服务层三个层次。 3.Java EE组件主要包括包括客户端组件,Web组件和EJB组件三大类。 4.程序错误可分为语法错误,运行错误,逻辑错误三类。 5.JSP指令元素主要包括哪三个。include指令,page指令,taglib指令 6.读取request单值参数和多值参数的方法名。getParameter() 、getParameterValues() 7.request作用域变量可以通request.setAttribute() 和request.getAttribute() 方法设置和读取。 8.调用response 对象的addCookie(Cookie cookie) 方法可将一个Cookie对象传回客户端。 9.调用request 对象的getCookies() 方法可以读取保存在客户端的所有Cookie对象。 10.HttpServlet处理客户端请求的方法是doGet() 和doPost() 。 11.标记的scope属性可取page 、request 、session 和application四个值。 12.MVC模式的三个基本部分是模型、视图、控制器。 13.MVC模式分别由JavaBean、Jsp、servlet三个组件担任。 14.JSF应用的主控制器是FacesServlet ,它需要在web.xml 文件配置,其URL映射通常配 置为*.faces 。 15.JSF的UI组件标签分为Core 、HTML 两类。 16.JSF的字段类标签常用的属性是id,value,如何设置后者用于绑定辅助Bean的属性。 17.JSF标签用于为选择类标签提供选项,属性itemLabel 用于设置显示文 本,itemValue 用于设置对应的选项值。 18.JSF 标签用于显示数据库表数据,它的关键属性及如何绑定。 JSF dataTable 标签用于显示数据库表数据,其value 属性通常绑定辅助Bean的ResultSet 类型属性,另外还须设置var 属性以便在列子标签中访问该记录集的数据。 19.JSF事件可分为值改变事件、动作事件、数据模型事件和阶段事件4类。 20.EJB 3开发通常涉及到业务接口、Bean类以及辅助类3种文件。 21.JMS提供点对点消息服务、发布--订阅消息服务。 22.JSF和JPA的配置文件各是faces-config.xml 和persistence.xml 。 23.Web服务架构的三种基本操作发布、查找和绑定。

J2EE期末考试复习题

一、填空题 发布到服务器上的组件除包含自身实现的代码文件外,还要包含一(XML)部署描述文件。 Java EE技术框架可分为三部分:组件技术、(服务技术)、通信技术。 Servlet 最大的用途是通过(动态响应)客户机请求来扩展服务器功能。 表单数据的提交方法有两种,(Post)方法和Get方法。 (Filter)拦截请求和响应,以便查看、提取正在客户机和服务器之间交换数据。 (Listener)实现了Servlet的事件驱动。 JSP页面的脚本元素用来嵌入(java)代码。 JSP动作组件是一些(XML)语法格式的标记,被用来控制Web容器的行为。 JSP供提供九种内置对象,(request)对象代表的是来自客户端的请求。 JSP 标准标记库是一个实现(Web )应用程序中常用功能的定制标记库集。 java.sql.Statement对象代表一条发送到数据库执行的SQL语句。有(三)种Statement 对象。 Servlets可以使用(MIME)类型来向浏览器传送非HTML 文件。 Enterprise Bean 是在(多)台机器上跨几个地址空间运行的组件。 JavaBean 是(一)台机器上同一个地址空间中运行的组件。 在标记描述TLD文件中Required 定义为(true)代表为必须。 二、单项选择题

1、表单数据的提交方法有两种, ()方法使得数据由标准的输入设备读入。 A.Get B. Post C.Read D.Input 2、在表单提交的数据中,如果变量的值有多个,这时应调用( )方法, A. getParameterValues() B. getParameter() C. getParameterNames() D. getAttribute() 3、Servlet的事件驱动由()实现。 A. Filter B. Listener C . Response D. Request 4、标记名称由两部分组成,( )用来区分不同标记库. A. 后缀 B. 前缀 C.JSP D. bean 5、客户机对Servlet的请求和Servlet对客户端的响应,都是通过( )来实现的。 A、EJB B、XML C、API D、Web服务器 6、获取数据库连接的方法是()。 A、Connection() B、getConnection() C、Con D、getContent() 7、常用的接收邮件的协议是() A、SMTP B、POP3 C、IMAP D、MIME 8、()用来获取一个已被创建的JavaBean组件的属性值。 A、 B、 C、 D. 9、要对体内容进行操作的标记,必须继承的接口是()。 A. javax.Servlet.jsp.tagext. Tag B.javax.Servlet.jsp.tagext.BodyTag C. javax.Servlet.jsp. Tag D. 三个都必须 10、core标记库主要的标记有()

javaee考试复习资料

第一章 一、什么是JA V A EE? 1、JAVA EE是一个标准中间件体系结构 2、JAVA EE是企业分布式应用开发标准。 二、JAVA EE编程思想和技术框架:什么是组件,什么是容器,JAVA EE有组件(三类重要组件和容器,其分布如何) JAVA EE编程思想:组件——容器 JAVA EE应用的基本软件单元是JAVA EE组件。 组件的运行环境被称为容器。 JAVA EE组件: 1、客户端组件:JAVA EE客户端既可以是一个web浏览器、一个Applet,也可以是一个应用程序。 2、web组件:web组件是在JAVA EE web容器上运行的软件程序。它的功能是在HTTP协议以上对web请求进行响应,这些响应动态的生成网页。JAVA EE web组件包括Servlet和JSP。 3、EJB组件:用于实现特定的应用逻辑。EJB分为两种:会话EJB和实体EJB,会话EJB向客户提供一定的服务。而实体EJB则代表数据对象,通常代表的是数据表记录集的一行,一个实体EJB可以同时与多个客户进行交互。 三、简述JAVA EE体系所含的主要技术 1、组件技术 2、服务技术 3、通信技术

四、Java EE应用有哪些优点? 1、独立于硬件配置和操作系统2.坚持面向对象的设计原则3.灵活性、 可移植性和互操作性4.轻松的企业信息系统集成 第三章 一、什么是servlet,与Applet有什么区别 定义:一种独立于操作系统平台和网络传输协议的服务器端的Java 应用程序,它用来扩展服务器的功能,可以生成动态的Web页面 相似之处:(1)它们不是独立的应用程序,没有main()方法。(2)它们不是由用户调用,而是由另外一个应用程序(容器)调用。(3)它们都有一个生存周期,包含init()和destroy()方法。 不同之处:(1)Applet运行在客户端,具有丰富的图形界面。(2)Servlet运行在服务器端,没有图形界面。 二、servlet的工作原理(参与WEB.xml中的,标签,另外注意多个请求的处理) 工作原理:Servlet运行在Web服务器上的Web容器里。Web容器负责管理Servlet。它装入并初始化Servlet,管理Servlet的多个实例,并充当请求调度器,将客户端的请求传递到Servlet,并将Servlet的响应返回给客户端。Web容器在Servlet的使用期限结束时终结该Servlet。服务器关闭时,Web容器会从内存中卸载和除去Servlet。 多个请求的处理:服务器会根据Servlet实例对象为每个请求创建一

JavaEE练习题(附答案)

一、名词解释(共5小题每题3分,共15分) 1、MVC :Model、View和Controller,是一个设计模式,它强制性地使应用程序的输入、处理和输出分开,三个部分以最小的耦合协同工作,以增加程序的可扩展性和可维护性; 2、OGNL:Object Graphic Navigation Language(对象图导航语言),是一个开源项目,是一种功能强大的EL(表达式语言),可通过简单的表达式来访问Java对象中的属性; 3、持久化:即把数据(如内存中的对象)保存到可永久保存的存储设备中(如磁盘),是将程序数据在持久状态和瞬时状态间转换的机制; 4、ORM:对象关系映射,是用于将对象与对象之间的关系对应到数据库表与表之间关系的一种模式; 5、通知(Advice):定义了切面中的实现类型是指在定义好的切入点处所有执行的程序代码; 6、事务:是工作中的基本逻辑单位,可以用于确保数据库能够被正确修改,避免数据只修改了一部分而导致数据不完整,或者在修改时受到用户干扰; 7、POJO类:POJO(Plain Old Java Objects)简单的Java对象,实际就是普通JavaBeans,是为了避免和EJB混淆所创造的简称,它通指没有使用Entity Beans的普通java对象,可以把POJO作为支持业务逻辑的协助类。 8、AOP:面向切面编程,可以通过预编译方式和运行期动态代理实现在不修改源代码的情况下给程序动态统一添加功能的一种技术; 9、IoC:Inversion of Control(控制反转),是一个重要的面向对象编程的法则来削减计算机程序的耦合问题,IoC的基本概念是不创建对象,但是描述创建它们的方式,在代码中不直接与对象和服务连接,但在配置文件中描述哪一个组件需要哪一项服务。容器负责将这些联系在一起; 10、HQL:Hibernate Query Language的缩写,HQL的语法很像SQL,但HQL是一种面向对象的查询语言,操作的对象是类、实例、属性等。 二、填空(共10空,每空2分,共20分) 1、Spring从容器中获取bean对象可以分别通过(BeanFactory)接口和(ApplicationContext)接口来实现。 2、Struts2、Hibernate缺省的核心配置文件名分别为(struts.xml)和(hibernate.cfg.xml)。 3、OGNL上下文有一个bar对象,它不是根对象,bar有getvalue属性,则利用OGNL 表达式求bar对象的getvalue属性值为(#bar.value)。 4、使用Hibernate的七个步骤是:创建Configuration、创建SessionFactory、(开启一次会话)、(开启一个事务)、持久化操作、(提交事务)和(释放资源)。 5、在Hibernate项目中,如实体类为User,则对应的配置文件名为(User.hbm.xml)。 6、Struts2的action类定义时传值方式可以采取(字段传值)、(模型传值) 7、持久化对象的生命周期中对象的三种状态(瞬时态)(持久态)(脱管态) 8、hibernate事务并发处理可以通过加锁的机制实现(悲观锁)(乐观锁);

JavaEE测试题带答案(仅供借鉴)

1.在Java中的变量命名规范中,下面命名正确两项的是( ) (选择两项) a)¥money b)$int c)int d)*i 2.绘制流程图时,下面()代表判断和分支。(选择一项) a)矩形 b)椭圆 c)菱形 d)圆形 3.在Java环境中给出如下代码,编译运行的输出结果是()。 public class Test{ intx=1; inty=2; public int cal(intx,inty){ int z=x+y; return z; } public static void main(String args[]){ Test d = newTest(); z=d.cal(d.x,d.y); System.out.println(z); } }(选择一项) A) 3 B) 0 C) 编译错误 D) 编译通过,但运行时出错 4.下列选项中关于枚举说法错误的是()。(选择一项) a)枚举类型是从JavaSE5.0开始引入的一种新类型 b)枚举类型使用关键字enum定义 c)枚举是指由一组固定的常量组成的类型 d)在枚举中,除了可以定义枚举常量以外不能出现其他成员 5. 在Java中,以下关于多态说法错误的是()。(选择一项) a)实现多态的一个前提是要有继承关系 b)将一个父类的引用指向一个子类对象,要进行强制类型转换 c)父类引用变量指向其子类对象是实现多态的一个条件 d)使用多态可以提高代码的可扩展性和可维护性

6. 在Java中,如下代码段的输出结果为()。 Strings="hello"; s.substring(2,4); System.out.println(s.length());(选择一项) a) 5 b) 2 c) 4 d) 3 7. 在Java中,如下代码的输出结果是()。 public static void main(String[]args){ char c[]={'1','2','3','4'}; for(inti=0;i

最新苏州科技学院JAVAEE期末考试试卷(陆卫忠版)

试题类型: 一、单项选择题(每小题2分,共20分) 1.以下关于Servlet程序的叙述中,错误的是(ABD)。 A)HttpServlet是一个抽象类,继承它的子类要强制实现init()方法,service()方法、destroy()三个方法,因为这三个方法都是抽象类中的抽象方法。 B)HttpServlet类中,init()方法的开象是一个ServletConfig对象,它相当于JSP中的application对象。 C)HttpServlet类中,doXXX()方法的两个形参依次为HttpServletResponse、HttpServletRequest对象。 D)如果多个用户请求同时访问一个Servlet程序,则init()方法、service()方法、destroy()三个方法会被多个线程运行。 2.以下关于过滤器的叙述中,正确的是(ACD)。 A)客户端请求激活的过滤器链是web应用中部署的过滤器链的了集。 B)请求访问一个目标资源时,目标资源的输出信息直接付给客户端,不再经过过滤器的处理。 C)过滤器中,业务逻辑代码是在doFilter()方法内实现的。 D)过滤器是一种特殊的Servlet程序。 3.JSP页面的Servlet程序中,各主要方法的执行先后顺序为(C)单选 A)getDependants( )、jspInit( )、jspService( )、jspDestroy( ) B)jspService( )、jspInvoke( )、_jspDestroy( ) C)jspInit( )、_jspService( )、jspDestroy( ) D)jspInit( )、jspService( )、jspDestroy( ) E)_jspService( ) 4.要将request转发给下一个JSP页面,可行的方案是(BCD)。 A)直接使用pageContext.forward() B)通过application.getRequestDispatcher()获得目标资源的RequestDispatcher对象,在执行对象的forward()方法 C)使用 D)直接使用response.sendRedirect() 5.以下哪些些关系属于Web组件的关联关系(ACD) A)请求重定向B)提交表单数据C)请求转发D包含 6.关于在web.xml 文件中配置欢迎文件清单说法正确的是(ACDE)。 A)使用元素配置欢迎清单B)只能配置一个欢迎文件 C)可以配置多个欢迎文件D)Web容器调用会依次寻找欢迎文件,直到找到为止 E)如果web容器找不到欢迎文件则报404错误。 7.下列对元素属性描述正确的有(ABCD)。 A)ClassName和action元素对应的配置元素B)forward转发的URL路径 C)Input:输入表单的URL路径,当表单验证失败时,将把请求转发到该URL。 D)name:指定和Action关联的Action FormBean的名字。 E)path:指定访问Action的路径,以“/”开头,无扩展名。 8.根据UML语言,类之间存在哪几种关系(ACD)。 A)关联关系B)累积关系C)依赖关系D)继承关系 9.执行下面的SQL查询,关于返回值的说法,正确的是(B)。(单选) Select https://www.doczj.com/doc/b22238066.html,ername,https://www.doczj.com/doc/b22238066.html,erid from https://www.doczj.com/doc/b22238066.html,er u Where u is not null A)语法错误,不能执行B)返回一个类型为List的实例 C)返回一个数组D)当返回结果只有一条时,返回一个数组 10.一般情况下,数据模型与对象模型之间有那些配置关系(ABC)。 A)表对应类B)记录对应对象 C)表的字段对应类的属性D)表之间的参考关系对应类之间的依赖关系

江西理工大学JAVAEE考试

7*3=21 1.自动装箱:自动装箱就是Java编译器在编译期间自动将原生类型转换成其对应的包装类型 2.自动拆箱:将一个包装类型自动转换为它所对应的简单数据类型。 3.动态网页:动态网页的关键内容是在服务器端动态生成。相对于静态网页,动态网页最本质的区别在于它会被服务器当作一个程序来执行,页面中嵌入的脚本代码会被服务器识别并执行,执行结果与页面静态内容合并后送往客户端浏览器显示。 4.C/S模式:两层体系结构由客户层和服务器层构成 5.B/S模式:浏览器/服务器模式,三层体系结构在二层体系结构应用程序的客户层与服务层之间添加了一个第三层(应用服务层),形成客户层、应用服务层和数据服务层三个层次。 6.JDBC:Java Data Base Connectivity,java数据库连接,是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。 7.JTA:Java Transaction API,JTA允许应用程序执行分布式事务处理在两个或多个网络计算机资源上访问并且更新数据。JDBC驱动程序的JTA支持极大地增强了数据访问能力。 8.Servlet:servlet 是在服务器上运行的小程序 9.JSP: Java Server Pages,java服务器页面,其根本是一个简化的Servlet设计,它是一种动态网页技术标准。用JSP开发的Web应用是跨平台的,既能在Linux下运行,也能在其他操作系统上运行。 10.JSTL: JSP Standard Tag Library即JSP标准标签库,是一个不断完善的开放源代码的JSP标签库和技术规范。 11.Cookie:是Web服务器暂存在客户端浏览器内存或硬盘文件中的少量数据。Web 服务器通过HTTP报头来获得客户端中的cookie信息。 12.JSF: JavaServer Faces是一种用于构建Java Web 应用程序的标准框架,它提供了一种以组件为中心的用户界面(UI)构建方法,从而简化了Java服务器端应用程序的开发13.EJB:Enterprise Java Beans称为Java 企业Bean,是Java的核心代码,是sun的JavaEE 服务器端组件模型及javaEE的一部分,定义了一个用于开发基于组件的企业多重应用程序的标准。 14.JMS:Java消息服务(Java Message Service)应用程序接口是一个Java平台中关于面向消息中间件的API,用于在两个应用程序之间或分布式系统中发送消息,进行异步通信15.JPA: Java Persistence API,通过JDK 5.0注解或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中 16.Web Service:是一个平台独立的,低耦合的,自包含的、基于可编程的web的应用程序,用于开发分布式的互操作的应用程序。 17.XML:Extensible Markup Language可扩展标记语言,标准通用标记语言的子集,是一种用于标记电子文件使其具有结构性的标记语言。 18.WSDL:Web Services Description Languag网络服务描述语言是Web Service的描述语言,是一种基于XML的用于描述Web服务及其操作,参数和返回值的语言。 19.ORM: Object Relational Mapping对象关系映射,是一种程序技术,用于实现面向对象编程语言里不同类型系统的数据之间的转换。 20.RIA: Rich Internet Applications丰富互联网程序,具有高度互动性、丰富用户体验以及功能强大的客户端,是集桌面应用程序的最佳用户界面功能与Web应用程序的普遍采用和快速、低成本部署以及互动多媒体通信的实时快捷于一体的新一代网络应用程序。 21.AJAX: Asynchronous Javascript And XML是指一种创建交互式网页应用的网页开发技术。AJAX = 异步JavaScript和XML,用于创建快速动态网页,通过在后台与服务器进行少

java 试题

一、填空题1、Java的三大体系分别是_JavaSE_____、_JavaEE_____、_JavaME_____。 2、Java程序的运行环境简称之为JRE_____。 3、编译Java程序需要使用_javac_____命令。 4、javac.exe和java.exe两个可执行程序存放在JDK安装目录的bin______目录下。 5、path______环境变量用来存储Java的编译和运行工具所在的路径,而_classpath_____环境变量则用来保存保存Java虚拟机要运行的“.class”文件路径。 二、选择题 1、以下选项中,哪些属于JDK工具?(多选)ABCD A、Java编译器 B、Java运行工具 C、Java文档生成工具 D、Java打包工具 2、Java属于以下哪种语言?C A、机器语言B、汇编语言C、高级语言 3、下面哪种类型的文件可以在Java虚拟机中运行?D D、.class 4、安装好JDK后,在其bin目录下有许多exe可执行文件,其中java.exe命令的作用是以下哪一种?B A、Java文档制作工具B、Java解释器C、Java编译器 5、5、如果jdk的安装路径为:d:\jdk,若想在命令窗口中任何当前路径下,都可以直接使用javac和java命令,需要将环境变量path设置为以下哪个选项?B A.d:\jdk; B.d :\jdk\bin; C.d:\jre\bin; D.d:\jre; 三、问答题 1、简述Java的特点。面向对象、跨平台性、健壮性、安全性、可移植性、多线程性、动态性等。 2、2、简述JRE与JDK的区别JRE(Java Runtime Environment,Java运行时环境),它相当于操作系统部分,提供了Java程序运行时所需要的基本条件和许多Java基础类,例如,IO类、GUI控件类、网络类等。JRE是提供给普通用户使用的,如果你只想运行别人开发好的Java程序,那么,你的计算机上必须且只需安装JRE。JDK(Java Development Kit,Java 开发工具包),它包含编译工具、解释工具、文档制作工具、打包工具多种与开发相关的工具,是提供给Java开发人员使用的。初学者学习和使用Java语言时,首先必须下载和安装JDK。JDK中已经包含了JRE部分,初学者安装JDK后不必再去下载和安装JRE了。 第二章 、Java语言的八种基本数据类型有:byte字节型,占一个字节。short短整型,占两个字节。int整型,占4个字节。long长整型,占8个字节。float单精度浮点型,占4个字节。double 双精度浮点型,占8个字节。char字符型,占两个字节。boolean型,表示逻辑值,有true 和false两个值,分别占一个字节。 2、如果使用“&”在表达式之间进行连接,那么无论任何情况,“&”两边的表达式都会参与计算。如果使用“&&”进行连接,当“&&”左边的表达式为false,则不会执行其右边的表达式。例如定义int x = 2,y = 0; boolean b = x < y & x / 2 > 0表达是会发生被0除异常,因为x / y的表达式执行了。而boolean b = x < y & x / 2 > 0是不会出现这种异常的,因为x < y为false,表达式x / y不会执行。 3、方法重载指的是在一个类中可以声明多个同名的方法,而方法中参数的个数或者数据类型不一致。调用这些同名的方法时,JVM会根据实际参数的不同绑定到不同的方法 冒泡排序: public class Test03 { public static void main(String[] args) { int[] arr = { 25, 24, 12, 76, 101, 96, 28 }; for (int i = 0; i < arr.length - 1; i++) { // 定义内层循环for (int j = 0; j < arr.length - i - 1; j++) { if (arr[j] > arr[j + 1]) { // 比较相邻元素// 下面的三行代码用于交换两个元素int temp = arr[j]; arr[j] = arr[j + 1]; arr[j + 1] = temp; } } } for (int i = 0; i < arr.length; i++) { System.out.print(arr[i] + " "); // 打印元素和空格} }

JavaEE复习题

1、数据库编程 1.Statement接口与PreParedStatement接口有什么区别? 2.为什么要使用数据库连接池? 3.数据库连接池的工作原理。 4、简述数据库中的事务的概念,在JDBC中用到的API有哪些? 5、已知与表userinfo对应的实体类为UserInfo,代码如下: public class UserInfo{ private int userId; private String username; private String password; //相应的set和get方法省略 } 创建一个OpUserInfo类,添加相应方法实现如下功能: (1)根据用户名和密码查询用户信息,如果找到满足条件用户则返回1,否则返回0 (2)根据用户名进行模糊查询,返回值为一个List类型的实例,数组实例中存放的是UserInfo 类的对象。 2、JSP技术 1.JSP页面中注释有何区别? 2.在JSP页面声明<%!......%>中定义的变量与在JSP程序段<%......%>中定义的变量有何不同? 3.建立一个描述图书信息的BookBean,这个Bean有书号isbn和标题title两个属性。编写一个book.jsp页面,useBean标准动作创建BookBean的实例,setProperty为Bean的两个属性赋值,分别用getProperty和JSP表达式两种方式在页面上输出两个属性的值。 参考代码: 4.在习题3基础上,将BookBean实例保存在session中,通过forward标准动作转发到book1.jsp页面,在此页面输出session中保存的BookBean实例的两个属性的值。 3、JavaBean 1.已知图书数据库books的订单表bookOrder结构如下: 根据以上表结构创建一个BookOrderBean,要求包含表中的6个属性和相应的set、get方法。参考代码: public class BookOrderBean { private int ordered; private String userName; private String zipcode;

JAVAEE试题(含答案)

JAVA EE期末考试复习材料 一、选择题: 1以下哪个HIbernate主键生成策略是实现主键按数值顺序递增的?(A) A) increment B)Identity C)sequence D)native 2、在JSP中,Page指令的(B)属性用来引入需要的包和类。 A)Exends B)import C)language D)contentType 3、从以下哪个选项中可以获得Servlet的初始参数(C) A)Servlet B)ServletContext C)ServletConfig D)GenericServlet 4、以下关于HIbernate说法正确的是(A) A)Hibernate是ORM的一种实现方式。 B)Hibernate不要JDBC的支持。 C)属于控制层 D)对象关系映射,让对象同数据库表产生关系。 5、下面关于OPM的说法不正确的是(C) 持久化是将程序中数据在瞬时状态和持久状态间转换的机制。 瞬时状态是指程序数据保存在内存中,程序退出时,数据就不存在了。把关系数据库中的数据读出来不属于持久化。 程序数据直接保存成文本文件属于持久化。 6、下面关于SessionFactory的说法正确的是(B) A)SessionFactory是轻量级的,可以随意创建和销毁。 B)SessionFactory是重量级的接口,不可以随意创建和销毁。 C)SessionFactory是重量级的类,不可以随意创建和销毁。 D)SessionFactory是类。 7、下面关于Hibernate中load和get的方法说法正确的是(D) A)两个方法是一样的,没有任何区别。 B)两个方法是不一样的,get先找缓存,再找数据库。 C)两个方法是不一样的,load每次都会找数据库。 D)以上说法都不对。

JAVAEE测试题

传智播客java就业班入学测试题 共50道题,每道题2分,总分100分,80分为合格。 注意,题目有多选,也有单选。请认真作答。 对应试者的忠告: 传智播客从办学一来,一直在IT培训领域保持着良好的口碑,之所以能做到这么好的口碑,主要得益于过硬的教学质量以及学员的高就业率。 本测试题的目的在于帮助学员检测自己的java基础,因为公司要保证教学质量,光有名师授课是远远不够的,还需要学员们都具备一个基本的java基础,试想一下,如果学员入学前我们不进行测试,那么必然会导致学生的技术水平参差不齐,再好的老师也无法把这样的班教好。 希望参加测试的学员能本着对自己负责的态度,独立完成这套测试题。 如果您试图通过找人帮忙做题等其他途径来完成这套测试题,我们劝您千万别这样做,因为这样是害了自己。即使通过测试,顺利进入就业班的学习,同样是跟不上老师的进度,不会有一个好的结果。 如果您觉得完成这套测试题非常有难度,那也没有关系,因为我们针对基础不好的学员专门开设了 java基础与加强班,您可以通过短时间的培训,打下一个坚实的基础,再继续参加我们就业班的培训。 1.在JAVA中,下列哪些说法是正确的(AC ) A.java源文件的扩展名为.java B.写好的java源程序可以直接运行 C.编写的源程序必须先编译后才能运行 D.程序员可以读懂扩展名为.class的文件 2.下列标识符哪个是合法的( BD) A.class B.$abc C.1234 D._name 3.下面哪些赋值语句是正确的?( CD) A. long test = 012; B. float f = -412; C. int other = (int) true; D. double d = 0x12345678; E. byte b = 128; 4.在Java中,下列语句不能通过编译的有( BC) A. String s= “join”+ 3; B. int a= “join”+3;

相关主题
文本预览
相关文档 最新文档