SSH框架专业试卷摸版(2012.5.)

更新时间:2024-03-18 00:38:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

------

D.在struts2中超级链接通常都采用绝对路径,而不使用相对路径,黄淮学院信息工程学院2011-2012学年度第二学期 -- -------------------------------------------- -号----学---- -- -------------线-------------------------名----姓---- ---------------------封------------------级---班--、--业---专--- ------密-- -------------------------------系--院--- - -- - - - 期末考试《可视化编程技术》A卷

注意事项:本试卷适用于2009 级 计算机科学与技术、软件工程(本科)专业学生

使用。

题号 一 二 三 四 五 总分 核分人 得分 得 分 评卷人 一、单项选择题(在下列每题的四个选项中,只有一个选项是符合试题要求的。请把答案填入答题框中相 应的题号下。每小题2分,共30分)

题号 1 2 3 4 5 6 7 8 9 10 答案 题号 11 12 13 14 15 答案 1.下面哪个选项不属于MVC三个核心模块(C) A.模型 B.视图 C.数据库连接 D.控制器

2.在struts 实现的MVC框架中(A)类是包含了excute方法的控制器类,负责调用模型的方法,控制应用程序的流程 A.Action B.ajax C.actionservlet D.JSP 3.下列说法中错误的是(C)

A.使用通配符可以优化action的配置。

B.约定优于配置。约定的如果好,可以使action配置非常的简洁。 C.如果Action中存在多个方法时,只能使用method属性指定调用方法。

本试卷共 这样便于链接的实现。

4. 下列说法中错误的是(D)。

A.从值栈中取值value=“参数名”,参数名是action中的参数。 B.从actioncontext中取值#parameters.参数名,参数名是struts中的参数。

C.在客户端跳转时一次request只有一个valueStack。 D.在客户端跳转时一次request可以有多个valueStack。

5. Struts2标签中,( B)标签用于迭代输出集合中的元素,包括List、Set和数组。

A.bean B.iterator C.param D.i18n

6.如果需要在页面中输出某变量的值,则在Struts中采用( D)标签输出改变量的值。

A.param B.if C.bean D.property

7. Struts2的Action类中有多个方法时,可以使用标签的(C)属性来指定需要调用的方法。

A.name B.class C.method D.type

8.Hibernate是一个(A )框架,它对JDBC进行了轻量级的封装,通过此框架开发人员能以面向对象的思维方式来操作数据库。 A.ORM B.MVC C.IoC D.AOP 9.以下集合中不能直接取第一个元素的是(C )。 A.List B.map C.set D.Array

10.关于web.xml文件中配置欢迎文件清单,说法错误的是(B)。 A.使用元素配置欢迎清单。

B.只能配置一个欢迎文件。 C.可以配置多个欢迎文件。 D.web容器调用会依次寻找欢迎文件,直到找到为止。

11.在hibernate主配置文件(hibernate.cfc.xml)中,是通过( D)来配置 映射文件的。

A.元素 B.元素 C.元素 D.元素

页 第 页

12.Transaction接口主要是用于管理事务,它的哪个方法用于事务的提交(C )。

A.wasRollback()方法 B.isactive()方法 C.commit()方法 D.wacommitted()方法

13.如果要实现hibernate删除一个对象时,同时级联删除与其相关联的其他对象,cascade属性的值应该设置为(A )。 A.Delete B.true C.false D.none

14.( B )是Hibernate持久化操作的基础,提供了众多持久化方法,如save、update、delete等。通过这些方法,透明地完成对象的增加、删除、修改、查找等操作。

A.Session B.SessionFactory C.Transaction D.Query 15.在spring容器中如果想在方法执行之前执行某个功能,则使用的通知类型是( A)。

A.Before B.After C.AfterRunning D.AfterThrowing

得 分 评卷人 二、填空题(每题2分,共18分)

1.在实际应用中为了提高struts.xml文件的可读性,可以将一个struts.xml配置文件分解成多个配置文件,然后在struts.xml文件中包含其他配置文件,该标记是 。 2.如果将${}用在配置文件struts.xml中表示从 值栈 中读取数据。 3.假设在工程的SRC目录下存在两个资源文件:第一个用来存放中文编码,文件名为:s2012_zh_CN.properties,第二个存放英语(作为默认语言)编码,文件名为:s2012_en_US.properties。当使用上面的资源文件时需在struts.xml中配置常量加载全局资源文件:

5.Hibernate实体间通过关系来相互关联。其关联关系主要有 本试卷共

一对一关系、 一对多 关系和 多对多 关系3种。 6.Spring是一个以 IOC 和 AOP 为核心的轻量级容器框架。 7.若从Kcb中查询kch为\的详细信息,则执行的命令如下所示,请补充完整(前后代码略去)。

Query query=session.createQuery(\ query.setParameter( 0 , \

8.在spring中为List类型的对象注入数据时应当采用如下格式: value1

value2

9.为了使 JDBC 更加易于使用, Spring 在 JDBC API 上定义了一个抽象层, 以此建立一个 JDBC 存取框架。该抽象层是: 事务管理 。

10.现有一条语句

三、简答题(每题4分,共16分)

1.简述struts的工作原理。

1、客户端初始化一个指向Servlet容器的请求;2、这个请求经过一系列的过滤器。3、接着FilterDispatcher被调用,FilterDispatcher询问ActionMapper来决定这个请求是否需要调用某个Action;4、如果ActionMapper决定需要调用某个Action,FilterDispatcher把请求的处理交给ActionProxy;5、ActionProxy通过Configuration Manager询问框架的配置文件,找到需要调用的Action类;6、ActionProxy创建一个ActionInvocation的实例。7、ActionInvocation实例使用命名模式来调用,在调用Action的过程前后,涉及到相关拦截器(Intercepter)的调用。8、一旦Action

执行完毕,ActionInvocation负责根据struts.xml中的配置找到对应的返回结果。

页 第 页

2.在应用hibernate框架操作数据库时,是先建表还是先建类?为什么?

方式三:每个具体类一张表(union-subclass) ,保存是子类完整信息 在应用hibernate框架操作数据库时先建表。

因为在做项目时,首先都会进行数据分析,会形成数据字典。当数据字典出来以后,我们可以根据数据字典写sql语句建表,也可以根据这份数据字典写实体类或实体类映射文件,然后再生成数据表。通过表生产实体类这一过程叫做反向工程。所以在应用hibernate框架操作数据库时先建表,因为数据表通常都会在编码前设计好,相对较稳定,这样有利于程序员编码等后期工作。

纯理论是先建类后见表, 你的类建好后可以夸数据库建表,因为我们是面向对象编程,所有的起点都应该是面向对象,从面向对象开始,所以说纯理论是先类后表;

实际中先表后类要比先类后表的多,因为第一、没有hibernate时人们都习惯先表后类,这个习惯不好改了; 第二、建好数据库表后往往要对数据库表进行优化,比如说建索引、建中间表、建视图、建各种各样的优化,若用hibernate自动生成,针对数据库优化的这些内容hibernate是没法帮你生成的

3.关系数据库的表之间不存在继承关系,为了将面向对象中的继承关系映射关系数据库中,可以使用以下三种继承映射策略:每个继承层次一张表;每个具体类一张表;每个类一张表。试请分析三种策略在实际应用中各自的优缺点?

方式一:整个的继承体系就用一张表

优缺点:首先表中引入的区分子类的字段,也就是包括了描述其他字段的字段。其次,如果某个子类的某个属性不能为空,那么在数据库一级不能设置该字段not null(非空),维护起来方便,只需要修改一个表,灵活性差,表中冗余字段会随着子类的增多而越来越多,在任何情况下,都只需处理一个表,对于单个对象的持久话操作只需要处理一个表

方式二:每个子类一张表,存放子类所特有的属性

优缺点:这种设计方式完全符合关系模型的设计原则,且不存在冗余,

维护起来比较方便,对每个类的修改只需要修改其所对应的表,灵活性很好,完全是参照对象继承的方式进行配置,对于父类的查询需要使用左外链接,对于子类查询需要使用内链接,对于子类的持久话至少要处理两个表

本试卷共 优缺点:这种设计方式符合关系模型的设计原则,但有表中存在重复字段的问题。如果需要对基类进行修改,则需要对基类以及该类的子类所对应的所有表都进行修改,映射的灵活性很大,子类可以包括基类属性在内的每一个属性进行单独配置,对于子类的查询只需要访问单独的表,对父类查询怎需要检索所有的表,对于单个对象持久话操作只需要处理一个表 4.什么是ORM?它主要解决什么问题? 对象-关系映射(Object/Relation Mapping,简称ORM),mapping记录object与RDB(表)的映射关系;参照mapping,将object转换成sql语句,然后持久化到关系数据库中。 当开发一个应用程序的时候(不使用O/R Mapping),你可能会写不少数据访问层的代码,用来从数据库保存,删除,读取对象信息。使用ORM会为你生成DAL,对JDBC访问数据库的代码做了封装,大大简化了数据访问层繁琐的重复性代码。用O/R Mapping保存,删除,读取对象,O/R Mapping负责生成SQL,开发只需要关心对象就好。主要解决把对象持久化到数据库中。 1. JDBC操作数据库很繁琐 2. Sql语句编写并不是面向对象的 3. 可以在对象和关系表之间建立关联来简化编程 4. O/R Mapping简化编程 5. O/R Mapping跨越数据库平台 得 分 评卷人 四、程序分析题(每题4分,共20分) 1.在struts的标签库中有个if标签,请在代码下方写出该程序段的功能。 ? 成年人!
页 第 页

获取值栈中参数age的第一个值,设置给变量age然后做条件判断,

当age小于0就在页面上输出“输入的年龄错误!”,当age的值在0-18之间就在页面上输出“未成年”,剩余的其它情况在页面上输出”成年人!”.

2.

得 分 评卷人

五、设计题(每题13分,共13分)

1. 2.

本试卷共

页 第 页

本文来源:https://www.bwwdw.com/article/ikf8.html

Top