Struts 2期末考试

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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="/xml/ns/javaee"

xmlns:xsi="/2001/XMLSchema-instance"

xsi:schemaLocation="/xml/ns/j avaee

/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) {

= 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"

"/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"

"/dtds/struts-2.0.dtd">

value="gb2312" />

class="ActionClass1">

name="success">/success.jsp

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

/success.jsp

相关文档
最新文档