1、企业级javaII综合测试企业级java-II-综合测试 作者: 日期: 综合测试题一简述、填空、选择题:1. 默认情况下,struts2动作的扩展名是什么? action ; struts1为do2 简要描述一下有关依赖对象的注入(注入方式、注解注入等) 注入方式有:设值注入、构造器注入、注解注入; 注解注入:在java代码中可以使用Autowired或Resource注解方式进行依赖注入,此时需要在XML配置文件中添加以下配置信息,这就是注解注入。3. 、等标记的作用分别是什么? :输入属性的值 :输出资源文件:给其他标记设置参数4. 以下OGNL表达式语句中,不正确的是(B)A. #se
2、ssion.name B. (#)application.name(在堆栈) C. user.name D. #attr.name5简要描述一下Spring(作用域、装配方式、Bean的管理、创建等)核心:IOC、AOP作用域:单例作用域装配方式:自动、手工(建议)。Bean的管理:Spring可以自定管理。改变作用域后,不属于单例,就不能管理。创建:标识符要使用id,不能包括特殊符号和数字开头,只能以字母开头;class必须是具体类6Struts2的核心控制器需要在哪个文件中配置?strtus.xml配置动作时时动作包可以通过执行什么操作来继承struts2框架所提供的基础功能? Strut
3、s.xml文件中 继承struts-default.xml7. Struts2标签提供了哪些主题?默认的主题是哪个?修改Struts2标签默认主题可使用什么属性?simple xhtml css_xthml 默认为 xthml theme 8对应Register动作类动作级别的资源文件的属性文件名称是什么? Register. properties、必须保存在同一目录下9OGNL操作符号#、%和$的用途分别是什么?# :访问OGNL上下文和Action上下文,用于选择和投影集合,构造Map集合;%: 在标签的属性为字符串类型是,可以使用%和计算OGNL表达式的值;$ :在国际化资源文件中引用配
4、置项中定义的属性值,在Struts2配置文件中,引用动作属性值使用选择操作符获取集合的子集: 1)?: 获取所有符合条件的子集 2):获取满符合条件的第一个子集 3) $:获取符合条件的最后一个子集10假设对应上传文件内容的变量声明为File upfile,则对应上传文件的类型的变量应声明为StringupfileContentType ,对应上传文件的文件名的变量应声明为StringupfileFileName11在Struts2框架中,哪个文件提供了defaultStack拦截器栈的定义? 包struts-default中定义了各种内置的拦截器。12. 请简要描述一下Struts2 较好的
5、解决了Struts1的缺陷,使用了WebWork的设计理念,相对于Struts1而言,Struts2是一个全新的框架,它继承了Struts1和WebWork的许多优点,为Servlet/JSP技术的应用提供技术框架。13以下语句中,不正确的有( A、D、E )A. select username,age group by age where age30B. select age, name from Person C.select sex,email from studentD. E. 14Hibernate持久化类常见的主键的生成方式有哪些?assigned: 由应用程序生成identity
6、: 使用数据库提供的自增长主键机制,如Mysqlsequence: 使用数据库提供的sequence机制生成主键,如oraclenative:由hibernate根据数据库驱动定义,自动选择主键生成机制15请简要描述一下Struts2国际化(资源文件的类型、s:text标签、资源文件的占位符等内容)资源文件的类型:全局资源文件:对整个应用程序有效,必须保存在src目录下包级别的资源文件:对包及子包中所有类有效,需在包目录下新建package_language_country.propertiess:text : 在JSP页面显示资源文件内容在资源文件中可以使用以参数形式表示的占位符,以达到动态
7、显示信息的目的。替换占位符有两种方式:1)在JSP页面里替换占位符:通过在里嵌入的可以分别替换对应的占位符2)在Action里替换占位符:调用getText(String key,List args)或getText(String key,String args)16使用Struts2框架校验时如何命名校验文件?常用的校验器有哪些?日期类型的非空校验应使用哪个校验器?必须定义一个与动作类同名、保存在同一目录下的且后缀为-validation.xml的XML校验配置文件常用校验器: required: 不允许非字符串数据空值 requiredstring: 必须是字符串且不能为空 stringl
8、ength: 字符串长度检验器,可以定义字符串的范围,常用参数:minLength、maxLength int: 必须是整数,可以定义整数的范围,常用参数:min、max date: 必须是日期,可以定义日期范围,常用参数:min、max double: 必须是双精度数,可以定义小数的范围,常用参数:min、max fieldexpression:对指定的OGNL表达式求值 email: 必须符合邮件书写格式 url: 必须符合网址书写格式 regex: 格式检验器,必须符合指定的书写格式17常用的Struts2动作类的常量返回值有哪些?INPUT、LOGIN、ERROR、SUCCESS、NO
9、NE18.使用了Struts2拦截器后,使用哪个方法来实现将控制权往后传递?使用ActionInvocation接口的invoke方法19. 在使用MyEclipse创建源代码时struts.xml需要保持在哪个目录下?代码编译后,struts.xml保存在哪个目录下? A、编译后在,CA. src B. WEB-INF C. classes D. webroot E.lib 20使用Hibernate持久化对象到数据库,持久化完成后,必须通过事务调用 commit() 方法提交事务才能同步数据库;如果持久化过程发生异常,则必须通过事务调用 roolback() 方法回滚事务 21. Stru
10、ts2动作类默认执行的方法是什么方法? execute() 22. Spring配置文件使用标签的id属性定义bean标识符有什么规定? 其它bean通过该标识符来引用bean,在整个容器中必须唯一(id属性值不能使用特殊符号如“/”,name属性值可使用特殊符号) 23. 请简述Hibernate中Criteria查询和Query查询 Criterria: 在Hibernate中,提供了接口:org.hibernate.Criteria,该接口对查询进行了抽象封装,通过该接口的相关方法,可以将数据查询条件封装为一个对象,进而可以使用该对象进行数据查询。 Query: 具有与SQL类似语法的面
11、向对象的查询语句,用于操作持久化类、实例及属性。 24. 简要描述一下在Hibernate中,事务与各种持久化操作的关系所有操作必须开始事务提交事务25.在hibernate中持久化对象的生命周期状态中,对于数据库中有数据与之对应,当前没有session关联的对象称为 游离/脱管 对象;当前有session关联的对象称为 (持久化)对象。 持久化 对象在状态更改时,事务提交时会自动更新数据库;对象状态更新后,必须调用update()方法才能同步数据库的是 游离/脱管 对象。26对于Hibernate单向多对一关联中,必须在主动方映射文件中使用 many-to-one 标签来声明关联关系,同时在
12、“多”方持久化类中必须声明一个类型为 一 方持久化类型的成员变量,设置关联外键需要使用该标签的 column 属性。27Hibernate单向一对多关联中,必须在主动方映射文件中使用 one-to-many 标签来声明关联关系,同时在“一”方持久化类中必须声明一个元素类型为 多 方的 成员变量持久化类型的成员变量,设置关联外键需要使用 key 标签,如果此时希望将控制权由“一”方转移到“多”方,此时应在中设置属性 inverse =”true”,如果需要在持久化主动方对象的同时持久化被动方对象,此时应该在中设置属性 cascade =” true ”。28Hibernate单向一对一关联使用唯
13、一外键处理方式时,需要在主动方映射文件中使 用 many-to-one 标签来声明关联关系,并且需要在该标签中设置属性 unique =”true”。29Hibernate映射类型既可以使用Hibernate内置类型,也可以使用Java类型,使用Java类型时需要使用类型的 全名 ,假设有一属性的类型为String类型,则使用Hibernate内置类型时应写成 string ;使用Java类型时应写成 java.lang.String 30hibernate缓存级别分为 session 和 sessionFactory ,前者属于一级缓存,无需设置即可使用,后者属于二级缓存,需要设置才能使用。
14、31以下关于Hibernate的描述中,不正确的是(C )A. 在Hibernate中,处于瞬时状态的实体在数据库中没有数据与之对应B. Hibernate是一种主流的ORM框架C.处于游离状态的实体状态发生改变时,事务提交时会自动更新数据库D.创建实体类时必须提供无参构造方法32以下关于每个具体类一张表的继承映射的描述中,不正确的是(B )A. 不符合关系模型的常规设计规则,存在太多冗余字段 B. 需要在子类映射中添加一个指向父类主键的外键C. 需要将父类定义为抽象持久化类D. 只有一个以父类命名的映射文件33以下关于Hibernate的描述中,不正确的是(C)A. 对于持久化类Employ
15、ee,其映射文件的是Employee.hbm.xml B. 在 Session关闭前,使用Session的get方法查询到的实体都处于持久化状态C. 在Hibernate中,处于游离状态的实体状态发生改变时,事务提交时会自动更新数据库D. 使用new创建的对象没有进行任何持久化操作时都称为瞬态对象34以下关于每个继承层次一张表的继承映射的描述中,不正确的是(A )A. 允许为子类的成员属性对应的字段定义not null约束B. 最简单策略,执行效率最高C. 需要在数据表中添加额外的区分各个子类的字段D. 不允许为子类的成员属性对应的字段定义not null约束35以下关于每个类一张表的继承映射
16、的描述中,不正确的是(D )A. 需要在子类映射中添加一个指向父类主键的外键B. 允许为子类的成员属性对应的字段定义not null约束C. 只有一个以父类命名的映射文件D.各个类的持久化类中都需要声明一个标识符属性36. 使用Struts2上传文件,必须使用哪个表单域来上传文件?同时必须设置表单的enctype等于什么?通过使用Struts2所提供的什么拦截器可以设置上传文件的大小和允许类型,当上传的文件不符合要求时,流程会跳转到哪个逻辑视图? FileUpload、enctype=”mutipat/form-data” 、input视图37. 使用Struts2校验数据时,数据校验不通过时
17、,流程会跳转到哪个逻辑视图? input视图38. Struts2默认的结果类型是什么?如果要跳转到另一个动作可以使用什么结果类型? dispatcher chain39. 已知有一个拦截器的名字为myInterceptor,所在包为:com.sise.test.interceptor,请写出该拦截器的定义语句以及引用语句40. Spring框架包含了两个核心内容,分别是 IOC 和 AOP 41. 简述Resource和Autowired注解的使用区别 一个是手动一个是自动二、编程题 1使用Struts2实现如图一图二所示效 图一 登录页面 图二 登录成功页面 (1) 根据图一创建登录页面l
18、ogin.jsp:(2) 根据图一及图二创建动作类:public class LoginAction extends ActionSupportprivate String username;private String password;public void setUsername(String username) this.username = username;public String getUsername() return username;public void setPassword(String password) this.password = password;publ
19、ic String getPassword() return password;(3) 根据图三配置(2)所创建的动作类: /login.jsp /welcome.jsp 2 使用hibernate实现以下各题要求功能(5分)(1) 将第1题中的用户登录信息封装成LoginUser实体类,已知LoginUser实体类代码如下: package com.sise.test.po;public class LoginUser private Integer id; /标识符属性 private String name; private String password; /省略属性的Setter和Getter方法(2) 根据上面(1)中所编写的LoginUser实体类及映射文件中的注释,补充以下映射文件!DOCTYPE hibernate-mapping PUBLIC -/Hibernate/Hibernate Mapping DTD 3.0/EN 3 使用Spring完成以下要求功能(2)写出将第1题所创建的动作类交给Spring容器管理的配置代码
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1