(一) 第一章 概述
1. 三层体系结构的优点有哪些?P2
①安全性高; ②易维护; ③快速响应; ④系统扩展灵活。
2. 两层体系结构的缺点有哪些?p2-3
①安全性低; ②部署困难; ③耗费系统资源。
3. 简述Java EE的“组件-容器”编程思想。(P5,有两点,与填空题第1题互斥)
①JavaEE应用的基本单元是JavaEE组件,所有的javaEE组件都运行在特定的环境中。
②组件的运行环境被称为容器。
4. Java EE体系结构的优点?p11,4点
①独立于硬件配置和操作系统; ②坚持面向对象的设计原则; ③灵活性、可移植性和互操作性; ④轻松的企业信息系统集成。
(二) 第三章 Servlet
5. Servlet的基本工作流程?p21:6点
①客户端将请求发送到服务器;
②服务器上的Web容器实例化Servlet,并为Servlet创建线程; ③Web容器将请求信息发送到Servlet;
④Servlet创建一个响应,并将其返回到Web容器; ⑤Web容器将响应返回客户端;
⑥服务器关闭或Servlet空闲时间超过一定限度时,调用dertory()方法退出。
6. 在创建Web应用程序时,通过Servlet上下文可以实现哪些功能?p61,4点
①访问Web应用程序资源;
②在Servlet上下文属性中保存Web应用程序信息; ③获取应用初始化参数信息; ④提供日志支持。
7. HttpServletResponse的sendRedirect方法与RequestDispatcher的forward方法有什么区
别?p68:3点
①从操作本质上,RequestDispatcher.forward()是容器控制权的转向,在客户端浏览器的地址栏中不会显示出转向后的地址,而sendRedirect()则是完全的跳转,浏览器将会得到跳转的地址,并重新发送请求连接。
②从性能上,前者仍是在同一次请求处理过程中,后者是结束第一次请求,由浏览器发起一次新的请求。因此前者更高效。
③从跳转的范围上,HttpServletResponse()能够跳转到其他服务器上的资源,而RequestDispatcher.forward()只能转向Web应用内部的资源。
8. Filter的主要用途是什么?p69: 3点
①访问特定资源时的身份验证; ②访问资源的记录跟踪; ③访问资源的转换。
(三) 第四章 JSP
9. 列举JSP的5个内置对象,并做简要说明。
答:request、response、out、session、application、config、pageContext、page、exception (任选5个,并用一句话说明)
①request对象:代表来自客户端的请求,它封装了用户提交的信息; ②response对象:代表服务器对客户端的响应; ③out对象:代表向客户端发送数据的对象;
④application对象:代表运行在服务器上的Web应用程序,相当于Servlet上下文; ⑤exception对象:用来处理JSP文件在执行时所有发生的错误和异常。 10. response.sendRedirect()其实是向浏览器发送一个特殊的Header,然后由浏览器来做转向,转到指定的页面,在浏览器上的地址栏上可以看到地址的变化; 而 11. 简述JSP内置对象的作用范围。P122 ①page。Page范围内的对象仅在JSP页面范围内有效。 ②request。Request范围的JSP内置对象可以在Request范围内的若干个页面内有效。 ③session。Session范围内的JSP内置对象可以跨越若干个Requset范围有效。 ④application。Application范围内的JSP内置对象可以跨越几个Session范围有效。 (四) 第五章 Java Bean 12. 什么样的Java类是一个JavaBean?p129:3点 ①对于数据类型“protype”的每个可读属性,Bean必须有下面签名的一个方法: public proptype getProperty(){}; ②对于数据类型“protype”的每个可写属性,Bean必须有下面签名的一个方法: public setProperty(protype x){}; ③定义一个不带任何参数的构造函数。 13. JSP如何与JavaBean结合?二者如何传递消息?(与填空题28题同一知识点) 答:JSP可以使用三个标记 JSP可以使用脚本、标记、表达式访问JavaBean的属性,还可以通过脚本、标记、request对象的参数设置JavaBean的属性。 14. response.sendRedirect()其实是向浏览器发送一个特殊的Header,然后由浏览器来做转向,转到指定的页面,在浏览器上的地址栏上可以看到地址的变化; 而 (五) 第六章 JSF 15. 什么是JSF?它有哪些优点? 答:JSF(Java Server Faces)是一种用于构建Java EE Web应用表现层的框架标准,提供了一种以组件为中心的事件驱动的用户界面构建方法。(2) 优点在于:(3分) ①JSF是Java EE规范推荐的表现层框架标准 ②)JSF吸收了流行框架的标准 ③便于与其他Java EE技术集成 16. 描述Managed Bean的生命周期。P153(5点,每个1分) 答:①Application: @ApplicationScoped, 整个应用; ②Session:@SessionScoped,整个对话; ③View:@ViewScoped,整个视图; ④Request:@RequestScoped,整个请求; ⑤None:无注解,临时(与宿主Managed Bean生命周期一致)。 17. 描述JSF的常规流程的6个阶段,并简要说明。 ①恢复视图:对于每个请求,都会对应一个JSF视图。JSF框架的FaceServlet负责定位这一视图。 ②应用请求值:获取每个组件的当前状态。 ③处理校验:校验每个组件的当前状态是否合法。 ④更新模型值:将UI组件和状态与业务逻辑组件Managed Bean的状态进行同步。 ⑤调用应用:进行消息事件的处理。 ⑥显示响应:a.绘制结果视图的组件树并输出到客户端; b.将当前组件树的状态进行保存以便响应之后的请求。 18. 简要说明JSF标记库?p161 表6-2(每个标记库:标记库名称、前缀和简要说明) 标记库名称 Core Html Facelets Composite Components 19. JSF与JSP支持表达式语言的区别是什么?p165, 3点 ①使用的分隔符不同; ②作用方向不同; ③隐式对象不同。 20. 列举JSF对请求处理的6个阶段。P172 ①恢复视图:对于每个请求,都会对应一个JSF视图。JSF框架的FaceServlet负责定位这一视图。 ②应用请求值:获取每个组件的当前状态。 ③处理校验:校验每个组件的当前状态是否合法。 ④更新模型值:将UI组件和状态与业务逻辑组件Managed Bean的状态进行同步。 ⑤调用应用:进行消息事件的处理。 ⑥显示响应:a.绘制结果视图的组件书并输出到客户端; B.将当前组件树的状态进行保存以便响应之后的请求。 前缀 f: h: ui: Composite: 说明 对组件进行属性设置和功能绑定 生成HTML控件标记 页面模板标记 生成复合组件 21. 列举JSF框架中Bean验证框架的5个内置注解。P204 ①NotNull:所注解的元素不能为null; ②Null:所注解的元素必须为null; ③Future:所注解的元素必须是未来的日期; ④Last:所注解的元素必须是过去的日期; ⑤Size:所注解的元素必须位于给定的最小值和最大值之间。 22. JSF框架支持哪四种事件类型?P204, 4个要点即可 ①Value Change事件; ②Action事件; ③Phase事件; ④System事件。 23. Ajax与传统的web工作模型有何区别?p220,两点 ①传统的web工作模型实际上是一种请求-响应模型,是一种同步通信方式,即用户提交请求并等待服务器返回响应后的更新页面。 ②Ajax是一种异步通信模式,Ajax采用客户端脚本与web服务器通信,客户端不需要等待客户端的响应,不必采用导致中断交互的完整页面刷新,就可以动态地更新web页面。 (六) 第七章 JDBC 24. 画出JDBC访问数据库层次结构?p226 图7-6 25. 简述JDBC工作原理。P226页,3句话 在基于JDBC的数据库访问模式下,数据库访问清晰地分为3层: ①最上层为应用层: JavaEE程序开发人员在程序开发过程中通过调用JDBC进行数据库访问。 ②中间层为JDBC接口层,它为JavaEE程序访问各种不用的数据库提供一个统一的访问接口。 ③最底层为JDBC驱动层,它由特定数据库厂商提供的JDBC驱动程序来实现与数据库的真正交互。 26. 什么是数据源?什么是连接池?二者之间的关系? 答:数据源存储了所有建立数据库连接的信息。(1分) 连接池是JDBC为第三方应用服务器提供的一个由数据库厂家实现的管理标准接口,缓存一定数量的数据库链接资源对象。(2分) 所有连接池和数据源的实现信息都存储在JNDI中。连接池一定以数据源的形式提供服务。但是数据源并不依赖连接池。数据源保存的实例可以直接通过JDBC来访问数据库。 27. 列举ResultSet的光标5个属性。P239 ①TYPE_FORWORD_ONLY: 包含只进光标的结果集,只能调用next()方法向前遍历,不能回头查询。 ②TYPE_SCROLL_INSENSITIVE: 结果集包含的光标可前后滚动。可以调用first()、next()、absolute()等方法对数据库进行操作。 ③TYPE_SCROLL_SENSITIVE: 结果集包含的光标可前后滚动。可以调first()、next()、absolute()等方法对数据进行操作。 ④CONCUR_READ_ONLY: 结果集中包含的数据为只读数据。 ⑤CONCUR_UPDATABLE: 结果集中的数据可更新到数据库中。 (七) 第8章 JPA 28. 描述命名查询与动态查询的区别? ①创建一个动态查询,使用方法EntityManager的createQuery(), 它有一个字符串参数,表示一个JPQL查询。而命名查询是静态查询,由嵌入到@NamedQuery 注解或等价XML描述中的元数据表示。 ②与动态查询相比,命名查询执行效率更高。因为持久化提供器在应用程序启动时将JPQL字符串翻译为SQL,而不是在运行时进行转换。 29. 论述Entity的状态和生命周期变化?p282-283 ①New:已经创建了Entity的实例,但尚未与持久化上下文进行关联,更未实现与数据库中的信息的映射。 ②Managed:Entity 已经与持久化上下文进行关联,且实现与数据库中的信息映射。 ③Detached:Entity 实现数据库中的信息映射,但不再与持久化上下文进行关联。 ④Remove:Entity 对应的数据库中的数据已被删除。它们之间的变化关系如图所示: 30. 简述JPA中提供的三种不同的策略实现继承映射?p273(与填空题) ①Single-table 策略:继承映射中的默认策略,将父类及子类中新添加的属性全部映射到一张数据库表中,另外又在表中增加一个字段用来保存对象的类型信息。 ②Joined-subclass 策略:继承关系中的每一个Entity类,数据库中都有一个单独的表与他对应。子Entity对应的表中不含有从根Entity继承而来的属性,它们之间通过共享主键的方式进行关联 ③Table-per-concrete-class 策略:将继承关系中的每一个Entity映射到数据库中的一个单独的表中,子Entity对应的表中含有从根Entity继承而来的属性。 31. 简述JPA主键自动生成的四种策略?P261(与填空题55题是同一知识点) ①Table策略。JPA实现使用关系型数据库中的一个表来生成主键。可移植性好。 ②Sequence策略:一些数据库提供一种内置的称为“序列”的机制生成主键。 ③Identity策略:用一个Identity列(自动增长列)来生成主键。④Auto 策略:是JPA默认主键生成策略,主键生成的策略由JPA实现决定。 (八) 第9章 EJB 32. 简述EJB与容器交互的四种机制?p298(与填空题69同一知识点) ①回调方法。回调方法是EJB组件实现的,通过注解或在部署文件中声明的特定方法。 ②EJBContext。每个EJB都会得到一个EJBContext对象,它是对容器的直接引用。 ③Java命名和目录接口(Java Naming and Directory Interface,JNDI)。JNDI是Java平台的标准扩展,用于访问命名系统。 ④上下文和依赖注入。EJB通过注解声明需要的组件和服务器资源,上下文和依赖注入服务将自动创建或获取对应的组件和资源,并将其添加到EJB组件中。 33. 画出有状态会话Bean的生命周期示意图。(p314) 34. 画出无状态会话Bean的生命周期示意图。(p303) 35. 简述EJB的部署描述信息。(p301) ①部署描述信息有一个预先定义的格式,所有符合Java EE规范的EJB组件都可以使用此格式来描述自身信息,而所有符合Java EE规范的服务器必须知道如何读取此格式。这种格式在XML文档类型定义(DTD)中指定。 ②部署描述信息描述了EJB的类型及接口方法和EJB实现类的名称。它还指定了EJB中每个方法的事务性属性、哪些安全性角色可以访问每个方法。 ③部署描述信息在jar必须以特定名称META-INF/ejb-jar.xml保存。 因篇幅问题不能全部显示,请点此查看更多更全内容