java ee应用技术知识要点

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

JA V A EE应用技术知识要点
一、填空题
1.在struts1.x中, struts框架是通过Servlet启动的;在struts2中,struts框架是通过 Filter 启动的。

2.在struts2框架中使用包来管理Action,它主要用于管理一组业务功能相关的action。

3.访问struts2中action的URL路径由两部份组成:包的命名空间 + action的名称。

4.在struts2中action配置中的各项默认值。

1>如果没有为action指定 class ,默认是ActionSupport。

2>如果没有为action指定 method ,默认执行action中的execute() 方法。

3>如果没有指定result的 name 属性,默认值为success。

5.Struts2为Action中的属性提供了依赖注入功能,在struts2的配置文件中,我们可以通过 <param> 节点为action的savePath属性注入“/images”。

6.为了避免struts.xml文件过于庞大、臃肿,我们可以将一个struts.xml配置文件分解成多个配置文件,然后通过<include>元素指定多个配置文件。

7.注入依赖对象可以采用手工装配或自动装配。

8.JDK动态代理与CGLib动态代理均是实现Spring AOP的基础。

9.Hibernate配置数据库连接的属性包括方言、 JdbcUrl 、驱动、用户名、密码。

10.Hibernate应用缺省的XML格式的配置文件名是 hibernate.cfg.xml ,映射配置的后缀名是 .hbm.xml 。

11.Spring在切入点上支持或运算和与运算。

12.asc代表升序, desc 代表降序。

13.Spring的依赖注入有设值注入、构造注入和接口注入形式。

14.MVC把应用程序分为模型、视图、控制器三个核心模块。

15.Struts框架提供了HTML标签库、 Bean标签库、Logic标签库、 Template标签库、Nested标签库。

二、选择题
1.通常所说的SSH不包括以下那一项( D )
A. Struts
B. Spring
C. Hibernate
D. EJB
2. struts2加载常量的搜索顺序: ( A )
A. struts-default.xml struts-plugin.xml struts.xml struts.properties web.xml
B. web.xml struts-default.xml struts-plugin.xml struts.xml struts.properties
C. struts.properties struts-default.xml struts-plugin.xml struts.xml web.xml
D. struts-plugin.xml struts-default.xml struts.xml struts.properties web.xml
3. struts2提供的校验器中必填校验器是( B )
A. requiredstring
B. required
C. fieldexpression
D. regex
4.国际化资源文件的后缀名是( C )
A.java
B.class
C.properties
D.jsp
5.iterator标签用于对集合进行迭代,这里的集合包含 ( D )
A. List
B. Set
C. 数组
D.以上都是
6. 在表单中防止重复提交的标签是 ( B )
A.checkboxlist
B. token
C.url
D.select
7. 假设实体映射时有一个____的关联指向另外一个实体,在查询时必须也返回那个实体,否则会导致发生一个“column not found”的数据库错误。

( D )
A. many-to-one
B. many-to-many
C. one-to-many
D. one-to-one
8. 设置是否放弃维护关联关系的属性是( A )
A. inverse
B. sort
C. order-by
D. cascade
9. mysql默认隔离级别是( A )
A.REPEATABLE READ
B.READ COMMITTED
C.READ UNCOMMITTED
D.SERIALIZABLE
10. 在项目中引入spring立即可以带来下面的好处( D )
A.可以使用容器提供的众多服务,如:事务管理服务、消息服务等等。

B.容器提供了AOP技术,利用它很容易实现如权限拦截、运行期监控等功能
C.Spring对于主流的应用框架提供了集成支持,如:集成Hibernate、JPA、Struts等
D. 以上都是
11. 如果你已知某个实例的持久化标识,你可以使用Session的_____方法来获取它( A )
A. load()
B. loadAll()
C. getAllData()
D. init()
12. 在Struts应用中,能在下列哪几种范围内共享数据说法错误的是。

( D )
A. application
B. request
C. session
D.只有session
13. 关于在web.xml文件中配置欢迎文件清单说法错误的是( B )
A.使用<welcome-file-list>元素配置欢迎清单
B.只能配置一个欢迎文件
C.可以配置多个欢迎文件
D.Web容器调用会依次寻找欢迎文件,直到找到为止
14. 下列对<action-mappings>元素属性描述正确的有。

( D )
A.classsName:和action元素对应的配置元素,
B.forward:转发的URL路径
C.input:输入表单的URL路径,当表单验证失败时,将把请求转发到该URL
D.以上全部正确
15. 在Hibernate主配置文件中,是通过哪个元素来配置映射文件的( D )
A.<hibernate-configuration>元素
B.<session-factory>元素
C.<property>元素
D.<mapping>元素
16. 在Hibernate的映射文件中,<id>元素的<generator>子元素用来设定标识符生成器,以下对常用的标识符生成器的用法说法正确的是。

( D )
A.increment:适用于代理主键。

用于为long, short或者int类型生成唯一标识
B.identity:适用于代理主键。

由底层数据库生成标识符
C.sequence:适用于代理主键。

Hibernate根据底层数据库的序列来生成标识符
D.以上都正确
17. 如何理解SessionFactory与Session的关系及它们的意义( D )
A.SessionFactory的主要用来生成Session对象
B.SessionFactory是一个重量级的对象,一个应用程序只创建一个SessionFactory实例,而可创建多个Session对象。

C.SessionFactory实例代表一个所要访问的数据库
D.以上都正确
18. Transaction接口主要是用于管理事务,它的哪个方法用于事务的提交。

( C )
A.wasRollBack()方法
B.isActive() 方法
mit() 方法
D.wasCommitted()方法
19. 以下关于Hibernate描述不正确的是( B )
A. 连接java应用程序和关系型数据库的中间件
B. 提供与用户交互的GUI
C.一种ORM映射工具
D.位于持久化层,封装所有的数据访问细节,使业务逻辑层更关注于业务逻辑
20. HQL检索方式是被应用的最广泛的,它主要具有以下哪些功能。

( D )
A.通过各种条件来执行数据库的查询
B.支持分页查询,并且针对不同的数据库做了不同的处理,以此来提高分页查询的效率
C.支持分组查询,允许使用having和group by关键字
D.以上都正确
21. 对完善的持久化层应达到的目标描述中,不包括( B )
A.代码重用性高,可完成所有的数据访问操作
B.便于多个进程共享内存
C.如果需要的话,能够支持多种数据库平台
D.具有相对独立性,当持久化层变化时,不会影响上层实现
22. 如果要实现Hibernate持久化一个对象时,同时级联更新或保存与其相关联的其他对象,cascade属性的值一
个设置为( A )
A. save-update
B. true
C. false
D. none
23. 如何理解Hibernate的缓存概念。

( D )
A.缓存是计算机领域非常通用的概念,是介于应用程序和永久性数据存储源之间
B.Session的缓存被称为Hibernate的第一级缓存。

C.SessionFactory缓存被称为Hibernate的第二级缓存
D.以上说法都正确
24. 那种形式不是Spring的依赖注入形式( B )
A. 设值注入
B. 引用注入
C. 构造注入
D. 接口注入
25. 下面关于关系数据模型与对象模型之间匹配关系描述不正确的是( C )
A. 表对应类
B. 表之间的参考关系对应类之间的依赖关系
C. 记录对应对象
D. 表的字段对应类的属性
26. 如果你不能确定你要寻找的对象的持久化标识符,那么你需要使用查询,使用Session的____方法( A )
A. createQuery()
B. query()
C. queryAll()
D. queryObject()
27. 使用Session的____会把对象的状态从数据库中移除( A )
A. delete()
B. remove()
C. clear()
D. removeAll()
28. 在Hibernate中,关于数据库的方言,下面哪个说法是正确的( D )
A.可以不写数据库方言
B.数据库方言没有作用,可以随便写
C.有通用的数据库方言可以使用
D.数据方言对应于每个数据库,主要用于产生SQL语句
29. 下列哪个元素可以配置数据源( D )
A.<formbean>元素
B.<data-sources>元素
C.<global-forward>元素
D.<message-resources>元素
30.使用下列哪个标签能在页面输出在验证表单时发生的错误( B )
A.<html:multibox>标签
B.<html:errors>标签
C.<html:messages>标签
D.<html:error>标签
31.下列哪个标签能比较变量是否大于或等于指定变量( C )
A.<logic:equal>标签
B.<logic:notEqual>标签
C.<logic:greaterEqual>标
D.<logic:greaterThan>标签
32. 下列关于Struts框架的说法中,正确的是( ABCDE)
A.Struts实质是在JSP Model2的基础上实现的一个MVC框架
B.在Struts框架中,模型是由实现业务逻辑的JavaBean与EJB组件构成
C.在Struts框架中,视图是由一组JSP文件组成
D.在Struts框架中,控制器是由ActionServlet和Action来实现
E.在ActionForm中的validate()方法能对提交的表单数据进行初步验证
33. 如果一个类可以作为业务对象,那它必须具有哪些条件 ( CDE )
A.只由状态组成
B.只由行为组成
C.由状态和行为组成
D.表达了来自业务域的一个人,地点,事物或概念
E.可以重用
34. 下列哪个Strtus标签能生成HTML超链接<a>元素 ( D )
A.<html:html>标签
B.<html:base>标签
C.<html:img>标签
D.<html:link>标签
35.下列关于<logic:iterate>标签说法正确的是 ( ABCDE )
A.<logic:iterate>标签用于循环遍历集合
B.<logic:iterate>标签是Logic标签中使用范围最广的一个
C.<logic:iterate>标签能遍历Collection、Enumeration、Iterator、Map或数组中的
所有元素
D.<logic:iterate>标签的name属性指定需要进行遍历的集合对象
E.<logic:iterate>标签的length属性可以指定需要遍历的元素的数目
36. Validator框架提供了一系列的默认验证规则,以下哪些验证规则是默认的验证规则 ( ABCD )
A.maxLength验证规则
B. required验证规则
C.email验证规则
D.mask验证规则
37. 以下关于Session对象的方法说法正确的有 ( ABCDE )
A.sava()方法用来完成瞬态对象实例的持久化操作
B.update()方法根据对象实例的标识符来更新持久化对象实例所对应的数据
C.delete()方法的作用是删除该实例对象满足条件的所有的数据库的记录
D.contains()方法用于判断一个实体对象是否与当前的Session对象相关联
E.load()方法通过标识符得到指定类的持久化对象的实例
38. 在一对多关系的映射文件中,下列关于<set>元素的属性和子元素说法正确的是( ABCDE )
属性设定待映射的持久化类的属性名
B.casade属性当取值为“save-update”,表示级联保存和更新
C.casade属性当取值为“delete”,表示级联删除
D.<one-to-many>子元素设定所关联的持久化类
E.<key>子元素设定与所关联的持久化类对应的表的外键
39. Spring 框架是一个分层架构,由几个定义良好的模块组成,这几个模块分别是( ABCDE)
A.核心容器(Spring CorE.
B.配置文件(Spring Context)
C.面向方面的编程(Spring AOP)
D.JDBC DAO 抽象层,Spring MVC 框架
E.ORM 框架,Spring Web 模块
40. Spring的构造注入模式有哪些优势 (ABCDE)
A.在构造期即创建一个完整、合法的对象
B.避免了繁琐的setter方法的编写
C.没有setter方法,依赖关系在构造时由容器一次性设定
D.由于关联关系仅在构造函数中表达,只有组件创建者需要关心组件内部的依赖关系
E.可以在构造函数中决定依赖关系的注入顺序
三、判断对错
1.企业级应用就是大规模的应用,一般需要有事务管理、安全管理、线程管理等。

(√)
2.J2EE规范了服务器端应用系统的开发框架,其中最核心的思想就是分层和组件的思想。

(√)
3.Action是在读取配置时初始化。

不是在发出该action请求时进行初始化的。

( x )
4.Struts2默认的配置文件为struts.xml。

(√)
5.包的namespace属性用于定义该包的命名空间,命名空间作为访问该包下Action的路径的一部分。

(√)
6.Struts2默认使用.action后缀访问action,其实默认后缀是可以进行修改的。

(√)
7.在struts2中,如果系统的fieldErrors包含失败信息,struts2会将请求转发到名为input的result。

在input
视图中可以通过<s:fielderror/>显示失败信息。

(√)
8.当Struts2接受一个请求时,会迅速创建ActionContext,ValueStack,action 。

然后把action存放进ValueStack,
所以action的实例变量可以被OGNL访问。

(√)
9. Struts2与spring集成时,指定由spring负责action对象的创建的常量是<constant
name="struts.objectFactory" value="spring" />。

(√)
10.OGNL是Object Graphic Navigation Language(对象图导航语言)的缩写,它是一个开源项目。

Struts 2框
架使用EL作为默认的表达式语言。

( x )
11.懒加载也叫延迟加载,用lazy属性设置,默认为true,在第一次使用时加载;如果为false,则立即加载。

(√)
12.关于依赖注入的手工装配方式中,可使用@Autowired或@Resource注解方式进行装配,这两个注解的区别是:
@Autowired 默认按类型装配,@Resource默认按名称装配,当找不到与名称匹配的bean才会按类型装配。

(√)
13.ORM是对象关系映射。

(√)
14.Spring对JDBC和Hibernate都支持。

(√)
15.关于Spring与Hibernate结合时,不需要为每个持久化对象建立一个映射文件,能实现对象的添、删、改、查。

( x )
16.Configuration对象可以用来读取配置文件信息,可以用来创建SessionFactory对象,只能读取名字为hibernate.cfg.xml文件中的信息。

( x )
四、简答题
1.什么是J2EE?
答:J2EE是Java 2 Platform Enterprise Edition的首字母简写,意思是Java 2平台企业版,适于创建服务器端的大型应用软件和服务系统。

2.怎样实现Action的安全性编程?
答:注意不要用实例变量或者类变量共享只是针对某个请求的数据;注意资源操作的同步性。

3.搭建Struts2环境时,我们一般需要做以下几个步骤的工作:
答:1)找到开发Struts2应用需要使用到的jar文件;2)编写Struts2的配置文件;3)在web.xml中加入Struts2框架启动配置。

4.struts2中提供了多种结果类型,常用的类型有?
答:dispatcher(默认值)、 redirect 、 redirectAction 、 plainText。

5.Struts2的处理流程?
答:用户请求->StrutsPrepareAndExecuteFilter->Interceptor->Action->Result->Jsp/html->响应
6.Spring是什么?
答:Spring是一个开源的控制反转(Inversion of Control ,IoC)和面向切面(AOP)的容器框架.它的主要目得是简化企业开发.
7.控制反转?
答:所谓控制反转就是应用本身不负责依赖对象的创建及维护,依赖对象的创建及维护是由外部容器负责的。

这样
控制权就由应用转移到了外部容器,控制权的转移就是所谓反转。

8.依赖注入(Dependency Injection)?
答:所谓依赖注入就是指:在运行期,由外部容器动态地将依赖对象注入到组件中。

9.sort属性和order-by属性的区别?
答:sort:可对无序集合进行内存中排序,效率低。

order-by:数据库中排序
10.HQL( Hibernate Query Language.)特点?
答:1) 与SQL相似,SQL中的语法基本上都可以直接使用。

2)SQL查询的是表和表中的列;HQL查询的是对象与对象中的属性。

3) HQL的关键字不区分大小写,类名与属性名是区分大小写的。

4) SELECT可以省略.
11.简述什么是ORM?。

答:对象关系映射(Object Relational Mapping,简称ORM)是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术。

简单的说,ORM是通过使用描述对象和数据库之间映射的元数据,将java程序中的对象自动持久化到关系数据库中。

12.开发Struts 2程序最少需要的JAR。

答:Struts 2框架的核心类库;XWork类库;ognl;freemarker ;日志包;文件上传组件。

五、综合题
1.访问struts2中action的完整路径URL为:http://localhost:端口/内容路径/test/helloworld)。

请补全下列程序
2. 以下是基于注解方式声明切面的代码,请补全相关说明。

3.请合理补全下列配置信息
4. 以下程序的打印结果是什么?
答:打印true
5. 对于以下程序,Customer对象在第几行变为游离状态?
答:第line4
6.当多个action中都使用到了相同视图,这时我们应该把result定义为全局视图。

struts1中提供了全局forward,struts2中也提供了相似功能,请补完配置。

7.要访问other()方法,可以通过这样的URL访问:/test/helloworld_other.action ,请正确使用通配符定义action?
8. 从spring容器获取bean对象的代码如下:
9. 指定Bean的初始化方法和销毁方法
10.基本类型对象注入
11. 在java代码中使用@Autowired或@Resource注解方式进行装配。

但我们需要在xml配置文件中配置以下信息:
12. spring2.5为我们引入了组件自动扫描机制,可以在类路径底下寻找标注了@Component、@Service、
@Controller、@Repository注解的类,并把这些类纳入进spring容器中管理。

它的作用和在xml文件中使用bean 节点配置组件是一样的。

要使用自动扫描机制,我们需要打开以下配置信息:
<context:component-scan base-package="cn.dqsy"/>
其中base-package为需要扫描的包(含子包)。

@Service用于标注业务层组件、 @Controller用于标注控制层组件(如struts中的action)、@Repository用于标注数据访问组件,即DAO组件。

而@Component泛指组件,当组件不好归类的时候,我们可以使用这个注解进行标注。

13. AOP中的概念
14. 要进行AOP编程,首先我们要在spring的配置文件中引入aop命名空间,然后对于基于注解方式声明切面要启动对@AspectJ注解的支持。

相关文档
最新文档