《基于SSH框架JAVA企业应用》复习题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《基于SSH框架JA V A企业应用》复习题
一、填空
1、现阶段在JA V A WEB开发中的开源框架很多,其中最主流的当属SSH,即Struts,Spring 和( Hibernate )。
2、( ActionServlet )从Struts配置文件中读取数据并初始化Struts应用程序的配置。
3、请求是在RequestProcessor类的( process() )方法中进行处理的。
4、Action的( execute() )方法用于处理请求。
5、( ActionForward )类告诉ActionServlet类有关动作链中的下一个动作。
6、Struts框架中的视图主要由( JSP页面)构成。
7、ActionForm的两种存在范围是:Request和( session )。
8、能在Struts配置文件中配置而不必创建类的Form是( DynaActionForm )。
9、Struts框架由很多java类构成,这些类分成( 8 )个核心包。
10、( validator )框架允许为Struts应用灵活的配置验证规则,无需编程。
11、Hibernate是一个基于JDBC的( 持久化)解决方案,是一个优秀的( 对象-关系映射)框架。
二、选择
1.下面哪个是Struts控制器(A )
A.AvtionServlet
B.Action
C.ActionFrom
D.Struts-Config.xml
2.Struts控制器是根据( A)将请求转发给相应的Action处理.
A.Struts-config.xml
B.applicationResourse.properties
C.通过参数指定
D.以上都是
3.将中文转码的命令是( C )
A.java
B.javac
C.native2ascii
D.jar
4.Action类的execute方法代码如下,从前台页面访问当前Action的效果是( C).
Public ActionForward execute(ActionMapping mapping,ActionForm form,HttpServletRequest request,HttpServletResponse response){LoginForm loginForm=(LoginForm)form; return null;} A.500错误 B.404错误 C.空白页 D.空指针异常
5.关于Action的说法,下列正确的是( C )
A.Struts的Action类必须实现Acrion接口
B.Struts的ActionServlet必须继承Action类
C.Action类中必须要重写一个execute方法
D.Action类中不一定要重写一个execute方法
6.关于RequestProcessor说法,正确的是( A )
A.RequestProcessor在控制层真正处理请求的
B.由RequestProcessor接收所有.do的请求
C.RequestProcessor也要实现execute方法
D.RequestProcessor可以用来充当Action
7.要通过RequestProcessor扩展Struts框架,最好覆盖那个方法( A )
A.processPreprocess
B.process
C.processMapping
D.processNoCache
8.关于DispatchAction说法正确的是( A )
A.DispatchAction能减少Action的数量
B.DispatchAction的方法可以有任意类型的返回值
C.DispatchAction也要实现execute方法
D.DispatchAction的方法中只能有一个
9.DispatchAction在配置文件中指定参数的属性是(B )
A.scope
B.parameter
D.path
10.在Struts中显示错误提示信息,提示信息写在(B )
A.资源文件中
B.配置文件Struts-Config.xml
C.普通的文本文件中
D.以上都可以
11.在ActionForm中,(A )方法用来验证
A.validate
B.reset
C.execute
D.test
12.下列说法正确的是( A )
A.reset方法先于validate方法调用
B.validate方法先于reset方法调用
C.reset方法返回类型是boolean
D.validate方法返回类型是boolean
13.ActionForm的声明周期是(BC )(选两项)
A.page
B.request
C.session
D.application
14.关于动态ActionForm说法错误的是( D )
A.使用动态ActionForm能减少类的数量
B.动态ActionForm的属性通过动态ActionForm的get方法获取
C.动态ActionForm的属性不能为基本类型,必须为基本类型的包装类
D.动态ActionForm的验证同样要实现validate方法
15.DynaActionForm基类提供了(D )方法,它把表单的所有所有属性恢复为默认值.
A.validate
B.reset
C.execute
D.initialize
16.StrutsBean的( A )标签将检索Web应用程序资源的结果.
A.define
B.include
C.message
D.page
17.StrutsBean 的( B )标签从已定义的资源包中检索带有键的值.
A.define
B.message
C.parameter
D.write
18. ( A )标签检查Cookie、header、name、parameter或property属性之一指定的变量是否大于value属性指定的常量值.
A.greaterThan
B.greaterEqual
C.greater
D.greatEqual
19.( C )标签检查Cookie、header、name、parameter或property属性之一指定的变量是否在应用的范围内.
A.messagesPresent
B.messagesNotPresent
C.present
D.notPresent
20. ( A )标签检查Cookie、header、name、parameter或property属性之一指定的变量是否包含指定的常量值.
A.match
B.noMatch
C.messagesPresent
D.messageNotPresent
21.(B)充当缓冲区存放用户输入的数据的状态。
A.ActionForward B.ActionForm
C.ActionServlet D.ActionClass
22.(C)包括应用程序可以使用域扩展的Action类。
A.Config B.Upload
C.Actions D.Util
23.如果要使用Validator框架,应该采用ActionForm类的两个子类:(B)和(C)。
A.ActionClass B.DynaValidatorForm C.ValidatorForm D.ActionValidatorForm
24.(C)jar包能够插入模式匹配引擎。
A.File Upload B.Logging
C.Digester D.Validator
25.在应用程序启动时,将调用Plugin接口的(C)方法。
A.start() B.create()
C.init() D.initialize()
26.下面不属于持久化的时(D)
A.把程序数据保存为文件。
B.从XML配置文件中读取文件的信息。
C.把程序数据从数据库中读取出来。
D.把对象转换为字符串的形式通过网络传输,在另一端接收到这个字符串后能把对象还原出来。
27.下面(A)不属于关系-对象映射的映射信息。
A.程序包名到数据库库名的映射。
B.程序类名到数据库表名的映射。
C.实体属性名到数据库表字段的映射。
D.实体属性类型到数据库表字段类型的映射。
28.下面(AB)不是Hibernate映射文件中包括的内容(选两项)。
A.数据库连接信息。
B.Hibernate属性参数。
C.主键生成策略。
D.属性数据类型。
29.下列关于Hibernate说法正确的时(A)
A.Hibernate是对JDBC轻量级的封装。
B.Hibernate需要服务器的运行环境上运行。
C.Hibernate是EJB的扩展。
D.Hibernate的主配置文件只能是Hibernate.cfg.xml。
30下面关于Hibernate的说法,错误的时(C)
A.Hibernate是一个“对象-关系映射”的实现。
B.Hibernate是一种数据持久化技术。
C.Hibernate是JDBC的替代技术。
D.使用Hibernate可以简化持久化曾的编码。
31.Hibernate配置文件中,不包括下面的(AB)
A.“对象-关系映射”信息。
B.实体间关联的配置。
C.show_sql等参数的配置。
D.数据库连接信息。
32.在Hibernate关系映射配置中,inverse属性的含义是(B)
A.定义在<one-to-many>节点上,声明要负责关联的维护。
B.声明在<set>节点上,声明要对方要负责关联的维护。
C.定义在<one-to-many>节点上,声明对方要负责关联的维护。
D.声明在<set>节点上,声明要负责关联的维护。
33.在使用了Hibernate的系统中,要想删除某个客户数据的同时删除该客户对应的所有订单数据,下面方法可行的是(B)
A.配置客户和订单关联的cascade属性为save-update。
B.配置客户和订单关联的cascade属性为all。
C.设置多对一关联的inverse属性为true。
D.设置多对一关联的inverse属性为false。
A.inverse属性不可以设置为false。
B.cascade属性不可以设置为true。
C.class=”com.x.entity.Order”应为type=”com.x..entity.Order”。
D.column属性不可再<one-to-many>节点内设置。
35.下列属于多对一关系的时(AB)
A.书和作者。
B.手机和生产厂家。
C.用户和发布的出租信息。
D.公民和身份证。
36.已知系统中USER表对应的实体类是TUser,下列HQL语句中正确的是(CD)A.from User。
B.select 4 from tuser。
C.select TUser from TUser。
D.from TUser t where t.uname=“15”。
A.Object[] arr=(Object[])query.list().iterator().next();
System.out.println(arr[0]);
B.TblUser user=(TblUser)query.list().get(0);
System.out.println(user,getUname());
C.String uname=(String)query/list().get(0).get(0);
System.out.println(uname);
D.String uname=(String)query.list().get(0)[0];
System.out.println(uname);
A.第一行中的命名参数“@status”应该是“:status”
B.第二行createQuery函数应该传入hql作为参数
C.第三行命名参数名称“:status”应该是“status”
D.第四行应该是“return query/list(hql);”
A.返回分数最高的5个学生
B.返回分数最高的6个学生
C.返回分数最低的5个学生
D.返回分数最低的6个学生
A.查询所有学生的平均分
B.查询得分大于平均分的学生的成绩
C.查询得分最高的学生
D.查询得分大于平均分的学生
三、简答
1、什么是框架?在J2EE开发中为什么要使用框架?
框架指的是再建造房屋前期构建的建筑骨架,从软件开发的角度来讲框架是一个应用程序的半成品,框架提供了可在应用程序之间共享的可复用的公共结构。
1.不用再考虑公共问题,框架已经帮我们做好了。
2.可以专心在业务逻辑上,保证核心业务逻辑的开发质量。
3.结构统一,便于维护。
4.框架中集成了前人的经验,可以帮助“新手”写出稳健性能优良而且结构优美的高质量程序。
2、简述Struts的几种验证方式。
1.ActionForm的表单验证
首先定义org.apache.struts.action.ActionForm类的子类,并且在子类中主要包含和用户表单数据同名的属性以及相应的存取方法(属性的get方法和set方法)。
再次,可以根据需要重写父类的reset()和validate()方法,实现属性的重置和表单数据验证功能。
2.Validator验证框架
Validator框架主要依赖于两个JAR文件:Jakarta-oro.jar和commons-validator.jar,还采用两个基于XML的配置文件来配置验证规则。
一个是validator-rules,另一个是validation.xml,这两个文件应该部署在对应Web应用中的WEB-INF文件下。
3.生成客户端验证脚本
4.自定义验证规则
(1)创建自定义验证规则描述文件
(2)创建自定义验证规则实现类
(3)修改validation.xml文件加入验证配置
(4)修改资源包文件ApplicationResources.properties
(5)修改struts-config.xml
3、简述Struts框架的处理流程。
Struts通过以下四个核心组件来控制和处理客户请求的
1.Struts ActionServlet
ActionServlet继承自javax.servlet.http.HttpServlet类,其在Struts体系结构中扮演的角色是控制器,控制器ActionServlet主要负责将HTTP的客户请求信息组装后,根据配置文件的指定描述,转发到适当的处理器。
2.Struts Action Classes
一个Action类的角色,就像客户请求动作和业务逻辑处理之间的一个适配器,其功能就是将请求与业务逻辑分开。
这样的分离,使得客户请求和Action类之间可以有多个点对点的映射。
3.Struts ActionMapping
将特定请求映射到特定Action的相关信息储存在ActionMapping中,ActionServlet将ActionMapping传送到Action类的perform()方法,Action将使用ActionMapping的findForward()方法,此方法返回一个指定名称的ActionForward,这样Action就完成了本地转发。
4.Struts ActionForm Bean
一个应用系统的消息转移的非持久性数据储存,是由ActionForm Bean负责保持的。
ActionForm的主要功能就是为Action的操作提供与客户表单相映射得数据
4、使用Hibernate前需要做好哪三个方面的准备?
1.需要的jar包
2.Hibernate配置文件
3.实体类和映射文件
5、简述使用Hibernate完成持久化操作的步骤。
1.读取并解析配置文件(configuration conf=new configuration().configure();)
2.读取并解析映射信息,创建SessionFactory(SessionFactory sf=conf.buildSessionFactory())
3.打开session(Session session=sf.openSession())
4.开始一个事务(增删改操作必须,查询操作可选)(tx=session.beginTransaction())
5.持久化操作(session.save(account))
6.提交事务(mit())
7.关闭session(session.close())。