一、填空:1.Struts2框架由__webWork______和___xWork_框架发展而来。XWork是一个标准的Command模式实现,并且完全从web层脱离出来。Xwork提供了很多核心功能:前端拦截机(interceptor),运行时表单属性验证,类型转换,强大的表达式语言(OGNL–theObjectGraphNavigationLanguage),IoC(InversionofControl倒置控制)容器等。其目的是:创建一个泛化的、可重用且可扩展的命令模式框架,而不是一个特定在某个领域使用的框架。其特点是:1、基于一个简单的接口就可以进行灵活且可自定义的配置;2、核心命令模式框架可以通过定制和扩展拦截器来适应任何请求/响应环境;3、整个框架通过类型转换和使用OGNL的action属性验证来构建;4、包含一个基于运行时Attribute和验证拦截器的强大的验证框架。Xwork和WebWork的关系WebWork2被构建在XWork之上,以XWork为基础。通过使用XWork的命令模式框架和拦截器框架,提供了一个支持Web功能、能快速构建Web应用的命令模式框架。xwork和Webwork的交互图2.Struts2以__过滤器__为核心,采用__拦截器__的机制来处理用户的请求。3.构建Struts2应用的最基础的几个类库是_struts2-core__、_commons-logging_、_xwork-core_、__freamarker___以及_ognl_。4.Struts2中的控制器类是一个普通的_POJO_。5.如果要在JSP页面中使用Struts2提供的标签库,首先必须在页面中使用taglib编译指令导入标签库,其中taglib编译指令为___________。6.在Struts2表单标签库中,表单标签为___________。7.ActionSupport类实现了___________接口和___________等接口。8.通过控制器类中的___________方法来输出校验错误信息。9.Struts2以__________为核心控制器,它的初始化方法为__________。10.Hibernate配置数据库连接的四种属性名是、、、。11.在HibernateXML影射文件中描述主键生成机制,其属性描述了主键的生成策略,至少写出三种策略名、、。12.基于Hibernate用标注(annotations)描述映射关系,映射实体类中表示主键的属性的标注是___________;映射实体类中普通属性的标注是___________;实体属性对应的列用标注___________。13.Hibernate的会话接口中声明了持久化的操作,删除一个实体的方法是___________,合并一个实体的方法是___________,获得事务处理接口的方法是___________。14.Hibernate的会话接口同时又是一个工厂类型:创建一个HQL查询接口的方法是___________,创建基于公式(标准)接口的方法是___________。15.对象关系映射(ORM)的基本原则是:类型(class)映射___________,属性(property)映射___________,类型的实例或对象(instance|object)映射___________。16.Hibernate应用缺省的XML格式的配置文件名是___________,放置在___________下;配置数据库方言的属性名是___________。17.在Hibernate中级联操作的属性值至少写出三个___________、___________、___________。18基于Hibernate用标注(annotations)描述映射关系,实体类型用标注___________;实体对应的表用标注___________。19Hibernate的会话接口是___________,它由接口___________创建;Hibernate处理事务的接口是___________;封装HQL的接口是___________。20EJB有三种类型:___________、___________、___________。21为配置Jboss作为EJB的运行环境,需要设置___换进变量。22Jboss作为EJB的运行环境,EJB应该部署在_____目录23无状态的会话Bean的生命周期只有两个阶段____和_____24在EJB调用机制中,存根(stub)是在____端产生的25禁用默认拦截器的注释是_______26注入资源的注释是_______27如果在某个特点时间执行某段程序,应使用EJB提供的_______28如果实体Bean需要返回客户端,必须实现__________接口29如果不想让实体Bean的某些属性映射到表的字段,用_____注释30在JPQA查询中,排除相同的对象用___二、选择:1)在三层结构中,数据访问层承担的责任是(B)〔选一项〕a)定义实体类b)数据的增删改查操作c)业务逻辑的描述d)页面展示和控制转发2)下面关于数据持久化概念的描述,错误的是(D〔选择一项〕a)保存在内存中数据的状态是瞬时状态b)持久状态的数据在关机后数据依然存在c)数据可以由持久状态转换为瞬时状态d)将数据转换为持久状态的机制称为数据持久化状态:瞬时,持久,脱管3)下面关于Hibernate的说法,错误的是(C)〔选择一项〕a)Hibernate是一个“对象-关系映射”的实现b)Hibernate是一种数据持久化技术c)Hibernate是JDBC的替代技术d)使用Hibernate可以简化持久化层的编码4)Hibernate配置文件中,不包含下面的(AB)〔选择二项〕a)“对象-关系映射”信息b)实体间关联的配置c)show_sql等参数的配置d)数据库连接信息5)在Hibernate关系映射配置中,inverse属性的含义是(B)。〔选择一项〕a)定义在one-to-many节点上,声明要负责关联的维护b)声明在set节点上,声明要对方负责关联的维护c)定义在one-to-many节点上,声明对方要负责关联的维护d)声明在set节点上,声明要负责关联的维护6)在使用了Hibernate的系统中,要想在删除某个客户数据的同时删除该客户对应的所有订单数据,下面方法可行的是(B。〔选择一项〕a)配置客户和订单关联的cascade属性为save-updateb)配置客户和订单关联的cascade属性为allc)设置多对一关联的inverse属性为trued)设置多对一关联的inverse属性为false7)下面一对多关联的配置中,存在哪些错误(BD)。setname=ordersinverse=falsecascade=trueone-to-manyclass=com.x.entity.Ordercolumn=customer_id//seta)inverse属性不可以设置为falseb)cascade属性不可设置为truec)class=com.x.entity.Order应为type=com.x.entity.Orderd)column属性不可再one-to-many节点内设置8)执行下面的hql查询,关于返回值的说法,正确的是(B)。selectu.username,u.useridfromcom.x.entity.Useruwhereuisnotnulla)语法错误,不能执行b)返回一个类型为List的实例c)返回一个数组d)当返回结果只有一条时,返回一个数组9)下面创建Criteria对象的语句中正确的是(D)。a)Criteriac=query.createCriteria();b)Criteriac=query.addCriteria();c)Criteriac=session.createCriteria();d)Criteriac=session.createCriteria(User.class);10)一般情况下,关系数据模型与对象模型之间有哪些匹配关系(ACD多选)a)表对应类b)记录对应对象c)表的字段对应类的属性d)表之间的参考关系对应类之间的依赖关系11)以下关于SessionFactory的说法哪些正确?BCa)对于每个数据库事务,应该创建一个SessionFactory对象b)一个SessionFactory对象对应一个数据库存储源。c)SessionFactory是重量级的对象,不应该随意创建。如果系统中只有一个数据库存储源,只需要创建一个。d)SessionFactory的load()方法用于加载持久化对象12)Customer类中有一个Set类型的orders属性,用来存放Order订单对象,在Customer.hbm.xml文件中,用哪个元素映射orders属性?ABa)setb)one-to-manyc)many-to-oned)property13)set元素有一个cascade属性,如果希望Hibernate级联保存集合中的对象,casecade属性应该取什么值?(D)〔选择一项〕a)noneb)savec)deleted)save-update14)以下哪些属于Session的方法?ABDa)load()b)save()c)open()d)saveOrUpdate()15)创建序列时,若未指定Cycle选项,则当当前值大于MaxValue时将()〔选择一项〕a)从MinValue重新开始循环b)重复使用MaxValue值c)执行出错d)使用随机值16)以下程序的打印结果是什么?Ctx=session.beginTransaction();Customerc1=(Customer)session.load(Customer.class,newLong(1));Customerc2=(Customer)session.load(Customer.class,newLong(1));System.out.println(c1==c2);tx.commit();session.close();a)运行出错,抛出异常b)打印falsec)打印trued)编译出错17)以下程序代码对Customer的name属性修改了两次:Btx=session.beginTransaction();Customercustomer=(Customer)session.load(Customer.class,newLong(1));customer.setName(\Jack\);customer.setName(\Mike\);tx.commit();执行以上程序,Hibernate需要向数据库提交几条update语句?(单选)a)0b)1c)2d)318)在持久化层,对象分为哪些状态?(ACD多选)a)瞬时(Transient)b)新建(New)c)脱管(Detached)d)持久(Persistent)19)对于以下程序,Customer对象在第几行变为持久化状态?(B单选)Customercustomer=newCustomer();customer.setName(\Tom\);Sessionsession1=sessionFactory.openSession();Transactiontx1=session1.beginTransaction();//line1session1.save(customer);//line2tx1.commit();//line3session1.close();//line4a)line1b)line2c)line3d)line420)对于以下程序,Customer对象在第几行变为游离状态?(D单选)Customercustomer=newCustomer();customer.setName(\Tom\);Sessionsession1=