一、 选择题
1.在控制器类中一般需要添加相应属性的___A_________C___
Asetter方法                              Bas方法
Cgetter方法                            Dis方法
2.业务控制器需要在_____B____配置文件中进行配置。
Al                                Bl
Cl                            Dl
3.不属于Struts 2表单标签库的是______D ____
A<s: textfield >                          B<s: textarea >
C<s: submit >                            D<select>
4. JSP页面中可以通过Struts 2提供的___D______标签来输出国际化信息。
A<s: input >                              B<s: texts >
C<s: submit >                            D<s:text>
5. 资源文件的后缀名为______D___
Atxt              Bdoc          Cproperty      D. properties
6. 以下关于struts的描述中,不正确的是(D
A. struts 是一个基于JAVA EEMVC
B. struts2的框架配置文件是struts-configxml
C. struts2的控制组建核心包括核心控制和业务控制器
D. struts中解决中文乱码可以通过修改ding的值为GBK来实现
7. l中。假如在一个package中没有配置namespace,那么在其中配置一个Action名字叫做login,它的result是这样配置的<result>/login.jsp</result>,已知在此配置文
件中还有另一个namespaceuserpackage其中也有一个Action名字为login,它的result是这样配置的<result>/loginUser.jsp</result>那么在以下什么情况下将能访问到login.jsp ________A______
A.在根路径后输入/login
B.在根路径后输入/user/login
C.在根路径后输入/login/user
D.在根路径后输入/abc/login
8. 不同的线程在调用Action时创建几个Action实例。(  C)
A.1
B.2
C.每个线程创建1个。
D.jsp页面输出的三种方式可以自定义配置。
二、 简答题
1、 简述什么是MVC
答:MVC即模型-视图-控制器.MVC是一种设计模式,它强制把应用程序的输入处理和输出分开.视图是用户看到并与之交互的界面。视图向用户显示相关的数据,并能接受用户的输入,但是它并不进行任何实际的业务处理。模型是应用程序的主体部分。模型表示业务数据和业务逻辑。控制器接受用户的输入并调用模型和视图去完成用户的需求
2、 用自己的话简要阐述struts2的框架由哪几部分组成,struts2的执行流程是怎样的?
答:Struts 2框架本身大致可以分为3个部分:核心控制器FilterDispatcher、业务在控制器Action和用户实现的企业业务逻辑组件。核心控制器FilterDispatcherStruts 2框架的基础,包含了框架内部的控制流程和处理机制。业务控制器Action和业务逻辑组件是需要用户来自己实现的。用户在开发Action和业务逻辑组件的同时,还需要编写相关的配置文件,供核心控制器FilterDispatcher来使用。 Struts 2的工作流程与WebWork框架基本相同,
所以说Struts 2WebWork的升级版本。基本简要流程如下:1、客户端浏览器发出HTTP请求。2、根据l配置,该请求被FilterDispatcher接收。3、根据l配置,到需要调用的Action类和方法, 并通过IoC方式,将值注入给Aciton4Action调用业务逻辑组件处理业务逻辑,这一步包含表单验证。5Action执行完毕,根据l中的配置到对应的返回结果result,并跳转到相应页面。6、返回HTTP响应到客户端浏览器。
3、 struts2web里需要配置什么?
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
4、 输出值的strtus标签、循环的struts标签、判断的strtuts标签分别是什么?
<s:property>、<s:iterator>、<s:if></s:if> <s:else></s:else><s:elseif></s:elseif>
5、 要调用struts标签需要导入什么?
<%@taglib uri="/struts-tags" prefix="s" %>
三、 编程题
1、给出以下ActionStruts.XML配置文件描述 (注:请求为Test/Hello.action,返回页面为WebRoot根目录下的success.jsp)
urcompany.action;
public class HelloWorldAction
{
    private String message;
    public String getMessage()
    {
        return message;
    }
    public void setMessage(String message)
    {
        ssage = message;
    }
public String onPlay() throws Exception
    {
        System.out.Message());
        return "success";
    }
    public String execute() throws Exception
    {
        System.out.Message());
        return "success";
    }
}
参考答案<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
    "/dtds/struts-2.0.dtd">
<struts>
    <package name="default" namespace="/" extends="struts-default">
        <action name="Hello" class="urcompany.action.HelloWorldAction">
            <result name="success">/success.jsp</result>
        </action>
    </package>
</struts>
2、ActionUserAction中存在对象属性User user,其中User类中存在String userName属性,UserAction的部分代码如下所示,请给出使用OGNL语言从valueStack,Session,Request三种作用域中获得userName属性对应value的代码
public class UserAction{
    private User user;
    //getter,setter方法略
    public String execute()    {                    Context().getSession().put(userName,UserName());
    }
}
参考答案:从valueStack取值:<s:property value="user.userName"/>
Session取值:<s:property value="#session.userName"/>
Request取值:<s:property value="#request.user.userName"/>
3、请编写一个,该可以获得用户输入的用户名这个数据,业务逻辑为逐个判断用户名中是否包含“你”,“我”,“他”三个数据,如果包含则直接返回输入页面,如果不包含则运行至PersonAction。(除代码外,要给出和Action的配置文件)
提示:判断一个字符串是否包含指定的字符串,可以使用字符串对象的contains方法。
参考答案:l配置文件主要内容:
<package name="default" namespace="/" extends="struts-default">
    <interceptors>
        <interceptor name="personIcpt" class="st.icpt.PersonInterceptor"></interceptor>
    </interceptors>
    <default-interceptor-ref name="personIcpt"></default-interceptor-ref>
    <action name="person" class="st.action.PersonAction">

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。