《SSH企业应用开发》期末复习xc题

《SSH企业应用开发》期末复习xc题
《SSH企业应用开发》期末复习xc题

《SSH企业应用开发》期末复习题

考试题型 (1)

一、填空 (1)

二、选择(单选) (2)

三、多选题 (10)

四、简答题 (12)

五、编程题 (13)

考试题型

一、填空

1.构建Struts 2应用的最基础的几个类库是____________、____________、___________、___________以及___________。

2.Struts 2框架由___________和___________框架发展而来。

3.Struts 2以___________为核心,采用__________的机制来处理用户的请求。

4.Struts 2中的控制器类是一个普通的__________。

5.如果要在JSP页面中使用Struts 2提供的标签库,首先必须在页面中使用taglib编译指令导入标签库,其中taglib编译指令为_______________________________。

6.在Struts 2表单标签库中,表单标签为____________________。

7.ActionSupport类实现了______________接口和______________等接口。

8.通过控制器类中的_______________方法来输出校验错误信息。

9. Struts 2以_______________为核心控制器,它的初始化方法为________________。

10.Hibernate配置数据库连接的四种属性名是___、___、___、____________________。

11. 在Hibernate XML影射文件中描述主键生成机制,其属性描述了主键的生成策略,至少写出三种策略名___、___、___。

12.Hibernate的会话接口中声明了持久化的操作,删除一个实体的方法是__________,合并一个实体的方法是_____________,获得事务处理接口的方法是_______________。

13. Hibernate的会话接口同时又是一个工厂类型:创建一个HQL查询接口的方法是____ __________,创建基于公式(标准)接口的方法是_______________。

14. 对象关系映射(ORM)的基本原则是:类型(class)映射______________,属性(property)映射___________,类型的实例或对象(instance | object)映射_______________。

15. Hibernate应用缺省的XML格式的配置文件名是___________, 放置在__________下;配置数据库方言的属性名是_____________。

16. 在Hibernate中级联操作的属性值至少写出三个_______ 、__________、____________。

17.Hibernate的会话接口是__________,它由接口___________创建;Hibernate处理事务的接口是___________;封装HQL的接口是_____________。

二、选择(单选)

1、在三层结构中,数据访问层承担的责任是()

A) 定义实体类

B) 数据的增删改查操作

C) 业务逻辑的描述

D) 页面展示和控制转发

2、下面关于数据持久化概念的描述,错误的是()

A) 保存在内存中数据的状态是瞬时状态

B) 持久状态的数据在关机后数据依然存在

C) 数据可以由持久状态转换为瞬时状态

D) 将数据转换为持久状态的机制称为数据持久化

3、下面关于Hibernate的说法,错误的是()

A) Hibernate是一个“对象-关系映射”的实现

B) Hibernate是一种数据持久化技术

C) Hibernate是JDBC的替代技术

D) 使用Hibernate可以简化持久化层的编码

4、在Hibernate关系映射配置中,inverse属性的含义是()。

A) 定义在节点上,声明要负责关联的维护

B) 声明在节点上,声明要对方负责关联的维护

C) 定义在节点上,声明对方要负责关联的维护

D) 声明在节点上,声明要负责关联的维护

5、在使用了Hibernate的系统中,要想在删除某个客户数据的同时删除该客户对应的所有订单数据,下面方法可行的是()。

A) 配置客户和订单关联的cascade属性为save-update

B) 配置客户和订单关联的cascade属性为all

C) 设置多对一关联的inverse属性为true

D) 设置多对一关联的inverse属性为false

6、执行下面的hql查询,关于返回值的说法,正确的是()。

select https://www.360docs.net/doc/637302224.html,ername,https://www.360docs.net/doc/637302224.html,erid

from https://www.360docs.net/doc/637302224.html,er u

where u is not null

A) 语法错误,不能执行

B) 返回一个类型为List的实例

C) 返回一个数组

D) 当返回结果只有一条时,返回一个数组

7、下面创建Criteria对象的语句中正确的是()。

A) Criteria c = query.createCriteria();

B) Criteria c = query.addCriteria();

C) Criteria c = session.createCriteria();

D) Criteria c = session.createCriteria(User.class);

8、元素有一个cascade属性,如果希望Hibernate级联保存集合中的对象,casecade属性应该取什么值?()

A) none

B) save

C) delete

D) save-update

9、以下程序的打印结果是什么?()

tx = session.beginTransaction();

Customer c1=(Customer)session.load(Customer.class,new Long(1));

Customer c2=(Customer)session.load(Customer.class,new Long(1));

System.out.println(c1==c2);

https://www.360docs.net/doc/637302224.html,mit();

session.close();

A) 运行出错,抛出异常

B) 打印false

C) 打印true

D) 编译出错

10、以下程序代码对Customer的name属性修改了两次:

tx = session.beginTransaction();

Customer customer=(Customer)session.load(Customer.class,

new Long(1));

customer.setName(\"Jack\");

customer.setName(\"Mike\");

https://www.360docs.net/doc/637302224.html,mit();

执行以上程序,Hibernate需要向数据库提交几条update语句?()

A) 0

B) 1

D) 2

D) 3

11、对于以下程序,Customer对象在第几行变为持久化状态?()

Customer customer=new Customer();

customer.setName(\"Tom\");

Session session1=sessionFactory.openSession();

Transaction tx1 = session1.beginTransaction(); //line1

session1.save(customer); //line2

https://www.360docs.net/doc/637302224.html,mit(); //line3

session1.close(); //line4

A) line1

B) line2

D) line3

D) line4

12、对于以下程序,Customer对象在第几行变为游离状态?()

Customer customer=new Customer();

customer.setName(\"Tom\");

Session session1=sessionFactory.openSession();

Transaction tx1 = session1.beginTransaction(); //line1

session1.save(customer); //line2

https://www.360docs.net/doc/637302224.html,mit(); //line3

session1.close(); //line4

A) line1

B) line2

C) line3

D) line4

13、以下哪一种检索策略利用了外连结查询?()

A) 立即检索

B) 延迟检索

C) 迫切左外连结检索

D) 迫切右外连结检索

14、假设对Customer类的orders集合采用延迟检索策略,编译或运行以下程序,会出现什么情况()

Session session=sessionFactory.openSession();

tx = session.beginTransaction();

Customer customer=(Customer)session.get(Customer.class,new Long(1));

https://www.360docs.net/doc/637302224.html,mit();

session.close();

Iterator orderIterator=customer.getOrders().iterator();

A) 编译出错

B) 编译通过,正常运行,不显示任何信息

C) 编译通过,正常运行,并显示出结果

D) 编译通过,但运行时抛出异常

15、POJO是()

A) Plain Old Java Object

B) Programming Object Java Object

C) Page Old Java Object

D) Plain Object Java Old

16、实现equals和hashCode最显而易见的作用是()

A) 比较两个对象标识符的值

B) 比较数据库的两条数据

C) 比较两个组建是否部署在同一个应用服务器上

D) 对象与字段的映射

17、元素把子对象的一些元素与父类对应的表的一些字段映射起来()

A) Component

B) Element

C) Attribute

D) ActionForm

18、ORM是()

A) 对象关系映射

B) 对象实体映射

C) 数据传输对象

D) 数据访问对象

19、ORM有什么好处()

A) 能进行关系对象的映射

B) 具有控制器功能

C) 能在服务器端保存客户端状态

D) 向DTO一项能传递数据

20、如果你已知某个实例的持久化标识,你可以使用Session的_____方法来获取它()

A) load()

B) loadAll()

C) getAllData()

D) init()

21、如果你不能确定你要寻找的对象的持久化标识符,那么你需要使用查询,使用Session 的____方法()

A) createQuery()

B) query()

C) queryAll()

D) queryObject()

22、使用Session的____会把对象的状态从数据库中移除()

A) delete()

B) remove()

C) clear()

D) removeAll()

23、HQL不支持聚合函数有()

A) count(*)

B) avg(…)

C) count(…)

D) count(?)

24、对原生SQL查询的控制是通过___接口进行的。()

A) SQLQuery

B) Session

C) List

D) Query

25、使用Hibernate的QBC查询,要使用SQL中的类似select count(*) from tablename方法求出记录数,必须使用哪一个类。()

A) Restrictions

B) Projections

C) Criteria

D) Criteron

26、在Hibernate中,关于数据库的方言,下面哪个说法是正确的()

A) 可以不写数据库方言

B) 数据库方言没有作用,可以随便写

C) 有通用的数据库方言可以使用

D) 数据方言对应于每个数据库,主要用于产生SQL语句

27、下面不属于持久化的是()

A) 把对象转换称字符串的形式通过网络传输,在另一端接收到这个字符串后能把对象还原出来

B) 把程序数据从数据库中读出来

C) 从XML配置文件中读取程序的配置信息

D 把程序数据保存为文件

28、下面的程序执行后没有报错,但数据总保存不到数据库,最可能的原因是()public static void imain(String[] args){

SessionFactory sf=new Configration().configure().buildSessionFactory();

Session session=sf.openSession();

Medal medal=new Medal();

medal.setOwner(“totong”);

medal.setType(“Gold medal”);

session.save(user);

session.close();

}

A) 配置文件配置有误

B) 没有在配置文件中包含对映射文件的声明

C) 配置文件配置有误

D) 没有对持久化操作捕捉异常

E) 没有开启事务

29、已知wage.getItem().size()的值是1。要想使执行session.update(wage)时自动执行session.update(wage.getItems().get(0)),必须配置()

A)

B)

D)

D)

30、关于spring说法错误的()

A) Spring是一个轻量级JAVA EE的框架集合

B) Spring包含一个“依赖注入”模式的实现

C) 使用Spring可以实现声明事务

D) Spring提供了AOP方式的日志系统

31、依赖注入说法正确的()

A) 依赖注入的目标是在代码之外管理程序组建间的依赖关系

B) 依赖注入即是“面向接口”的编程

C) 依赖注入是面向对象技术的替代品

D) 依赖注入的使用会增大程序的规模

32、关于AOP错误的()

A) AOP将散落在系统中的“方面”代码集中实现

B) AOP有助于提高系统可维护性

C) AOP已经表现出将要替代面向对象的趋势

D) AOP是一种设计模式,Spring提供了一种实现

33、关于Spring AOP错误的()

A) 首先要编写方面代码,实现MethodBeforeAdvice接口

B) AOP采取拦截方法调用方式实现,可以在调用方法前、后,抛出异常时拦截

C) AOP采取代理的方式实现,常用代理对象的类别为

org.springframework.aop.framework.ProxyFactoryBean

D) AOP可以在对目标(target)不做任何修改的情况下增加程序功能

34、不属于Action接口中定义的字符串常量的是()。

A) SUCCESS

B) FAILURE

C) ERROR

D) INPUT

35、控制器需要在____配置文件中进行配置。()

A) web.xml

B) struts.xml

C) struts2.xml

D) w ebwork.xml

36、不属于Struts 2表单标签库的是___。()

A)

B)

C)

D)