STRUTS2模拟(答案)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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表单标签库中,表单标签为_<s:form>__________。
<s:form>
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.<s: textfield > B.<s: textarea >
C.<s: submit > D.<select>
5.在JSP页面中可以通过Struts 2提供的___D________标签来输出国际化信息。
D
A.<s: input > B.<s: texts >
C.<s: submit > D.<s:text>
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的配置文件)。