文档库 最新最全的文档下载
当前位置:文档库 › Struts2试题

Struts2试题

Struts2试题
Struts2试题

Struts2试题

1.struts2的执行流程?

客户端提交一个HttpServletRequest请求(action或JSP页面)

请求被提交到一系列Filter过滤器,如ActionCleanUp和FiterDispatcher等

FilterDispatcher是Struts2控制器的核心,它通常是过滤器链中的最后一个过滤器询问ActionMapper是否需要调用某个action来处理

如果ActonMapper据诶的那个需要调用某个A传统,FilterDispatcher则把请求教到ActionProxy,由其进行处理

ActionProxy通过Configuration Manager询问框架配置文件,找到需要调用的Action类ActionProxy创建一个ActionInvocation实例,而ActionInvocation通过代理模式调用action Action执行完毕后,返回一个result字符串,此时再按相反的顺序通过Interceptor拦截器最后ActionInvocation负责根据struts配置文件中配置的result元素,找到与返回值对应的result

2.struts2的web里需要配置什么?

1.

2.

3.struts2

4.

5.org.apache.struts2.dispatcher.FilterDispatcher

6.

7.

8.

9.

10.struts2

11./*

12.

3.struts.xml文件哪个常量可以实现不用重新启动服务就可以得到反馈?

4.struts中的package的作用是什么?namespace可以为空吗?如果namespace为空会意味着什么呢?

标识

可以、

Timmer

如果没写,说明该包为默认空间只要敲index没有精确对应的package都交给namespackage 如果还没有就崩溃

5.Action的实现通集成常用那种方法?

一种是直接实现自己的Action

另一种是实现Action的接口

继承ActionSupport

6.路径设置用什么路径,绝对还是相对?

都可以

7.通配符有几种?要遵循什么原则?

{1}

方法名

8.Action的属性?

path属性:指定请求访问Action的路径

type属性:指定Action的完整类名

name属性:指定需要传递给Action的ActionForm Bean

scope属性:指定ActionForm Bean的存放范围

validate属性:指定是否执行表单验证

input属性:指定当表单验证失败时的转发路径。

元素还包含一个子元素,它定义了一个请求转发路径。

9.用于读取资源文件,实现国际化的Struts2的标签()。

10.一下关于struts的描述中,不正确的是(D)

struts 是一个基于JAVA EE的MVC

struts2的框架配置文件是struts-configxml

struts2的控制组建核心包括核心控制和业务控制器

在struts中解决中文乱码可以通过修改struts。I18n。encoding的值为GBK 来实现

11.不属于Struts2的动作类的常量返回值的是(C)

A.success

B.input

C.never

D.login

12.一下不属于Struts2动作执行的结果类型是(A)

a.action

b.redirect

c.redirectAction

d.dispatcher

13.在struts.xml中。假如在一个package中没有配置namespace,那么在其中配置一个Action名字叫做login,它的result是这样配置的

/login.jsp,已知在此配置文件中还有另一个name为user的package其中也有一个Action名字为login,它的result是这样配置的

/loginUser.jsp那么在以下什么情况下将能访问到login.jsp A

A.在根路径后输入/login

B.在根路径后输入/user/login

C.在根路径后输入/login/user

D.在根路径后输入/abc/login

14.正规开发中,在使用struts2时定义Action使用哪种方式。B

A.直接定义Action类。

B.从ActionSupport继承。

C.从Action继承。

D.实现Action接口。

15.不同的线程在调用Action时创建几个Action实例。C

A.1个

B.2个

C.每个线程创建1个。

D.可以自定义配置。

16.struts2的体系结构主要包括那几个部分(A )

A.模型层

B.struts控制器组件

C。struts配置文件

D。struts标签库

17.struts提供了Action接口定义了5个标准字符串常量,不包括的有

(C )

A SUCCESS

B NONE

C REG

D LOGIN

18.struts中数据验证失败时,通过(B )标签显示错误信息。

A

B

C

D

19.列举出action执行结果类型,并说明用途。

默认结果类型是dispatcher

chain:Action链式处理的结果类型,也就是将结果转发到这个action中。

dispatcher:用于整合JSP的结果类型

redirect:实际上dispatcher和redirect的区别就是在于转发和重定向的区别。

redirect-action:重定向action

20.简述struts2文件上传的方法。Commons FileUpload通过将HTTP的数据保存到临时文件夹,然后Struts使用fileUpload拦截器将文件绑定到Action的实例中。从而我们就能够以本地文件方式的操作浏览器上传的文件。

21.在struts2标签内部能否使用el表达式?

不可

22.struts2中result-type的chain和redirectAction的区别

chain,它是一个琏式的,是从一个Action转发另外一个Aciton

redirectAction,是从新请求一个Action

23.能否取到Httpsession的值

不可

24.action的name里边写的名字是什么地方用的?

From 表单action引用

25.action的class里面写的是什么?

Action相应类的详细路径

26.action的extends里面调用的是什么?

从另外一个包继承、相当于拥有即承包的所有配置

27.如果不写action的后面mothod,默认的调用的方法是什么,如果写的话,写的时候有什么需要注意的?

不写会默认调用最上面的方法

28.输出值的strtus标签是什么?

s:property

28.循环的struts标签是什么?

s:iterator

29.判断的strtuts标签是什么?

s:if

30.显示文本的strtuts标签是什么?

31.要调用struts标签需要导入什么?

<%@taglib uri="/struts-tags" prefix="s"%>

32.如果需要调用sc:datetimepicker需要导入什么,sc代表的是什么意思?

33.中的s代表的是什么,这个标签是干什么用的?

获取前台文本的值

34.请简述前台提交后是如何到达后台action的。

通过from表单action找到struts配置文件相应action的类再去找相应action类里的方法

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·

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. B. C. D. D. 4.在struts应用程序的JSP页面上,使用HTML:optionsCollection标签初始化从数据库查询得 到的下拉列表框的选择项,该标签的()属性表示用作选项显示的值。 A.name B.label C.value D.property 5.Struts中的ActionServlet属于MVC模式中的()。 A.视图 B.模型C.控制器 D.业务层 6.在配置文件中,使用()元素来指定自定义的一个RequestProcessor。 A.form-beans B.action C.controller D.set-property 7.在JSP页面中可以通过Struts 2提供的()标签来输出国际化信息。 a) b) c) d) 8. Action中的execute方法执行完毕后,需要跳转到这个页面,下列写法中那些从形式上是正确的()。 A.return ""; B.return "show"; C.return ("show"); D.return (""); 9.在struts的配置文件中,action节点的哪一个属性用来action指定引用的actionForm()。 A.name B.attribute C.scope D.path 10.在使用Struts错误处理机制时,将报错信息定义在属性文件后,还需要在文件中使用()标签定义对该属性文件的引用。 A.message-resource B.action C.forward D.form-bean 11.关于struts的dispatchAction,以下说法正确的是()。 A.扩展自dispatchAction的Action类不必定义execute方法 B.在dispatchAction Bean中,创建的实体操作业务的方法,传入的参数可以和普通的Action 的execute方法不同 C.在dispatchAction Bean中,方法名的前缀必须为to或do D.与普通的Action的配置比较,要使用dispatchAction,需要多一个param 12.在Struts应用程序的JSP页面上,使用()Struts标签初始化从数据库查询得到的下拉列表框选择项。 A.html:hidden B.html:from C.html:text D.html:optionsCollection 13.对于以下这段配置ActionServlet的代码,说法正确的有()。[选三项] action config

struts框架介绍

这章适合做参考,如果你那里不清楚,可上这里查技术资料 二.Struts框架 struts框架具有组件的模块化,灵活性和重用性的优点,同时简化了基于MVC的web应用程序的开发。 本章详细讨论struts架构。我们将看到struts是如何清晰地区分控制,事务逻辑和外观,从而简化了开发应用程序过程的。我们还将介绍struts提供的类如何使得开发工作更加简单,这些类包括: ●控制程序流程的类 ●实现和执行程序事务逻辑的类 ●自定义的标记库使得创建和验证HTML表单更加容易 1.Struts压缩包内容 文件夹jakarta-struts-1.0.2包含两个目录,lib和webapps。在lib目录中有使用struts创建 在webapps目录下有如下文件: 让我们从MVC角度观察struts框架中的组件

框架中三个部分:模型,视窗和控制器。 模型 在struts框架中,模型分为两个部分: ●系统的内部状态 ●可以改变状态的操作(事务逻辑) 内部状态通常由一组ActinForm JavaBean表示。根据设计或应用程序复杂度的不同,这些Bean可以是自包含的并具有持续的状态,或只在需要时才获得数据(从某个数据库)。 大型应用程序通常在方法内部封装事务逻辑(操作),这些方法可以被拥有状态信息的bean 调用。比如购物车bean,它拥有用户购买商品的信息,可能还有checkOut()方法用来检查用户的信用卡,并向仓库发定货信息。 小型程序中,操作可能会被内嵌在Action类,它是struts框架中控制器角色的一部分。当逻辑简单时这个方法很适合。 建议用户将事务逻辑(要做什么)与Action类所扮演的角色(决定做什么)分开。 视窗 由JSP建立,struts包含扩展的自定义标签库,可以简化创建完全国际化用户界面的过程。控制器 struts中,基本的控制器组件是ActionServlet类中的实例servelt,实际使用的servlet在配置文件中由一组映射(由ActionMapping类进行描述)进行定义。 2.Struts框架中的组件 (由于ROSE工具还未能下载,只能找来这幅图,它说明了一定问题,特别是ActionErrors,但它并没有将ActionMapping,JSP和Tag Library包含进来,有时间作完替换)

实验六 Struts2 Action实验(一)

实验六 Struts2 Action实验(一) 一、实验目的: 熟悉Struts2 Action类的基本用法,掌握Struts2 Action类在MVC程序开发中的编写和应用,初步实现CRUD编程。 二、实验内容: 在MyEclipse环境下运用Struts2技术改写实验四内容,完成相应的数据库CRUD功能,调试运行程序。 三、实验要求: 1. 掌握运用Struts2 开发MVC程序的基本步骤; 2. 掌握Struts2 Action接收请求参数、调用业务逻辑、封装结果数据并转向结果页面的 用法 3. 掌握在struts.xml文件中对Struts2 Action的基本配置; 4. 运用相关技术(Struts2以及JDBC等)完成规定功能; 5. 写出实验报告。 四、实验学时:2学时 五、实验步骤: 1.进入MyEclipse环境,新建一个Web Project; 2. 设计一个数据库,包括出版社表和书籍表,出版社表字段包括序号(自增主键)、出版 社编码和出版社名称,书籍表字段包括序号(自增主键)、书号、书名、作者、价格和出版社; 3. 采用Struts2技术完成出版社基本信息管理模块的主要功能,包括: 3.1 设计封装了出版社表信息的JavaBean; 3.2 设计封装了针对出版社表信息进行CRUD操作的工具JavaBean(DAO类); 3.3 设计并开发页面 3.4 设计并开发Action控制器 3.5. 完成显示所有出版社信息的功能; 3.6. 完成对出版社信息的增加功能; 4. 调试运行程序。 六、选作实验 1. 完成对出版社信息的条件查询功能; 2. 完成对出版社信息的修改和删除功能。

Struts2工作原理

struts2并不是一个陌生的web框架,它是以Webwork的设计思想为核心,吸收struts1的优点,可以说 struts2是struts1和Webwork结合的产物。 struts2 的工作原理图: 一个请求在Struts2框架中的处理分为以下几个步骤: 1.客户端发出一个指向servlet容器的请求(tomcat); 2.这个请求会经过图中的几个过滤器,最后会到达FilterDispatcher过滤器。 3.过滤器FilterDispatcher是struts2框架的心脏,在处理用户请求时,它和请求一起相互配合访问struts2 的底层框架结构。在web容器启动时,struts2框架会自动加载配置文件里相关参数,并转换成相应的类。 如:ConfigurationManager、ActionMapper和ObjectFactory。ConfigurationManager 存有配置文件的一 些基本信息,ActionMapper存有action的配置信息。在请求过程中所有的对象(Action,Results, Interceptors,等)都是通过ObjectFactory来创建的。过滤器会通过询问ActionMapper 类来查找请求中 需要用到的Action。 4.如果找到需要调用的Action,过滤器会把请求的处理交给ActionProxy。ActionProxy为Action的代理对象

。ActionProxy通过ConfigurationManager询问框架的配置文件,找到需要调用的Action 类。 5.ActionProxy创建一个ActionInvocation的实例。ActionInvocation在ActionProxy层之下,它表示了 Action的执行状态,或者说它控制的Action的执行步骤。它持有Action实例和所有的Interceptor。 6.ActionInvocation实例使用命名模式来调用,1. ActionInvocation初始化时,根据配置,加载Action相 关的所有Interceptor。2. 通过ActionInvocation.invoke方法调用Action实现时,执行Interceptor。在 调用Action的过程前后,涉及到相关拦截器(intercepetor)的调用。 7. 一旦Action执行完毕,ActionInvocation负责根据struts.xml中的配置找到对应的返回结果。返回结果 通常是(但不总是,也可能是另外的一个Action链)一个需要被表示的JSP或者FreeMarker的模版。在表 示的过程中可以使用Struts2 框架中继承的标签。

相关文档