企业级javaII综合测试文档格式.docx
《企业级javaII综合测试文档格式.docx》由会员分享,可在线阅读,更多相关《企业级javaII综合测试文档格式.docx(11页珍藏版)》请在冰豆网上搜索。
4.以下OGNL表达式语句中,不正确的是(B)
A.#session.nameB.(#)application.name(在堆栈)C.user.nameD.#attr.name
5.简要描述一下Spring(作用域、装配方式、Bean的管理、创建等)
核心:
IOC、AOP
作用域:
单例作用域…
装配方式:
自动、手工(建议)。
Bean的管理:
Spring可以自定管理。
改变作用域后,不属于单例,就不能管理。
创建:
标识符要使用id,不能包括特殊符号和数字开头,只能以字母开头;
class必须是具体类
6.Struts2的核心控制器需要在哪个文件中配置?
strtus.xml配置动作时时动作包可以通过执行什么操作来继承struts2框架所提供的基础功能?
Struts.xml文件中继承struts-default.xml
7.Struts2标签提供了哪些主题?
默认的主题是哪个?
修改Struts2标签默认主题可使用什么属性?
simplexhtmlcss_xthml默认为xthmltheme
8.对应Register动作类动作级别的资源文件的属性文件名称是什么?
Register.properties、必须保存在同一目录下
9.OGNL操作符号#、%和$的用途分别是什么?
#:
访问OGNL上下文和Action上下文,用于选择和投影集合,构造Map集合;
%:
在标签的属性为字符串类型是,可以使用%和{}计算OGNL表达式的值;
$:
在国际化资源文件中引用配置项中定义的属性值,在Struts2配置文件中,引用动作属性值
使用选择操作符获取集合的子集:
1)?
:
获取所有符合条件的子集
2)^:
获取满符合条件的第一个子集
3)$:
获取符合条件的最后一个子集
10.假设对应上传文件内容的变量声明为Fileupfile,则对应上传文件的类型的变量应声明为StringupfileContentType,对应上传文件的文件名的变量应声明为StringupfileFileName
11.在Struts2框架中,哪个文件提供了defaultStack拦截器栈的定义?
包struts-default中定义了各种内置的拦截器。
12.请简要描述一下Struts2
较好的解决了Struts1的缺陷,使用了WebWork的设计理念,相对于Struts1而言,Struts2是一个全新的框架,它继承了Struts1和WebWork的许多优点,为Servlet/JSP技术的应用提供技术框架。
13.以下语句中,不正确的有(A、D、E)
A.selectusername,agegroupbyagewhereage>
30
B.selectage,namefromPerson
C.selectsex,emailfromstudent
D.<
propertyvalue=”${username}”/>
E.<
propertyname=”username”/>
14.Hibernate持久化类常见的主键的生成方式有哪些?
assigned:
由应用程序生成
identity:
使用数据库提供的自增长主键机制,如Mysql
sequence:
使用数据库提供的sequence机制生成主键,如oracle
native:
由hibernate根据数据库驱动定义,自动选择主键生成机制
15.请简要描述一下Struts2国际化(资源文件的类型、s:
text标签、资源文件的占位符等内容)
资源文件的类型:
全局资源文件:
对整个应用程序有效,必须保存在src目录下
constantname=“strtus.custom.i18n.resources”value=“baseName”/>
包级别的资源文件:
对包及子包中所有类有效,需在包目录下新建package_language_country.properties
text:
在JSP页面显示资源文件内容
在资源文件中可以使用以{参数}形式表示的占位符,以达到动态显示信息的目的。
替换占位符有两种方式:
1)在JSP页面里替换占位符:
通过在<
/s:
…<
里嵌入的<
可以分别替换对应的占位符
2)在Action里替换占位符:
调用getText(Stringkey,Listargs)或getText(Stringkey,String[]args)
16.使用Struts2框架校验时如何命名校验文件?
常用的校验器有哪些?
日期类型的非空校验应使用哪个校验器?
必须定义一个与动作类同名、保存在同一目录下的且后缀为-validation.xml的XML校验配置文件
常用校验器:
–required:
不允许非字符串数据空值
–requiredstring:
必须是字符串且不能为空
–stringlength:
字符串长度检验器,可以定义字符串的范围,常用参数:
minLength、maxLength
–int:
必须是整数,可以定义整数的范围,常用参数:
min、max
–date:
必须是日期,可以定义日期范围,常用参数:
–double:
必须是双精度数,可以定义小数的范围,常用参数:
–fieldexpression:
对指定的OGNL表达式求值
–email:
必须符合邮件书写格式
–url:
必须符合网址书写格式
–regex:
格式检验器,必须符合指定的书写格式
17.常用的Struts2动作类的常量返回值有哪些?
INPUT、LOGIN、ERROR、SUCCESS、NONE
18.使用了Struts2拦截器后,使用哪个方法来实现将控制权往后传递?
使用ActionInvocation接口的invoke方法
19.在使用MyEclipse创建源代码时struts.xml需要保持在哪个目录下?
代码编译后,struts.xml保存在哪个目录下?
A、编译后在,C
A.srcB.WEB-INFC.classesD.webrootE.lib
20.使用Hibernate持久化对象到数据库,持久化完成后,必须通过事务调用commit()方法提交事务才能同步数据库;
如果持久化过程发生异常,则必须通过事务调用roolback()方法回滚事务
21.Struts2动作类默认执行的方法是什么方法?
execute()
22.Spring配置文件使用<
bean>
标签的id属性定义bean标识符有什么规定?
其它bean通过该标识符来引用bean,在整个容器中必须唯一(id属性值不能使用特殊符号如“/”,name属性值可使用特殊符号)
23.请简述Hibernate中Criteria查询和Query查询
Criterria:
在Hibernate中,提供了接口:
org.hibernate.Criteria,该接口对查询进行了抽象封装,通过该接口的相关方法,可以将数据查询条件封装为一个对象,进而可以使用该对象进行数据查询。
Query:
具有与SQL类似语法的面向对象的查询语句,用于操作持久化类、实例及属性。
24.简要描述一下在Hibernate中,事务与各种持久化操作的关系
所有操作必须开始事务提交事务
25.在hibernate中持久化对象的生命周期状态中,对于数据库中有数据与之对应,当前没有session关联的对象称为游离/脱管对象;
当前有session关联的对象称为(持久化)对象。
持久化对象在状态更改时,事务提交时会自动更新数据库;
对象状态更新后,必须调用update()方法才能同步数据库的是游离/脱管对象。
26.对于Hibernate单向多对一关联中,必须在主动方映射文件中使用many-to-one标签来声明关联关系,同时在“多”方持久化类中必须声明一个类型为一方持久化类型的成员变量,设置关联外键需要使用该标签的column属性。
27.Hibernate单向一对多关联中,必须在主动方映射文件中使用one-to-many标签来声明关联关系,同时在“一”方持久化类中必须声明一个元素类型为多方的
成员变量持久化类型的成员变量,设置关联外键需要使用key标签,如果此时希望将控制权由“一”方转移到“多”方,此时应在<
set>
中设置属性
inverse=”true”,如果需要在持久化主动方对象的同时持久化被动方对象,此时应该在<
中设置属性cascade=”true”。
28.Hibernate单向一对一关联使用唯一外键处理方式时,需要在主动方映射文件中使
用many-to-one标签来声明关联关系,并且需要在该标签中设置属性
unique=”true”。
29.Hibernate映射类型既可以使用Hibernate内置类型,也可以使用Java类型,使用Java类型时需要使用类型的全名,假设有一属性的类型为String类型,则使用Hibernate内置类型时应写成string;
使用Java类型时应写成java.lang.String
30.hibernate缓存级别分为session和sessionFactory,前者属于一级缓存,无需设置即可使用,后者属于二级缓存,需要设置才能使用。
31.以下关于Hibernate的描述中,不正确的是(C)
A.在Hibernate中,处于瞬时状态的实体在数据库中没有数据与之对应
B.Hibernate是一种主流的ORM框架
C.处于游离状态的实体状态发生改变时,事务提交时会自动更新数据库
D.创建实体类时必须提供无参构造方法
32.以下关于每个具体类一张表的继承映射的描述中,不正确的是(B)
A.不符合关系模型的常规设计规则,存在太多冗余字段
B.需要在子类映射中添加一个指向父类主键的外键
C.需要将父类定义为抽象持久化类
D.只有一个以父类命名的映射文件
33.以下关于Hibernate的描述中,不正确的是(C)
A.对于持久化类Employee,其映射文件的是Employee.hbm.xml
B.在Session关闭前,使用Session的get方法查询到的实体都处于持久化状态
C.在Hibernate中,处于游离状态的实体状态发生改变时,事务提交时会自动更新数据库
D.使用new创建的对象没有进行任何持久化操作时都称为瞬态对象
34.以下关于每个继承层次一张表的继承映射的描述中,不正确的是(A)
A.允许为子类的成员属性对应的字段定义notnull约束
B.最简单策略,执行效率最高
C.需要在数据表中添加额外的区分各个子类的字段
D.不允许为子类的成员属性对应的字段定义notnull约束
35.以下关于每个类一张表的继承映射的描述中,不正确的是(D)
A.需要在子类映射中添加一个指向父类主键的外键
B.允许为子类的成员属性对应的字段定义notnull约束
C.只有一个以父类命名的映射文件
D.各个类的持久化类中都需要声明一个标识符属性
36.使用Struts2上传文件,必须使用哪个表单域来上传文件?
同时必须设置表单的enctype等于什么?
通过使用Struts2所提供的什么拦截器可以设置上传文件的大小和允许类型,当上传的文件不符合要求时,流程会跳转到哪个逻辑视图?
FileUpload、enctype=”mutipat/form-data”、input视图
37.使用Struts2校验数据时,数据校验不通过时,流程会跳转到哪个逻辑视图?
input视图
38.Struts2默认的结果类型是什么?
如果要跳转到另一个动作可以使用什么结果类型?
dispatcherchain
39.已知有一个拦截器的名字为myInterceptor,所在包为:
com.sise.test.interceptor,请写出该拦截器的定义语句以及引用语句
interceptorname=”myInterceptor”class=”com.sise.test.interceptor.***”/>
interceptor-refname=”myInterceptor”/>
40.Spring框架包含了两个核心内容,分别是IOC和AOP
41.简述@Resource和@Autowired注解的使用区别
一个是手动一个是自动
二、编程题
1.使用Struts2实现如图一~图二所示效
图一登录页面图二登录成功页面
(1)根据图一创建登录页面login.jsp:
%@taglibprefix=”s”uri=”/sturts-tags”%>
body>
formaction=”login”>
textfieldname=”username”label=”用户名”/>
passwordname=”password”label=”密码”/>
submitvalue=”登录”/>
(2)根据图一及图二创建动作类:
publicclassLoginActionextendsActionSupport{
privateStringusername;
privateStringpassword;
publicvoidsetUsername(Stringusername){
this.username=username;
}
publicStringgetUsername(){
returnusername;
publicvoidsetPassword(Stringpassword){
this.password=password;
publicStringgetPassword(){
returnpassword;
(3)根据图三配置
(2)所创建的动作类:
packagename=”Lim”extends=”sturts-default”namespace=”/action”>
actionname=”LoginAction”class=”com.sise.lim.LoginAction”>
resultname=”input”>
/login.jsp<
/result>
result>
/welcome.jsp<
/action>
/package>
2.使用hibernate实现以下各题要求功能(5分)
(1)将第1题中的用户登录信息封装成LoginUser实体类,已知LoginUser实体类代码如下:
packagecom.sise.test.po;
publicclassLoginUser{
privateIntegerid;
//标识符属性
privateStringname;
privateStringpassword;
//省略属性的Setter和Getter方法
(2)根据上面
(1)中所编写的LoginUser实体类及映射文件中的注释,补充以下映射文件
?
xmlversion="
1.0"
>
!
DOCTYPEhibernate-mappingPUBLIC
"
-//Hibernate/HibernateMappingDTD3.0//EN"
hibernate-mapping>
classname="
LoginUser"
table=”loginuser”>
--主键设置-->
<
idname=”id”>
<
--主键生成方式为sequence->
generatorclass=”sequence”/>
/id>
—name属性设置,要求name类型为字符串>
propertyname=”name”type=”java.lang.String”length=”12”/>
—password属性设置,要求password非空-->
propertyname=”password”typr=”java.lang.String”not-null=”true”/>
/class>
/hibernate-mapping>
3.使用Spring完成以下要求功能
(2)写出将第1题所创建的动作类交给Spring容器管理的配置代码
beanid=”LoginAction”class=”com.sise.Lim.LoginAction”/>