搜档网
当前位置:搜档网 › Struts 2期末考试

Struts 2期末考试

Struts 2期末考试
Struts 2期末考试

1、MVC模式(View-model-controller)

2、MVC模式的优点:

(1)低耦合性。视图层、模型层和控制层分离,很容易改变应用程序的数据层和业务规则,只需改变MVC的模型层就可以了。

(2)高重用性。多个视图可以对应一个模型,这样减少了代码的重复性及维护量,一旦模型发生改变,也易于维护。

(3)可实用性。MVC允许使用各种不同的表现层技术来访问同一个服务器端的代码。如jsp、velocity等。

(4)可维护性。3个模块层相分离,是的web应用更易维护和修改。

3、model2模式下,模型用javaBean充当,视图有jsp页面充当,控制器由servlet充当。

4.struts2是在struts1的基础上发展起来的,以webwork 为核心,采用webwork的设计理念。Struts2是webwork 的升级。

5、webwork是基于MVC架构模式的J2EE Web框架,现在的最新版本被拆分为XWork和WebWork2两个项目。WebWork的优点:

(1)action不需要与WebWork耦合,提高了代码的重用率。

(2)支持更多表现层技术,从而有更好的适用性。Webwork的特征:

(1)灵活的validation框架。运行开发者在XML文件中定义验证内容,在运行时通过interceptor自动应用,这样可以脱离Action类。

(2)Interceptor。在action处理的前后实现动态拦截,简化action代码。

(3)支持I18N

(4)支持OGNL表达式语言

(5)Type Conversion.允许类之间很容易实现对象的转换。(6)允许动态对象图表遍历和方法执行,使用valuestack 透明访问多beans的属性。

(7)Ioc容器。管理组件的生命周期,使客户不需要通过创建注册类获得组件实例。

(8)velocity templates .使UI组件可重用,从而允许开发者很容易地定制Web页面的look&feel。

(9)容易和第三方软件集成。例如hibernate、spring和sitemesh。

(10)支持多种视图技术。如jsp、velosity、freemarker 和xml等。

6、struts2框架的大致处理流程:

(1)客户端浏览器发送一个请求。

(2)核心控制器filterdispatcher根据请求决定调用合适的action。

(3)webwork的拦截器链自动对请求应用通过功能,如验证。

(4)回调action的execute()方法,该方法根据请求的参数来执行一定的操作。

(5)execute()方法的处理结果信息将被输出到浏览器中,struts2支持多种形式的视图。如jsp、html。

7、web.xml

xmlns="https://www.sodocs.net/doc/8e17927319.html,/xml/ns/javaee"

xmlns:xsi="https://www.sodocs.net/doc/8e17927319.html,/2001/XMLSchema-instance"

xsi:schemaLocation="https://www.sodocs.net/doc/8e17927319.html,/xml/ns/j avaee

https://www.sodocs.net/doc/8e17927319.html,/xml/ns/javaee/web-app_2_5. xsd">

struts2

org.apache.struts2.dispatcher.FilterDispatcher

struts2

/*

(2)

ShowWords.java

package action;

import com.opensymphony.xwork2.ActionSupport;

@SuppressWarnings("serial")

public class ShowWords extends ActionSupport{

private String name;

private String words;

public String getName() {

return name;

}

public void setName(String name) {

https://www.sodocs.net/doc/8e17927319.html, = name;

}

public String getWords() {

return words;

}

public void setWords(String words) {

this.words = words;

}

public String execute(){

return INPUT;

}else{

words = "欢迎您:" + name;

return SUCCESS;

}

}

}

(3)

Struts.Xml

"-//Apache Software Foundation//DTD Struts

Configuration 2.0//EN"

"https://www.sodocs.net/doc/8e17927319.html,/dtds/struts-2.0.dtd">

312"/>

extends="struts-default">

class="action.ShowWords">

name="success">/showWords.jsp

name="input">/inputWords.jsp

8、核心控制器FilterDispatcher:

核心控制器是struts2框架的基础,它包含了框架内部的

控制流程和处理机制。在web应用中,FilterDispatcher作

为一个filter运行,负责拦截所有的用户请求。如果用户

请求以.action结尾,则该请求被转入Struts框架处理。

Struts2框架按模块可以分为Servlet Filters、struts核心模

块、拦截器和用户实现模块。P33

Srtuts2框架处理一个请求的步骤:

(1)客户端提交一个请求(HttpServletRequest).

(2) 请求被提交到一系列的过滤器(filter),首先提交

ActionContextCleanUp然后提交到其他过滤器(SiteMesh等)

最后提交到FilterDispatcher。

(3) FilterDispatcher询问ActionMapper是否需要调用某个

Action来处理这个请求。如果ActionMapper决定需要调

用某个Action,则FilterDispatcher把请求的处理交给

ActionProxy。

(4) ActionProxy通过Configuration Manager(struts.xml)询问

框架的配置文件,找到需要调用的Action类。

(5) ActionProxy创建一个ActionInvocation实例,同时

ActionInvocation通过代理模式调用Action,在调用之前,

ActionInvocation会根据配置加载Action相关的所有拦截

器。

(6)一旦Action执行完毕,ActionInvocation负责根据

struts.xml中的配置找到对应的返回结果。

9、使用元素配置包时可以指定4个属性。

属性名name,必选,指定包的名称,该名称是该包被其他

包引用的key值。

属性名extends,可选,指明该包继承的其他包。

用extends继承包,父包在子包前定义。

Struts.xml

"-//Apache Software Foundation//DTD Struts

Configuration 2.0//EN"

"https://www.sodocs.net/doc/8e17927319.html,/dtds/struts-2.0.dtd">

value="gb2312" />

class="ActionClass1">

name="success">/success.jsp

extends="default" namespace="/skill">

/success.jsp

结果类型

(1)dispatcher结果类型用来表示“转发”到指定结果类型,它是Struts 2的默认结果类型。

(2)redirect结果类型用来“重定向”到指定的结果资源,该资源可以是JSP文件,也可以是Action类。(3)redirectAction结果类型也是重定向到其他资源,重新生成一个新的请求。

(4)其他结果类型

1、简述使用拦截的意义。

(1)通过拦截形式拦截器模块,极大地提高了系统开发的灵活性和复用性,AOP使用代理的方式,将多个拦截器和核心业务逻辑组合在一起,满业务需求。

(2)通过使用拦截器,可以使核心框架代码比以前更加简洁,使开发人员更加快捷地使用框架的特性。

2、简述输入校验流程。

(1)客户端校验。

(2)对请求的字符串参数进行类型转换,并设置为对应的Action属性值。

(3)如果类型转换出现异常,将异常信息封装到filedError中。

(4)调用Action的validateXxx()校验方法,其中xxx()方法是Action中对应的处理逻辑

方法。

(5)调用Action类的validate()校验方法。(6)完成上面的步骤后,框架开始检查在以上过程中是否产生了filedError,如果产生了,则

返回逻辑视图Input;反之,则返回处理方法

中的逻辑视图。

(7)系统根据上一步骤返回的逻辑视图,结合struts.Xml文件的配置内容。呈现相应的视图

页面。

相关主题