STRUTS2模拟(答案)
struts2模拟题1

基于。
Net的需求分析和解决方案模拟题一一、单选题:(本题共20题,每题1分,共20分)1.MSF风险管理过程定义了六个逻辑步骤,下列中不包括那一项___A)风险识别 B)风险计划C)风险控制 D)风险报告2. 以下各项中,不是构思阶段交付的成果的是___A)远景/范围 B)项目结构C)风险评估 D)解决方案设计策略3.概要设计有三个步骤以及相关基准,下列中不属于的是__A) 调研 B)概要说明书C)分析 D) 优化4.统一建模语言UML定义了四种关系,下列中不属于的是__A)依赖 B)关联C)聚合 D) 派生5.MSF过程模型由五个阶段组成,其中下列不包含的是那个阶段___A)构思 B)计划C)开发D)设计6. 以下对“零缺陷”阶段描述正确的是__A)“零缺陷”阶段就是要保证软件不存在任何缺陷了B)“零缺陷”阶段是指一段时间内所有已知的缺陷都解决了C)“零缺陷”阶段度过后软件就是可以放心交付了D)“零缺陷”阶段只需要解决以前发现的所有缺陷7. 构思阶段,团队执行的主要任务中,不包括那些___A)建立团队 B)定义项目结构C)定义商业目标 D)创建远景说明E) 评估当前情况 F)建立需求分析8.设计阶段共有三个,其中那一项不包括__A)概要设计 B)概念设计C逻辑设计 D) 物理设计9.以下那些对微软解决方案框架(MSF)的表达是错误的___A)MSF是一个瀑布型的开发方式B) MSF 是一个螺旋型的开发方式C)MSF 与其他的开发方式不能同时应用在一个项目中D)MSF 中没有项目经理这一角色10.平衡三要素优先级中,定义范围意味着平衡各类最终用户的需要,考虑客户规定的其他优先级,几个变量可能会影响项目成败,这几个变量包括成本、资源进度表、功能和__A)可用性 B)可靠性C)可变性 D) 可定性11.下列选项中不包括功能说明书的元素的主体内容是___A)概念设计摘要 B)用例C)使用场景 C)建模12. 下列选项中不包括业务需求分类的是________A)用户 B)系统C)业务 D)场景13.物理设计的交付结果中,一下选项,______不是他的主成果?A)网络拓扑 B)有伪代码的初步用户界面C)解决方案的数据库架构 C)基线部署模型14.物理设计的四个步骤是:调研、分析、合理化和____A)实现 B)约束C)打包 D)部署15.下列选项中不属于良好的用户界面的特点的是____A)直观设计 B)易于导航C)打开页面的速度 D)输出验证16.在数据库设计一对一的关系中,实体的一个实例与其他的实体的对应实例直接相关。
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表华标签序•中,表単标签为__ <s:form/> _____ 。
6.ActionSupport 类实现了_action __________ 接U和_ validateable ________ 等接UI。
7.通过控制器类屮的 __ validate() ______ 方法来输出校验错误信息。
8.在Hibernate XML影射文件中描述主键生成机制,.其属性描述了主键的生成策略,至少写出三种策略名increment 、native 、uuid 。
9.在Hibernate中级联操作的属性值至少写出三个____________________ none ______ 、_____ s ave-update ______ 、__ all ______ o10 Hibernate 的会ffi接口是____ Session 接口_____ ,它山接口 _SessionFactory 接口_创建;Hibernate处理事务的接口是______ Transaction接口 _______ :封妓HQL的接口足_____ C riteria 接口_____ 011. Struts2框架山 _____ Struts ______ 和_____ WebWork _____ 框架发展而来。
软件开发框架(J2EE)Struts 2拦截器习题与答案

1.以下属于struts2的控制器组件是()。
A.ActionB.ActionFormC.ActionServletD.dispatchAction2.以下属于struts2的体系结构的是()。
A.struts2控制器组件B.struts2配置文件C.FilterDispathcerD.Action3.以下属于struts2配置文件中的配置元素是()。
A.<package>B.<action>C.<form-beans>D.<action-mappings>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.xmlC.配置Action时,必须配置包信息D.使用<forward>元素配置转发7.在struts2配置中用()元素来配置常量。
B.<constants>C.<constant>D.<constant-mapping>8.关于struts2包的说法正确的是()。
STRUTS2模拟(答案)

STRUTS2模拟测试(开卷——定时90分钟)一、填空题1.Struts2框架由___________和___________框架发展而来。
(Struts&WebWork )2.Struts2以___________为核心,采用___________的机制来处理用户的请求。
(WebWork,拦截器)3.构建Struts2应用的最基础的几个类库是___________、___________、___________、___________以及___________。
4.Struts2中的控制器类是一个普通的___________。
Class5.如果要在JSP页面中使用Struts2提供的标签库,首先必须在页面中使用taglib编译指令导入标签库,其中taglib编译指令为___________。
<%taglib uri="/struts-tags" prefix="s"%>6.在Struts2表单标签库中,表单标签为___________。
<s:form>7.ActionSupport类实现了___________接口和___________等接口。
8.通过控制器类中的___________方法来输出校验错误信息。
二、选择题1.不属于Action接口中定义的字符串常量的是___________。
BA.SUCCESS B.FAILUREC.ERROR D.INPUT2.在控制器类中一般需要添加相应属性的___________和___________。
ACA.setter方法 B.as方法C.getter方法 D.is方法3.控制器需要在___________配置文件中进行配置。
BA.web.xml B.struts.xmlC.struts2.xml D.webwork.xml4.不属于Struts 2表单标签库的是___________。
(完整word版)J2EE考试复习试题_struts2_spring_hibernate(答案整合完毕)

一、填空:1.Struts 2框架由__webWork______和___xWork_框架发展而来。
XWork是一个标准的Command模式实现,并且完全从web层脱离出来。
Xwork提供了很多核心功能:前端拦截机(interceptor),运行时表单属性验证,类型转换,强大的表达式语言(OGNL – the Object Graph Navigation Language),IoC(Inversion of Control倒置控制)容器等。
其目的是:创建一个泛化的、可重用且可扩展的命令模式框架,而不是一个特定在某个领域使用的框架。
其特点是:1、基于一个简单的接口就可以进行灵活且可自定义的配置;2、核心命令模式框架可以通过定制和扩展拦截器来适应任何请求/响应环境;3、整个框架通过类型转换和使用OGNL的action属性验证来构建;4、包含一个基于运行时Attribute和验证拦截器的强大的验证框架。
Xwork和WebWork的关系WebWork2 被构建在XWork之上,以XWork为基础。
通过使用XWork的命令模式框架和拦截器框架,提供了一个支持Web功能、能快速构建Web应用的命令模式框架。
xwork和Webwork的交互图2.Struts 2以__过滤器__为核心,采用__拦截器__的机制来处理用户的请求。
3.构建Struts 2应用的最基础的几个类库是_struts2-core__、_commons-logging_、_xwork-core_、__freamarker___以及_ognl_。
4.Struts 2中的控制器类是一个普通的_POJO_。
5.如果要在JSP页面中使用Struts 2提供的标签库,首先必须在页面中使用taglib编译指令导入标签库,其中taglib编译指令为___ <taglib><taglib-uri>/struts-tags</taglib-uri><taglib-location>/WEB-INF/lib/struts2-core-2.0.11.1.jar</taglib-location></taglib> ________。
struts面试题及答案【重要】

struts⾯试题及答案【重要】1. 简述 Struts2 的⼯作流程:①. 请求发送给 StrutsPrepareAndExecuteFilter②. StrutsPrepareAndExecuteFilter 判定该请求是否是⼀个 Struts2 请求(ActionMapping判断),不是就放⾏。
(根据路径的后缀是 .action或者.doj进⾏判断)public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException { HttpServletRequest request = (HttpServletRequest) req;HttpServletResponse response = (HttpServletResponse) res;try {if (excludedPatterns != null && prepare.isUrlExcluded(request, excludedPatterns)) {chain.doFilter(request, response);} else {prepare.setEncodingAndLocale(request, response);prepare.createActionContext(request, response);prepare.assignDispatcherToThread();request = prepare.wrapRequest(request);ActionMapping mapping = prepare.findActionMapping(request, response, true);if (mapping == null) {boolean handled = execute.executeStaticResourceRequest(request, response);if (!handled) {chain.doFilter(request, response);}} else {execute.executeAction(request, response, mapping);}}} finally {prepare.cleanupRequest(request);}}③. 若该请求是⼀个 Struts2 请求,则 StrutsPrepareAndExecuteFilter 把请求的处理交给 ActionProxypublic void serviceAction(HttpServletRequest request, HttpServletResponse response, ActionMapping mapping) throws ServletException {Map<String, Object> extraContext = createContextMap(request, response, mapping);// If there was a previous value stack, then create a new copy and pass it in to be used by the new ActionValueStack stack = (ValueStack) request.getAttribute(ServletActionContext.STRUTS_VALUESTACK_KEY);boolean nullStack = stack == null;if (nullStack) {ActionContext ctx = ActionContext.getContext();if (ctx != null) {stack = ctx.getValueStack();}}if (stack != null) {extraContext.put(ActionContext.VALUE_STACK, valueStackFactory.createValueStack(stack));}String timerKey = "Handling request from Dispatcher";try {UtilTimerStack.push(timerKey);String namespace = mapping.getNamespace();String name = mapping.getName();String method = mapping.getMethod();ActionProxy proxy = getContainer().getInstance(ActionProxyFactory.class).createActionProxy(namespace, name, method, extraContext, true, false);request.setAttribute(ServletActionContext.STRUTS_VALUESTACK_KEY, proxy.getInvocation().getStack());// if the ActionMapping says to go straight to a result, do it!if (mapping.getResult() != null) {Result result = mapping.getResult();result.execute(proxy.getInvocation());} else {proxy.execute();}// If there was a previous value stack then set it back onto the requestif (!nullStack) {request.setAttribute(ServletActionContext.STRUTS_VALUESTACK_KEY, stack);}} catch (ConfigurationException e) {logConfigurationException(request, e);sendError(request, response, HttpServletResponse.SC_NOT_FOUND, e);} catch (Exception e) {if (handleException || devMode) {sendError(request, response, HttpServletResponse.SC_INTERNAL_SERVER_ERROR, e);} else {throw new ServletException(e);}} finally {UtilTimerStack.pop(timerKey);}}④. ActionProxy 创建⼀个 ActionInvocation 的实例,并进⾏初始化public ActionInvocation getInvocation() {return invocation;}⑤. ActionInvocation 实例在调⽤ Action 的过程前后,涉及到相关拦截器(Intercepter)的调⽤。
struts2问答和答案

负责拦截由<url-pattern>/*</url-pattern>指定的所有用户请求,当用户请求到达时,该Filter会过滤用户的请求。默认情况下,如果用户请求的路径
不带后缀或者后缀以.action结尾,这时请求将被转入struts2框架处理,否则struts2框架将略过该请求的处理。
ServletContext servletContext = ServletActionContext.getServletContext();
方案二:
类 implements ServletRequestAware,ServletResponseAware,SessionAware,ServletContextAware
Struts 2以WebWork为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与ServletAPI完全脱离开,
所以Struts 2可以理解为WebWork的更新产品。虽然从Struts 1到Struts 2有着太大的变化,但是相对于WebWork,Struts 2的变化很小。
1)在软件设计上Struts2的应用可以不依赖于Servlet API和struts API。 解耦合
2)拦截器,实现如参数拦截注入等功能;
3)多种表现层技术,如:JSP、freeMarker、Velocity等;
4)Struts2的输入校验可以对指定某个方法进行校验;
2)过滤器是拦截用户请求的,范围明显比拦截器大的多。 可以拦截静态资源html,jsp等页面
14请你写出struts2中至少5个的默认拦截器?
fileUpload 提供文件上传功能
i18n 记录用户选择的locale
struts2面试题

struts2面试题Struts2是一个基于Java开发的Web应用程序框架,被广泛应用于企业级Java应用开发中。
在面试中,面试官可能会提出一些关于Struts2的问题,以评估应聘者的技术水平。
下面是一些常见的Struts2面试题及其详细答案,希望对你在面试中有所帮助。
1. 什么是Struts2?Struts2是一个轻量级的、基于MVC模式的Web应用程序框架。
它采用Java Servlet API和JavaServer Pages (JSP)技术,并提供了一种简单易用的方式来开发可维护和可扩展的Web应用程序。
2. Struts2的主要特性是什么?Struts2的主要特性包括:- MVC架构:将应用程序分为模型、视图和控制器,使开发更容易管理和扩展。
- 拦截器:通过拦截器可以在请求处理的各个阶段添加自定义的逻辑。
- 标签库:提供了丰富的标签库,简化了页面开发。
- 表单验证:提供了灵活且强大的表单验证机制,可以验证用户输入的数据。
- 国际化支持:支持多语言和本地化。
- 配置简单:通过配置文件来管理应用程序的行为。
3. Struts2的工作原理是什么?Struts2的工作原理如下:1) 客户端发送HTTP请求到服务器。
2) 服务器将请求交给Struts2的过滤器(Filter)。
3) 过滤器通过配置文件找到对应的Action,并调用相应的方法。
4) Action处理请求,并返回一个结果页面的名称或一个结果对象。
5) 结果页面的名称通过配置文件进行映射,服务器将其发送给客户端。
4. 什么是Struts2中的Action类?Action类是Struts2框架中的核心组件,用于处理Web请求。
一个Action类对应一个业务功能,其包含了要执行的方法和数据。
它负责接收请求、处理业务逻辑、将结果返回给前端页面。
5. Struts2中的拦截器是什么?有哪些内置的拦截器?拦截器是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的配置文件)。