STRUTS2模拟测试(开卷——定时90分钟)
一、填空题
1.Struts2框架由___Struts1________和____WebWork_______框架发展而来。(Struts&WebWork )
2.Struts2以___WebWork______为核心,采用____拦截器_______的机制来处理用户的请求。(WebWork,拦截器)3.构建Struts2应用的最基础的几个类库是struts-core-2.1.6.jar___________、__xwork-2.1.2.jar_________、__ognl-2.6.11.jar_________ 、_freemarket-2.3.13、_commons-logging-1.0.4.jar_________以及
___commons-fileupload-1.2.1.jar________。
4.Struts2中的控制器类是一个普通的_____class______。Class
5.如果要在JSP页面中使用Struts2提供的标签库,首先必须在页面中使用taglib编译指令导入标签库,其中taglib编译指令为_<%@ taglib prefix=”s” uri=”/struts-tags”%>__________。<%taglib
uri="/struts-tags" prefix="s"%>
6.在Struts2表单标签库中,表单标签为_
7.ActionSupport类实现了____Action_______接口和_Validateable__________等接口。
8.通过控制器类中的___validate()________方法来输出校验错误信息。
二、选择题
1.不属于Action接口中定义的字符串常量的是_____B______。B
A.SUCCESS B.FAILURE
C.ERROR D.INPUT
2.在控制器类中一般需要添加相应属性的____A_______和____C_______。AC
A.setter方法 B.as方法
C.getter方法 D.is方法
3.控制器需要在____B_______配置文件中进行配置。B
A.web.xml B.struts.xml
C.struts2.xml D.webwork.xml
4.不属于Struts 2表单标签库的是_____D______。D
A.
C.
5.在JSP页面中可以通过Struts 2提供的___D________标签来输出国际化信息。D
A.
C.
6.资源文件的后缀名为____D_______。D
A.txt B.doc C.property D.Properties
三、简答题
1、简述什么是MVC?
MVC即模型-视图-控制器.MVC是一种设计模式,它强制把应用程序的输入处理和输出分开.视图是用户看到并与之交互的界面。视图向用户显示相关的数据,并能接受用户的输入,但是它并不进行任何实际的业务处理。模型是应用程序的主体部分。模型表示业务数据和业务逻辑。控制器接受用户的输入并调用模型和视图去完成用户的需求
2、列举struts2 web应用中常用的4个.jar文件。
commons-logging-1.0.4.jar
freemarker-2.3.8.jar
struts2-core-2.0.14.jar
ognl-2.6.11.jar
xwork-2.0.7.jar
3、简述servlet的生命周期。
Servlet被服务器实例化后,容器运行其init()方法,请求到达时运行其service()方法,service()方法自动派遣运行与请求对应的doGet、doPost方法等,当服务器决定将实例销毁的时候调用其destroy方法
4、用自己的话简要阐述struts2的执行流程。
Struts 2框架本身大致可以分为3个部分:核心控制器FilterDispatcher、业务控制器Action和用户实现的企业业务逻辑组件。核心控制器FilterDispatcher是Struts 2框架的基础,包含了框架内部的控制流程和处理机制。业务控制器Action和业务逻辑组件是需要用户来自己实现的。用户在开发Action和业务逻辑组件的同时,还需要编写相关的配置文件,供核心控制器FilterDispatcher来使用。 Struts 2的工作流程相对于Struts 1要简单,与WebWork框架基本相同,所以说Struts 2是WebWork的升级版本。基本简要流程如下:1、客户端浏览器发出HTTP请求。2、根据web.xml配置,该请求被FilterDispatcher接收。3、根据struts.xml配置,找到需要调用的Action类和方法,并通过IoC方式,将值注入给Aciton。4、Action调用业务逻辑组件处理业务逻辑,这一步包含表单验证。5、Action执行完毕,根据struts.xml中的配置找到对应的返回结果result,并跳转到相应页面。6、返回HTTP响应到客户端浏览器。
5、简述Struts1和Struts2的不同点
四、代码题
1、给出以下Action的Struts.XML配置文件描述(注1:请求为Test/Hello_onPlay.go)
package com.yourcompany.action;
public class HelloWorldAction
{
private String message;
public String getMessage()
{
return message;
}
public void setMessage(String message)
{
this.message = message;
}
public String onPlay() throws Exception
{
System.out.println(this.getMessage());
return "success";
}
public String execute() throws Exception
{
System.out.println(this.getMessage());
return "success";
}
}
2、请给出Struts2验证框架关于Email格式,年龄在1-100之间,提交非空的配置文件。
3、请给出OGNL中从valueStack,Session,Request三种作用域中或得userName属性对应value的代码
4、请编写一个拦截器,该拦截器可以获得用户输入的用户名这个数据,业务逻辑为逐个判断用户名中是否包含“你”,“我”,“他”三个数据,如果包含则直接返回输入页面,如果不包含则运行至PersonAction。(除代码外,要给出拦截器和Action的配置文件)
--------------------------------------装--------------------------------------订------------------------------线---------------------------------------- **学院课程考试试卷 课程名称:《使用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.
Struts2复习题 1. 以下属于struts2 的控制器组件是: A. Action B.ActionForm C.ActionServlet D.dispatchAction 2. 以下属于struts2 的体系结构的是:(多选) A. struts2 控制器组件 B.struts2 配置文件 C.FilterDispathcer D.Action 3. 以下属于struts2 配置文件中的配置元素是:(多选) A.
Struts2学习之二--Struts2标签介绍 热12已有 14625 次阅读 2009-07-12 18:53 [顶]3G移动--Android开发工程师全能班 (转) Struts2学习之二--Struts2标签介绍 在上一篇文章《为Struts 2.0做好准备》中,我过于详细地介绍了Struts 2.0开发环境和运行环境的配置,所以,本文很少涉及的以上两方面的细节。如果,您看完《为Struts 2.0做好准备》后,还有什么不明白,或者没法运行文中例子,请联系我。我的E-MAIL:Max.M.Yuan@https://www.doczj.com/doc/5311709568.html,。 在介绍常用标志前,我想先从总体上,对Struts 1.x与Struts 2.0的标志库(Tag Library)作比较。 分类将标志库按功能 分成HTML、Tiles、 Logic和Bean等 几部分 严格上来说,没有分类,所有标志都在URI 为“/struts-tags”命名空间下,不过, 我们可以从功能上将其分为两大类:非UI 标志和UI标志 表达式语言(expression languages)不支持嵌入语言 (EL) OGNL、JSTL、Groovy和Velcity 以上表格,纯属个人总结,如有所不足或错误,请不吝指正 好了,我要开始介绍“常用”(这里所谓的“常用”,是指在已往工作中使用Struts里经常用到的)的标志了。 1.非UI标志 o if、elseif和else 描述: 执行基本的条件流转。
参数: 名称必 需 默 认 类型描述备注 test 是Boolean 决定标志里内容是否 显示的表达式 else标志 没有这个 参数 id 否Object/String 用来标识元素的id。在UI和表单中为HTML的id属性 例子: <%@ page contentType="text/html; charset=UTF-8" %> <%@ taglib prefix="s" uri="/struts-tags" %>
填空: 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表华标签序?中,表単标签为__
Struts2复习题 1.以下属于struts2的控制器组件是: A.Action B.ActionForm C.ActionServlet D.dispatchAction 2.以下属于struts2的体系结构的是:(多选) A.struts2控制器组件 B.struts2配置文件 C.FilterDispathcer D.Action 3.以下属于struts2配置文件中的配置元素是:(多选) A.
Strus2标签库 Struts2提供了一套标签库用于简化JSP层的编程,开发者只需要标签中做少量的设置,就可以实现各种常用的效果。Struts2的标签与Action联系比较紧密,使用标签后,Struts会自动完成JSP层的显示数据、在Action层采集数据等工作。 Struts2的标签都统一包含在struts-tags.tld文件中(位于struts2-core-2.2.1.jar中),使用统一前缀。 Struts标签库大致分为: UI标签:包括表单标签,非表单标签 非UI标签:流程控制标签,数据访问标签 首先要在JSP中使用taglib编译指令导入标签库,然后才可以使用标签。 <%@taglib prefix="s" uri="/struts-tags"%> 以上代码用于导入Struts2标签库,其中URI就是对应web.xml文件中指定的标签库的URI,而prefix属性值是该标签库的前缀。 第1节OGNL语言 OGNL是Object-Graph Navigation Language的缩写,它是一种功能强大的表达式语言(Expression Language,简称为EL),通过它简单一致的表达式语法,可以存取对象的任意属性,调用对象的方法,遍历整个对象的结构图,实现字段类型转化等功能。它使用相同的表达式去存取对象的属性。 OGNL语法类似于EL,主要使用.作为操作符,例如要访问person.getCountry().getName()可以这样写:https://www.doczj.com/doc/5311709568.html,。 1.1 OGNL的常用符号 主要是#号,其作用有三种: 1. 访问OGNL上下文与ActionContext资源,相当于ActionContext.getContext(), 常用#属性如下表: parameters:
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中数据标签使用示例 S truts2提供了大量丰富的标签供使用,它不再像S truts1中一样,将种类标签进行分门列别,但可以根据其使用的用途用以区别。本文通过对S truts2中数据标签的学习,来对S truts2中标签的学习起到一个抛砖引玉的作用。 文中将介绍Action标签、Bean标签、Data标签、Include标签、P aram标签、Set标签、T ext标签、P roperty 标签等标签。 代码下载:https://www.doczj.com/doc/5311709568.html,/y1ps2Mjpc3NiLKuetMOpCsZOOypD6KSdo8-46Zy2wpoMcABeo4vOC NJXtWDEO93-TXgZogwAF YxSOni5BEG2EoN65OFwHdG71v-/St ruts2DataTags.rar?download 一、
认证考试笔试试题 注意: 1.考试时间1小时,总分100分; 2.考试结束试卷必须交回,不交回试卷者成绩无效。
选择题(针对以下题目,选择符合题目要求的答案。针对每一道题目,全选对,则该题得分;所选答案错误或漏选,则该题不得分。每题2分。) 1.关于存储过程中的参数,下列说法错误的是()。 A.存储过程不能声明返回值类型,但可以通过传出参数向调用者返回值 B. 传入参数可以设置默认值 C.定义传出参数时,必须在传出参数之后添加OUT关键字 D. 调用带传出参数的存储过程时,必须先定义一个变量,用于接收传出参数的值 2.有一名为“列车运营”的实体,该实体属性含有:车次、日期、实际发车时间、实际抵达时间、 情况摘要等属性,该实体主键是()。 A.车次B.日期 C.车次+日期 D.车次+情况摘要 3.在数据库的概念设计中,最常用的数据模型是()。 A. 形象模型 B. 物理模型 C. 逻辑模型 D. 实体联系模型 4.SQL Server中,下面用于限制分组函数的返回值的字句是() A.WHERE B. HAVING C. ORDER BY D. 无法限定分组函数的返回值 5.关于数据完整性,以下说法正确的是()。【选择两项】 A.完整性通过主键和外键之间的引用关系实现。 B. 引用完整性通过限制数据类型、检查约束等实现。 C. 数据完整性是通过数据操纵者自身对数据的控制来实现的。 D.如果两个表中存储的信息相互关联,那么只要修改了一个表,另外一个表也要做出相应的修 改,则称该这两个表中的数据具备完整性。 6.现有订单表orders,包含用户信息userid, 产品信息productid, 以下()语句能够返回 至少被订购过两回的productid A. select productid from orders where count(productid)>1 B. select productid from orders where max(productid)>1 C. select productid from orders where having count(productid)>1 group by productid D. select productid from orders group by productid having count(productid)>1 7.考虑本地图书馆的一个图书借阅系统,数据库包含Member(会员),Borrow(借阅)和Book(书 籍)表,要求:
Struts模拟考试试卷 课程名称:《struts:使用struts框架开发基于MVC设计模式的WEB应用》(A)卷 年级:班级: 姓名:_______________ 学号:_________________ 考试(考查) 闭卷 选择题(每题2分,共计100分) 1. ActionForm中的validate方法返回什么值,认为是验证成功()。[选两项] A.null B.空字符串 C.一个空的ActionError对象D.一个空的ActionErrorS对象 2.在Struts中,ActionServlet的作用是()。[选两项] A.它是所有FormBean的父类 B.它是所有ActionBean的父类 C.核心控制器D.将请求中的数据封装到FormBean中 3.下面html标签的使用中正确的是()。[选两项] A.
1.OGNL表达式语言 OGNL是Object Graphic Navigation Language(对象图导航语言)的缩写,它是一个开源项目。 Struts 2框架使用OGNL作为默认的表达式语言。 相对EL表达式,它提供了平时我们需要的一些功能,如: 支持对象方法调用,如xxx.sayHello(); 支持类静态方法调用和值访问,表达式的格式为@[类全名(包括包路径)]@[方法名 | 值名],例如:@https://www.doczj.com/doc/5311709568.html,ng.String@format('foo %s', 'bar')或 @cn.itcast.Constant@APP_NAME; 操作集合对象。 Ognl 有一个上下文(Context)概念,说白了上下文就是一个MAP结构,它实现了java.utils.Map接口,在Struts2中上下文(Context)的实现为ActionContext,下面是上下文(Context)的结构示意图 2.访问上下文(Context)中的对象需要使用#符号标注命名空间,如 #application、#session 另外OGNL会设定一个根对象(root对象),在Struts2中根对象就是ValueStack (值栈)。如果要访问根对象(即ValueStack)中对象的属性,则可以省略#命名空间,直接访问该对象的属性即可。 在struts2中,根对象ValueStack的实现类为OgnlValueStack,该对象不是我们想像的只存放单个值,而是存放一组对象。在OgnlValueStack类里有一个List 类型的root变量,就是使用他存放一组对象 |--request |--application context ------|--OgnlValueStack root变量[action, OgnlUtil, ... ] |--session |--attr |--parameters 在root变量中处于第一位的对象叫栈顶对象。通常我们在OGNL表达式里直接写上属性的名称即可访问root变量里对象的属性,搜索顺序是从栈顶对象开始寻找,如果栈顶对象不存在该属性,就会从第二个对象寻找,如果没有找到就从第三个对象寻找,依次往下访问,直到找到为止。 大家注意: Struts2中,OGNL表达式需要配合Struts标签才可以使用。如:
Java寒假笔试模拟题三 姓名:________学号:___________ 一、单项选择题: 1.Struts是一个开源的Web开发框架,它是由哪个组织进行维护的?( c )。 A.BEA B.JBoss C.Apache D.Sybase 2.如果在Web应用程序中添加struts2框架的支持,需要在配置哪个类作为struts2的核心控制器( a )。 A.FilterDispatcher B.StrutsServlet C.ApplicationContextListener D.SessionFactory 3.Struts2的核心控制器需要在哪个配置文件中进行配置( b ) A.struts.xml B.web.xml C.applicationContext.xml D.webwork.xml 4.关于开发人员自己创建的Action,以下说法正确的是( c ) A.Struts2中的Action必须继承Action类 B.Struts2中的Action必须实现Action接口
C.Struts2中的Action无需实现或者继承任何类或接口 D.Struts2中的Action必须继承ActionSupport类 解释:Struts 2的Action无须实现任何接口或继承任何类型,普通的POJO类就可以用做Action类,但是,我们为了方便实现Action,大多数情况下都会继承com.opensymphony.xwork2.ActionSupport类,并重载(Override)此类里的String execute()方法,因为ActionSupport已经实现了Action接口,还实现了Validateable 接口,提供了数据校验功能。通过继承该ActionSupport类,可以简化Struts 2的Action开发。 5.以下关于Struts2配置文件中package元素说法错误的是( d ). A.package元素的name属性不可以重复 B.package元素可以进行继承 C.package元素可以声明为抽象(abstract=”true”) D.package元素可以嵌套 6.以下关于Struts2配置文件中action元素说法错误的是( a ). A.任何一个action的name属性都不可以相同 B.action元素可以没有class属性 C.action元素中拥有method属性 D.action元素的子元素可以配置interceptor-ref 7.Struts2进行数据收集和类型转换的工作,是由以下哪个负责完成的( a )。 A.FilterDispatcher B.ActionInvocation
Struts2标签使用 (1):
<2>:第二中方式:list = “#request/session.list”。 ---- 与action 结合起来了。 如果要默认选中的话后面加上value = “”.也可以通过javascript 的方式来默认选中。 (5):
实验六 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. 完成对出版社信息的修改和删除功能。
题目1 以下不届丁 Struts2中result 的type 届性() ? A. action B. redirect 题目2 下歹0有关拦截器说法错误的是? 「A.struts 通过拦截器完成执行action 请求处理方法前一系歹U 操作。例如: 数据封装、文件上传、数据校验等 'B.在struts 中,直接访问jsp 页面,struts 将使用默认拦截器栈处理当前 请求。 厂C.在执行action 时,struts 将执行若干拦截器1、2、3,执行action 完成 后,将继续执行拦截器3、2、1 'D.默认情况,在一个action 没有配置拦截器的引用,说明当前action 将不 使用拦截器 题目3 以下哪些是Action 接口提供的返回值? W A A. success ,D B. none C. error 财 D.input 题目4 如果要实现struts2的数据检验功能 广A 普通的Action 类可以实现 C. redirectAction D. dispatcher
「B继承自Action接口的可以实现 面C继承自ActionSupport类可以实现 厂D继承自ActionValidate 类可以实现 题目5 struts2默认的处理结果类型是: ? A.dispatcher ' B.redirect 「C.chain D. forward 题目6 在值栈的上下文Context中,存在一些固定的key表示不同的对象,以下描述正确的是? A. request,表示request作用域的数据 'B.session,表示session 作用域的数据 阿 C.application ,表示application 作用域的数据 * D.parameters ,表示请求参数的所有数据 题目7 以下届丁struts2配置文件中的配置元素是:()多选) A.
这个标签负责输出提示信息到客户端,例子如下: Action代码如下: public String execute() { addActionMessage("第一条普通消息!"); addActionMessage("第二条普通消息!"); return SUCCESS; } JSP: