- 浏览: 62986 次
- 性别:
- 来自: 广州
-
文章分类
最新评论
都说Struts 2与Struts 1相差太大,Struts 2是从webWrok发展而来的,那什么是WebWord呢??看看下面的介绍.
1.3.1 WebWork框架
WebWork 2建立在Xwork之上,处理HTTP的响应和请求。WebWork 2使用ServletDispatcher将HTTP请求的变成Action(业务层Action类)、Session(会话)、Application(应用程序)范围的映射及Request请求参数映射。WebWork 2支持多视图表示,视图部分可以使用JSP、Velocity、FreeMarker、JasperReports、XML等。
从处理流程上来看,WebWork与Struts 1非常类似,它们的核心都由控制器组成,其中控制器都由两个部分组成:
-
核心控制器ServletDispatcher;
-
业务逻辑控制器Action。
WebWork改变了Struts 1严重依赖Servlet API的缺陷,使得WebWork更加灵活,并给测试工作带来了方便。图1.8显示了WebWork工作流程。
(1)一个初始的请求被发送到Servlet容器(如Tomcat或Resin),这个请求经过一个标准的Filter链,其中包括(可选的)ActionContextCleanUp Filter,如果要在应用程序中整合其他的技术如SiteMesh,就需要使用这个Filter。然后请求经过FilterDispatcher(注:WW2.2之前处理这个请求的是ServletDispatcher),在它里面ActionMapper会判断这个请求是否需要调用Action。
(2)如果ActionMapper决定应该调用一个Action,FilterDispatcher就把请求委托给ActionProxy,ActionProxy通过WebWork的配置文件管理器读取xwork.xml文件里的配置信息。然后创建一个实现了命令模式的ActionInvocation。这一过程包括在调用action本身之前调用所有的Interceptor(before()方法)。
(3)一旦Action方法返回,ActionInvocation就要查找xwork.xml文件中这个Action的结果码(Action Result Code)(一个String如success、input)所对应的result,然后执行这个result。通常情况下,result会调用JSP或FreeMarker模板来呈现页面(但不总是这样,例如result也可以是一个Action链)。当呈现页面时,模板可以使用WebWork提供的一些标签,其中一些组件可以和ActionMapper一起工作来为后面的请求呈现恰当的URL。
(4)最后Interceptor被再次执行(顺序和开始相反,调用after()方法),然后最终请求被返回给web.xml中配置的其他Filter。如果已经设置了ActionContextCleanUpFilter,那么FilterDispatcher就不会清理ThreadLocal中的ActionContext信息。如果没有设置ActionContextCleanUp Filter,FilterDispatcher会清理掉所有的ThreadLocal。
发表评论
-
OGNL表达式 用法详解
2012-04-19 11:44 9045表达式通常用来访问页面中的各种变量,进行结果输出. s ... -
struts2.2.3最小jar
2011-07-18 11:32 1809struts2-core-2.2.3.jar :Struts ... -
转: struts2 标签 2
2011-07-05 11:41 1559一、概要:1、JSP标签技术始于JSP1.12、作用: ... -
转:struts2 标签
2011-07-05 11:39 944struts标签的继承 BodyTagSuppor ... -
struts.xml文件属性配置
2011-06-24 16:32 1230开发中发现struts还有co ... -
FilterDispatcher配置
2011-06-24 16:30 1362配置Struts 2的FilterDispatcher类时,可 ... -
struts.xml配置详解
2011-06-24 16:29 786地址:http://www.cnblogs.com/fmric ... -
struts.properties配置详解
2011-06-24 16:14 974在Struts2的核心包中org\apache\strut ... -
转:Struts 2 下载文件(12)下
2011-06-22 18:54 892(2)同时修改配置文件,增加一个input逻辑视图,修 ... -
转:Struts 2 下载文件(12)中
2011-06-22 18:53 78511.3.2 在Action中指定下载资源 前面的 ... -
转:Struts 2 下载文件(12)上
2011-06-22 18:52 108911.3 Struts 2控制文件下载 文件下载相对于 ... -
转: Struts 2多文件上传(11)下
2011-06-22 18:51 852(3)在配置文件中增加如下配置: ... -
转: Struts 2多文件上传(11) 上
2011-06-22 18:50 88311.2 多个文件上传 很多应用都要求在一个界面中可以 ... -
转: struts 2专用表达式(10)下
2011-06-22 18:49 9148.2 Struts 2的OGNL OGN ... -
转: struts 2专用表达式(10)上
2011-06-22 18:47 817OGNL是Object Graphic Navigat ... -
转: 数据校验功能-AJAX输入校验(9)下
2011-06-22 18:45 12197.4.4 建立JSP视图 建立一个reg-aja ... -
转: 数据校验功能-AJAX输入校验(9)中
2011-06-22 18:43 8967.4.2 建立业务控制器 建立一个简单的业务 ... -
转: 数据校验功能-AJAX输入校验(9)上
2011-06-22 18:41 9357.4 AJAX输入校验 Struts 2框架在使用客 ... -
转: Struts 2的拦截器(8)下
2011-06-22 18:39 870(3)在ch5包内建立一个业务控制器Reg,如代码5. ... -
转: Struts 2的拦截器(8)上
2011-06-22 18:39 764拦截器(Interceptor)是Struts 2的核 ...
相关推荐
WebWork2 是一款基于Java的轻量级MVC(Model-View-Controller)框架,它在Web应用开发中提供了一种高效、灵活的解决方案。WebWork2 的设计目标是简化Web开发,提高代码的可维护性和可测试性,同时保持高度的定制能力...
WebWork2是一款基于Java的MVC(Model-View-Controller)框架,用于构建Web应用程序。在Web开发领域,它提供了一种结构化和模块化的开发方式,帮助开发者更高效地组织代码并实现业务逻辑。本指南将深入探讨WebWork2的...
总的来说,Spring 和 WebWork 的集成是通过共享同一个上下文和依赖注入机制来实现的,这使得开发者能够充分利用 Spring 的优势,同时保留 WebWork 的动态控制流程和用户友好的错误处理。这种集成方式在过去的 Java ...
1. **动作映射(Action Mapping)**:WebWork2通过配置文件定义动作映射,将URL请求映射到特定的Java类方法,简化了请求处理流程。 2. **强大的拦截器(Interceptor)机制**:拦截器可以在动作执行前后执行预处理和...
在深入研究WebWork源码时,开发者可以了解其内部的工作原理,包括请求处理流程、模型绑定、拦截器链的执行、异常处理机制等,这对于提高编程技能和理解MVC框架的设计模式非常有帮助。此外,查看`displaytag-1.0`源码...
它采用了Action和Interceptors的概念,使得业务处理流程更为清晰,同时提供了强大的异常处理机制。 2. **Action与控制器**:在Webwork2中,Action是处理用户请求的主要组件,它是业务逻辑的载体。开发者可以通过...
这个“WebWork中文参考手册”显然是针对想要学习和使用WebWork框架的初学者准备的资源。手册可能包含了框架的基本概念、核心组件、配置、控制器、模型、视图、动作、拦截器以及与Spring等其他框架的集成等内容。 在...
WebWork2是一个基于Java的MVC(模型-视图-控制器)框架,它在早期的J2EE开发中被广泛使用。本实例源代码提供了深入理解WebWork2工作原理和应用开发的机会。以下是对WebWork2核心知识点的详细阐述: 1. **MVC架构**...
2. Action与ActionForm:Action是WebWork中的控制器组件,处理用户的请求,执行相应的业务逻辑,并将结果传递给视图。ActionForm则用于封装请求参数,作为模型与控制器之间的数据载体。 二、WebWork架构 1. 请求...
9. **src**:源代码目录,包含了WebWork框架的源码或者示例应用的源码。 10. **lib**:库文件目录,存放了WebWork和其他依赖的第三方库。 **应用场景与学习价值:** WebWork 2.1.7虽然已不再活跃开发,但它的一些...
#### 一、WebWork框架概述 - **WebWork**:WebWork 是一款用于构建企业级 Java Web 应用程序的框架,它以模型-视图-控制器(MVC)架构为基础,为开发者提供了一种更加灵活的方式来处理用户的请求。随着版本的演进,...
**结果类型**:WebWork支持多种结果类型,如dispatcher、redirect、stream等,用于控制请求的处理流程和响应的方式。 ### WebWork框架的特点 - **灵活性**:WebWork提供了丰富的配置选项和插件系统,使得开发者...
3. **请求处理流程**:当一个HTTP请求到达时,WebWork会解析请求参数,然后通过Action Mapping找到对应的Action实例。`com`目录下的源代码包含了许多Action类,它们是业务逻辑的具体实现。 4. **Interceptors(拦截...
WebWork2.0是一款基于Java的企业级Web应用框架,它为开发者提供了强大的MVC(Model-View-Controller)架构支持,旨在简化Web应用程序的开发流程,提高代码的可维护性和可扩展性。本讲解将围绕WebWork2.0的核心概念、...
5. 页面流程管理:WebWork的Action链和ActionForward可以管理页面流程。 6. 模块化管理:Action和视图的分离使得Web应用能够模块化。 7. 灵活可扩展性:支持多种展现技术,易于与其他业务层或数据层框架集成。 8. ...
Webwork2是一个基于Java的轻量级Web应用框架,它为开发者提供了构建MVC(Model-View-Controller)架构的应用程序的强大工具。本教程“Webwork2-Guide”旨在指导用户理解和掌握Webwork2框架的核心概念和技术。让我们...