JavaEE考试题.doc

上传人:jian****018 文档编号:9002536 上传时间:2020-04-02 格式:DOC 页数:24 大小:153.50KB
返回 下载 相关 举报
JavaEE考试题.doc_第1页
第1页 / 共24页
JavaEE考试题.doc_第2页
第2页 / 共24页
JavaEE考试题.doc_第3页
第3页 / 共24页
点击查看更多>>
资源描述
一、填空题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指令的基本语法为。P(34)11. taglib指令的基本语法为。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. JSFdataTable标签用于显示数据库表数据,其value属性通常绑定辅助Bean的ResultSet类型属性,另外还须设置var属性以便在列子标签中访问该记录集的数据。P(146)30. JSFcolumn标签通常不须设置属性,而是通过嵌入facet子标签定义表头,并利用outputText或inputText子标签设置记录集的列。P(146)31. JSF事件可分为实时事件、动作事件、值变事件和生命周期事件4类。P(163)32. EJB 3的开发通常涉及到业务接口、Bean类以及辅助类3种文件。P(173)33. EJB3的Bean类分为会话Bean、实体Bean和消息驱动Bean3大类。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.js3个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-INFclasses下。( )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规范标准包括哪两方面的内容? 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三个系统环境变量u JAVA_HOME = D:Javajdku PATH = %JAVA_HOME%bin 或 D:Javajdkbinu CLASSPATH = .;%JAVA_HOME%jrelibrt.jar; 或 .;D:Javajdkjrelibrt.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-INFweb.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接口的常用方法。u createStatement():创建一个 Statement 对象,用于发送SQL 语句给数据库服务器。u prepareStatement(String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability):为一条带参数的SQL语句生成PreparedStatement对象(预编译对象)。u commit():提交事务,这个方法只有在手动事务提交模式下才有效。u 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标记库主要包括哪几类?各举两例。n JSTL核心标记库 JSTL核心标记库提供了控制流、循环语句、异常处理、信息输出、变量定义等动作。 标记 用于定义一个JSP作用范围变量,并对变量进行赋值。 标记 用于移除一个作用范围变量,基本语法如下: n SQL标记库提供与数据库操作相关的指令。 :该标记用于设置数据源 :用于查询数据库的数据 n 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属性。例如: 另一个常用是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.valueChangeListener)的类。接下来要做的就是编写接口约定的值变事件处理方法processValueChange(ValueChangeEventve) 。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 maxRes
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 大学资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!