struts2复习题(含答案)
Struts2复习题
1.以下属于struts2的控制器组件是:
A.Action
B.ActionForm
C.ActionServlet
D.dispatchAction
2.以下属于struts2的体系结构的是:(多选)
A.struts2控制器组件
B.struts2配置文件
C.FilterDispathcer
D.Action
3.以下属于struts2配置文件中的配置元素是:(多选)
A.
B.
C.
D.
4.关于struts1和struts2对比的说法正确的是:
A.struts1要求Action类继承struts1框架中的Action父类,struts2中则不一定需要继承,可以是POJO类
B.struts1中的Action不是线程安全的,而struts2中的Action是线程安全的
C.struts1和struts2中都使用ActionForm对象封装用户的请求数据
D.struts1使用OGNL表达式语言来支持页面效果,struts2通过ValueStack技术使标签库访问值
5.以下关于ValueStack说法正确的是:(多选)
A.每个Action对象实例拥有一个ValueStack对象
B.每个Action对象实例拥有多个ValueStack对象
C.Action中封装了需要传入下一个页面的值,这些值封装在ValueStack对象中
D.ValueStack会在请求开始时被创建,请求结束时消亡
6.关于struts2配置文件说法正确的是:
A.必须在WEB-INF/classes目录下
B.名字必须为struts.xml
C.配置Action时,必须配置包信息
D.使用
7.在struts2配置中用()元素来配置常量:
A.
B.
C.
D.
8.关于struts2包的说法正确的是:
A.struts2框架使用包来管理常量
B.struts2框架定义包时必须指定name属性
C.struts2框架中配置包时,必须继承自struts-default包,否则会报错
D.struts2框架中使用包来管理Action
9.struts2中获取Servlet API的方法正确的是:(多选)
A.使用ActionContext对象以解耦合的方法访问Servlet API
B.使用ServletActionContext对象以解耦合的方式访问Servlet API
C.使用ActionContext对象以耦合的方式访问Servlet API
D.使用ServletActionContext对象以耦合的方式访问Servlet API
10.struts2动态调用的格式为:
A.ActionName?methodName.action
B.ActionName! methodName.action
C.ActionName*methodName.action
D.ActionName@mathodName.action
11.如果要实现struts2的数据校验功能
A.普通Action类可以实现
B.继承自Action接口可以实现
C.继承自ActionSupport类可以实现
D.继承自ActionValidate类可以实现
12.如果要实现自定义处理结果,需继承那个类
A.Dispathcer
B.StrutsResultSupport
C.Support
D.Action
13.实现动态返回结果,在配置
A.${属性名}
B.@{属性名}
C.${'属性名'}
D.${"属性名"}
14.用于实现国际化的struts2标签是:
A.
B.
C.
D.
15.struts2默认的处理结果类型是:
A.dispatcher
B.redirect
C.chain
D.forward
16.自定义转换器继承的抽象类是:
A.Converter
B.TypeConverter
C.StrutsTypeConverter
D.converts
17.自定义转换器的注册方式有:
A.只有全局注册方式
B.只有局部注册方式
C.只有全局和局部注册方式
D.以上说法都不对
18.自定义拦截器类的方式有:(多选)
A.实现Interceptor接口
B.实现AbstractInterceptor接口
C.继承Interceptor类
D.继承AbstractInterceptor类
19.在struts.xml文件中,使用()元素定义拦截器
A.
B.
C.
D.
20.在OGNL中?操作符的作用是:
A.取出符合选择逻辑的第一个元素
B.取出符合选择逻辑的最后一个元素
C.取出符合选择逻辑的所有元素
D.以上说法都不对
21.以下属于struts2标签的是:(多选)
A.Ajax标签
B.数据访问标签
C.logic标签
D.bean标签
22.以下哪个标签是struts2中的用于循环迭代:
A.
B.
C.
D.
23.Struts2主要核心功能是由()实现
a)过滤器
b)拦截器
c)类型转换器
d)配置文件
24.Struts中的ActionServlet属于MVC模式()
a)视图
b)模型
c)控制器
d)业务层
25.Struts2框架由()和()框架发展而来的【选择二项】
a)Hibernate
b)Struts
c)Spring
d)WebWork
26.Struts2以(B)为核心,采用()的机制处理用户请求
a)Struts
b)WebWork
c)拦截器
d)jar包
27.struts2中,不属于Action接口中定义的字符串常量的是()
a)SUCCESS
b)FAILURE
c)ERROR
d)INPUT
28.struts2在控制器类中一般需要添加相应属性的()和()【选择二项】
a)setter方法
b)as方法
c)getter方法
d)is方法
29.struts2控制器需要在()配置文件中进行配置
a)web.xml
b)struts.xml
c)application.porperties
d)webwork.xml
30.不属于struts2标签库的是()
a)
b)
c)
d)
31.在JSP页面中可以通过Struts2提供的()标签来输出国际化信息
a)
b)
c)
d)
32.资源文件的后缀名为()
a)txt
b)doc
c)property
d)properties
33.struts2自定义类型转换器必须实现的接口是()
a) Convert
b) TypeConverter
c) StrutsTypeConverter
d) StrutsConvert
34.struts2关于注册全局类型转换器的说法正确的是()【选择二项】
a) 必须提供xwork-conversion.properties文件
b) 注册文件的格式为:复合类型=对应类型转换器
c) 注册文件的格式为:对应类型转换器=复合类型
d) 以上说法都不正确
35.struts2自定义拦截器中的“return invocation.invoke”代码表示()【选择二项】
a) 不执行目标Action的方法,直接返回
b) 执行目标Action的方法,直接返回逻辑视图名称
c) 在自定义拦截器中,该代码是必需的
d) 在自定义拦截器中,该代码是可选的
36.struts2中,以下配置文件上传拦截器只允许上传bmp图片文件的代码,正确的是()
a) image/bmp
b) *.bmp
c) bmp
d) image/*.bmp
37.以下关于OGNL的说法正确的是()【选择二项】
a) ActionContext是OGNL的上下文环境
b) StackContext是OGNL的上下文环境
c) ValueStack是OGNL的根
d) ActionContext是OGNL的根
38.假设在Session中存在名为uid属性,通过OGNL访问该属性,正确的代码是()
a) #uid
b) #session.uid
c) uid
d) ${session.uid}
39.关于“#session.persions.{? #this.age>20}”OGNL代码所表示的意义说法正确的是()
a) 从persons集合中取出第一个年龄>20的Person对象
b) 从persons集合中取出所有年龄>20的Person对象子集
c) 从persons集合中取出最后一个年龄>20的Person对象
d) 该代码不符合OGNL的语法
40.假设在某JSP页面中存在”
a) 编译JSP页面时会出现错误
b) 编译JSP页面时不会出现错误,但页面不会显示任何内容
c) 该代码用于输出位于ValueStack(值栈)栈顶的对象
d) 以上说法都不正确
41.struts2默认的处理结果类型是()
a) dispatcher
b) redirect
c) chain
d) 以上说法都不正确
42.下列选项中,关于Struts2配置文件说法正确的是()
a) 必须置于WEB-INF/classes目录下
b) 必须为Struts.xml
c) 配置Action时必须配置包信息
d) 使用
43.下列选项中,关于Struts2的Action说法正确的是()【选择二项】
a) struts2会为每一个请求创建一个对应的Action实例
b) struts2在请求处理过程中,只有一个Action实例
c) struts2通过属性来封装用户请求参数
d) 在struts2中定义的属性都用于封装用户请求参数
44.struts2中动态方法调用的格式为()
a) ActionName_methodName.do
b) ActionName!methodName.do
c) ActionName_methodName.action
d) ActionName!methodName.action
问答题:MVC是什么含义?
SCME_STRUTS2试卷
--------------------------------------装--------------------------------------订------------------------------线---------------------------------------- **学院课程考试试卷 课程名称:《使用Struts2开发基于MVC设计模式的企业级应用》(A)卷 年级:班级: 姓名:_______________ 学号:_________________ 考试(考查) 闭卷 选择题(每题2分,共计100分) 1.在控制器类中一般需要添加相应属性的( A )和(C )。(选两项) A.setter方法 B.as方法 C.getter方法 D.is方法 2.业务控制器需要在( B )配置文件中进行配置 A.web.xml B.struts.xml C.struts2.xml D.webwork.xml 3.不属于Struts 2表单标签库的是( D )。 A.
Java工程师面试题(三大框架)
Java工程师(程序员)面试题 Struts,Spring,Hibernate三大框架的面试 1.Hibernate工作原理及为什么要用? 原理:1.读取并解析配置文件2.读取并解析映射信息,创建SessionFactory 3.打开Session 4.创建事务Transation 5.持久化操作6.提交事务7.关闭Session 8.关闭SesstionFactory 为什么要用:1. 对JDBC访问数据库的代码做了封装,大大简化了数据访问层繁琐的重复性代码。 2. Hibernate是一个基于JDBC的主流持久化框架,是一个优秀的ORM实现。他很大程度的简化DAO层的编码工作 3. hibernate使用Java反射机制,而不是字节码增强程序来实现透明性。 4. hibernate的性能非常好,因为它是个轻量级框架。映射的灵活性很出色。它支持各种关系数据库,从一对一到多对多的各种复杂关系。 2.Hibernate是如何延迟加载? 1. Hibernate2延迟加载实现:a)实体对象b)集合(Collection) 2. Hibernate3 提供了属性的延迟加载功能当Hibernate在查询数据的时候,数据并没有存在与内存中,当程序真正对数据的操作时,对象才存在与内存中,就实现了延迟加载,他节省了服务器的内存开销,从而提高了服务器的性能。 3.Hibernate中怎样实现类之间的关系?(如:一对多、多对多的关系) 类与类之间的关系主要体现在表与表之间的关系进行操作,它们都市对对象进行操作,我们程序中把所有的表与类都映射在一起,它们通过配置文件中的many-to-one、one-to-many、many-to-many 4.Struts1流程: 1、客户端浏览器发出HTTP请求。 2、根据web.xml配置,该请求被ActionServlet接收。 3、根据struts-config.xml配置,ActionServlet先将请求中的参数填充到ActionForm中,然后ActionServlet再将请求发送到Action 进行处理。 4、是否验证,需要验证则调用ActionForm 的validate方法,验证失败则跳转到input,成功则继续。 5、Action从ActionForm获得数据,调用javabean 中的业务方法处理数据。 6、Action返回ActionForward对象,跳转到相应JSP 页面或Action。 7、返回HTTP响应到客户端浏览器。 MVC设计模式:modal:“模型”也称业务逻辑,是正真完成任务的代码,相当与JavaBeanview:视图,其实就是显示界面,相当于JSPcontroller:控制器,他控制模型和视图的交互过程,相当于servletstruts1是基于MVC设计模式hibernate是基于ORM对象关系映射 5.struts是什么? struts1是基于JSP和servlet的一个开源的Web应用框架,使用的是MVC的设计模式struts2是基于webwork技术的框架,是sun和webwork公司联手开发的一个功能非常齐全的框架,struts2和struts1没有任何关系,是一个全新的框架 6.spring是什么? spring是一个集成了许多第三方框架的大杂烩,其核心技术是IOC(控制反转,也称依赖注
Struts2框架工作原理及应用体会
2012年第11卷第6期 产业与科技论坛2012.(11).6 Industrial &Science Tribune Struts2框架工作原理及应用体会 □宋 君 张家爱 【摘要】通过针对特定用户的分析,搭建以Struts2为技术核心的旅行社管理系统。本文简单的介绍了MVC 、 Struts2的工作原理,同时总结了在项目制作过程中所得到的心得。 【关键词】 Struts2;MVC ;FilterDispatcher ;Action 【基金项目】本文为大学生科技创新院级基金项目(编号:2011070)成果 【作者单位】宋君,吉林农业科技学院信息工程学院;张家爱,吉林农业科技学院信息工程学院教师 本着锻炼自我与积极参与到实用性技术的目标,以发掘自身创新意识为前提。利用空闲时间,在老师的指导下,进行了一次大学生创新项目的实践性活动。本着实用原则,以某中小旅行社为客户(根据用户需求,匿名),以Struts2框架为基点,进行了一次旅行社管理系统的开发。在项目结束之余, 特将在项目过程中经历的种种认识进行了简单的总结,希望让阅读本文的朋友们,更多的参与到此类活动中。 一、基础思想— ——MVC 简述作为时下经典框架之一, MVC 具有其独特的价值。MVC 框架简单的说,就是将数据模型与用户视图进行分离。通过控制器进行协调处理的一种结构是框架。同时,也是本文中要讨论的Sturts2框架的基础思想。 M 是指模型层(Model ),V 是指用户视图(View ),C 则是指控制器 (Controller )。这种划分方式是以将模型层与视图层进行代码分离,从而降低两者之间的耦合性,使同一程序可以使用不同形式进行表现。不同层之间的修改不会或尽量少的印象到其他层功能的史前为前提。有效的提高的代码的维护性和设计难度。 图1 二、 Struts2工作原理(一)Struts2框架组成。Struts2框架由三个主要部分组成:核心控制器、业务控制器,以及由用户实现的业务逻辑组件。这里我们将侧重于核心控制器与业务控制器的理解与说明。 (二)核心控制器:FilterDispatcher 。FilterDispatcher 是Struts2框架的核心控制器,在此,我们可以将FilterDispatcher 看作一个类似于过滤网的过滤器。当用户发出请求,并到达Web 硬哟那种时,该过滤器会过滤用户请求。如果用户请求的结尾为action ,则将该请求转入Struts2框架进行处理。当Struts2框架获得了*.actio 请求后,会根据请求前面“*”的那部分内容,决定调用哪个业务逻辑组件作为响应单位。这里需要说明的是Struts2用来处理用户请求的Action 实例并不是业务控制器,而是作为Action 的代理———正因为Struts2的一大特点,与Servlet API 的非耦合性,使得用户实现的业务控制器无法直接处理用户请求。有效的提高了后期调试维护的效率。而Struts2框架再次提供了了一系列的拦截器。这些拦截器负责将HttpServletRequest 请求的参数解析出来,传入Action 中,并毁掉Action 的Execute 方法来处理用户请求。用户实现的Action 类仅作为Struts2的Action 代理的代理目标。用户实现的业务控制器则包含了对用户请求的处理。用户的请求数据包含在HttpServletRequest 对象中,而用户的Action 类无需访问HttpServletRequest 对象。拦截器负责将HttpServletRequest 里的请求数据解析出来,并传给业务逻辑组件Action 实例。 (三)业务控制器。业务控制器就是前文提到的用来实现用户Action 的实力,这里的每个Action 类通常包含有一个execute 方法,当业务控制器处理完用户的请求后,该方法将会针对此次处理返回一个字符串— ——该字符串就是一个逻辑树图名。当程序开发人员开发出系统所需要的业务控制器后,还需要针对性的配置Struts2的Action ,即需要配置Ac- tion 的以下三个部分:(1)Action 所处理的URl 。(2)Action 组件所对应的实现类。(3)Action 里包含的逻辑试图和物理资源之间的对应关系。每个Action 都要处理一个用户请求,而用户请求则总是包含有指定的URL 。当核心控制器过滤用户请求,并调用后,根据请求的URL 和Action 处理URL 之间的对应关系来处理转发。 · 342·
Struts2练习题说课讲解
Struts 2作业 1.简述什么是MVC? 答:MVC 的全称为model-view-controller(模型-视图-控制器)。MVC 是一种开发应用程序的模式,这个模式已经具有了很好的框架架构,并且十分容易维护。使用MVC 开发出来的应用程序一般包括以下几块内容:·控制器(Controller):控制器类处理客户端向Web 应用程序发出的请求,获取数据,并指定返回给客户端,用来显示处理结果的视图。·模型(Model):模型类代表了应用程序的数据,这些数据通常具有一个数据验证逻辑,用来使得这些数据必须符合业务逻辑。·视图(View):视图类是Web 应用程序中用来生成并显示HTML 格式的服务器端对客户端请求的响应结果的模板文件 2.Struts 2以(WebWork)为核心,采用(拦截器)的机制来处理用户的 请求。 3.简述一个请求在Struts 2框架中的处理流程,请按自己对框架的理解叙述。答:1-用户提交自己的请求;2-由web.xml拦截,转发到action进行处理;3- Struts.xml根据相应的action配置,调用相应的方法来处理,并根据结果转发到不同的页面。 4.不属于Action接口中定义的字符串常量是( B )? A)SUCCESS B)FAILURE C)ERROR D)INPUT 5.资源文件的后缀名为(D)? A)txt B)doc C)property D)properties 6.在JSP页面中可以通过Struts 2提供的(D)标签来输出国际化信息。 A)
struts2复习题(含答案)
Struts2复习题 1. 以下属于struts2 的控制器组件是: A. Action B.ActionForm C.ActionServlet D.dispatchAction 2. 以下属于struts2 的体系结构的是:(多选) A. struts2 控制器组件 B.struts2 配置文件 C.FilterDispathcer D.Action 3. 以下属于struts2 配置文件中的配置元素是:(多选) A.
JAVA框架面试题汇总
1.SpringMVC Framework的理解: 1、它是基于组件技术的.全部的应用对象,无论控制器和视图,还是业务对象之类的都是java组件。并且和Spring提供的其他基础结构紧密集成 2、不依赖于Servlet API(目标虽是如此,但是在实现的时候确实是依赖于Servlet的) 3、可以任意使用各种视图技术,而不仅仅局限于JSP 4、支持各种请求资源的映射策略 5、它应是易于扩展的 2.简单的谈一下SpringMVC的工作流程? 流程? 1、用户发送请求至前端控制器DispatcherServlet? 2、DispatcherServlet收到请求调用HandlerMapping处理器映射器。? 3、处理器映射器找到具体的处理器,生成处理器对象及处理器拦截器(如果有则生成)一并返回给DispatcherServlet。? 4、DispatcherServlet调用HandlerAdapter处理器适配器? 5、HandlerAdapter经过适配调用具体的处理器(Controller,也叫后端控制器)。? 6、Controller执行完成返回ModelAndView? 7、HandlerAdapter将controller执行结果ModelAndView返回给DispatcherServlet? 8、DispatcherServlet将ModelAndView传给ViewReslover视图解析器? 9、ViewReslover解析后返回具体View? 10、DispatcherServlet根据View进行渲染视图(即将模型数据填充至视图中)。? 11、DispatcherServlet响应用户 3.如何解决POST请求中文乱码问题,GET的又如何处理呢? 在web.xml中加入: .
struts2复习模拟题.doc
填空: 1.Struts 2以_过滤器_为核心,采用_矜截器_的机制来处理用户的请求。 2.构逮Struts 2应用的最基础的几个类库是_struts2-core_、_commons-logging_、 _xwork-core_^ _freamarker _____ 以及_ognl_。 3.Struts 2屮的控制器类是一个普通的_POjO_。 4.如果要在jSP页面屮使川Struts 2提供的标签库,酋先必须在页面屮使川taglib编译指令导入标签库?,其中taglib 编译指令力_<%@ taglib prefix=”s” uri=”strut-tags”%> _________ 。 5 .在Struts 2表华标签序?中,表単标签为__
华为外包java面试题
SSH篇(后台) 一、SSH概述 1.1 SSH的含义 当前J2EE企业级应用分为三层:表现层-业务层-数据源层,而SSH代表了每一层的具体实现,它是三种流行的开源框架的缩写,S-Struts,S-Spring,H-Hibernate。这三者的组合是当前J2EE开发的标准模式,也代表了J2EE正在朝着简化复杂性,轻量化方向发展,最新J2EE 6已证明了这种趋势。 1.2 J2EE开发模式的演变 J2EE应用一直采用三层加构,即表现层-业务层-数据源层。 旧石器时代:J2EE应用采用表现层-远程EJB-实体EJB(或JDBC),这是最为正宗也是最复杂的J2EE开发,适用于银行等小部分项目;随后由于微软.NET的兴起以及其对J2EE的挑战,正宗的J2EE出现了一个变种:表现层-本地EJB-Ibatis,在这种模型中业务层选择了本地EJB,同时数据源层也改为Ibatis,这种模式极大的提高性能,华为大部分项目采用这种构架。在这两种架构中,由于采用了EJB组件模型,从而依赖于EJB容器,而EJB容器以一种全无或全有的方式提供服务,同时业务实现也受制于容器。这种开发模式导致了以下复杂性:依赖于应用服务器,不可移植,开发困难,无法在容器外测试,部署复杂,效率低下。 新石器时代:在新石器时代依然采用了三层加构,只是抛弃了EJB,而采用了Spring等轻量级容器,同时持久化由全自动的Hibernate承担。在这种架构中,由于放弃了EJB,放弃了全功能的应用服务器,在节省了软件许可费用的同时也大大提高了软件开发效率。由于web服务器的可移植也好于应用服务器,从而使得J2EE应用可顺利移植。
struts2标签使用实例
Struts2中数据标签使用示例 S truts2提供了大量丰富的标签供使用,它不再像S truts1中一样,将种类标签进行分门列别,但可以根据其使用的用途用以区别。本文通过对S truts2中数据标签的学习,来对S truts2中标签的学习起到一个抛砖引玉的作用。 文中将介绍Action标签、Bean标签、Data标签、Include标签、P aram标签、Set标签、T ext标签、P roperty 标签等标签。 代码下载:https://www.360docs.net/doc/2613363597.html,/y1ps2Mjpc3NiLKuetMOpCsZOOypD6KSdo8-46Zy2wpoMcABeo4vOC NJXtWDEO93-TXgZogwAF YxSOni5BEG2EoN65OFwHdG71v-/St ruts2DataTags.rar?download 一、