文章翻译自Struts 2官方文档,初次翻译,请指正。
下面的图片描述了框架的体系结构。
在上图中,一个初始请求(request)到达Servlet容器(例如Jetty或者Resin),这个请求通过一个标准的过滤器链。过滤器链包含(可选的)ActionContextCleanUp过滤器,这个过滤器在使用集成技术,例如SiteMesh Plugin,时非常有用。下一步,必须的FilterDispatcher被调用,FilterDispatcher反过来查阅ActionMapper,从而决定这个请求是否需要调用action。
如果ActionMapper确定需要调用action,FilterDispatcher就把控制权委托给ActionProxy。ActionProxy查阅框架的Configuration Files管理器(从struts.xml文件初始化)。下一步,ActionProxy创建一个ActionInvocation,ActionInvocation负责命令模式(command pattern)的实现。这包含在调用Action本身前调用任意的Interceptors(the before clause)。
一旦Action返回,ActionInvocation负责在struts.xml文件中查找与Action result code相关的合适的result。然后执行result,通常(并不总是,例如在Action Chaining的情形)包含渲染一个用JSP或者FreeMarker编写的的模板文件,模板文件可以使用框架提供的Struts Tags标签。这些组件的一部分和ActionMapper一起为额外的请求渲染合适的URL。
ObjectFactory创建体系结构中的所有对象(Actions,Results,Interceptors等等)。ObjectFactory是可插入的。我们可以因为任何理由而提供我们自己的ObjectFactory,这需要知道框架在什么时候创建对象。一个用Spring实现的流行的ObjectFactory是由Spring Plugin提供的。
拦截器再次被执行(以相反的顺序,成为the after clause)。最后,响应(response)通过在web.xml配置的过滤器返回。如果ActionContextCleanUp过滤器存在,FilterDispatcher将不会清理ThreadLocal ActionContext。如果ActionContextCleanUp过滤器不存在,FilterDispatcher将清理ThreadLocals。
相关推荐
Struts2是一个强大的Java web应用程序框架,用于构建和部署企业级的MVC(Model-View-Controller)应用。第18章的源码主要涵盖了Struts2与Struts1的集成以及Struts2的验证机制。以下是这些源码中涉及的关键知识点: ...
通过阅读《Struts2权威指南》,开发者不仅可以掌握Struts2框架的使用,还能深入理解MVC设计模式,提高Web应用开发的效率和质量。这本书对于初学者和有一定经验的开发者来说都是宝贵的参考资料。
《Struts2技术内幕:深入解析Struts2架构设计与实现原理》以Struts2的源代码为依托,通过对Struts2的源代码的全面剖析深入探讨了Struts2的架构设计、实现原理、设计理念与设计哲学,对从宏观上和微观上去了解Struts2...
《Struts2技术内幕:深入解析Struts2架构设计与实现原理》以Struts2的源代码为依托,通过对Struts2的源代码的全面剖析深入探讨了Struts2的架构设计、实现原理、设计理念与设计哲学,对从宏观上和微观上去了解Struts2...
《Struts2权威指南》是李刚先生撰写的一本深入解析Struts2框架的专业书籍,其源代码的提供对于读者理解和实践Struts2框架具有极大的帮助。 源代码通常包含了书中讲解的各种示例和实战项目,使得学习者能够通过实际...
这本书《Struts2权威指南》很可能是按照以上这些方面详细展开讲解,对于初学者来说,它将引导你逐步掌握Struts2的各个概念和实践技巧。同时,由于其内容详尽且清晰,也适合作为开发者日常查阅的工具书,帮助解决实际...
在Struts2中,全局结果集(Global Results)是一种设计模式,它允许开发者定义一组通用的结果,这些结果可以在整个应用中重用,而无需在每个Action类中单独配置。这提高了代码的复用性和维护性。 全局结果集的概念...
不用多说了,Struts 2权威指南--基于WebWork核心的MVC开发(高清完整版),解压出来有200多M,因为权限不怎么够,我一共分了12卷,是一本不可多得的好书。第一卷附目录: 第1章 Struts 2概述,第2章 Struts 2下的Hello...
这本书《Struts2权威指南》全面深入地介绍了这个框架的核心概念、配置、最佳实践以及常见问题的解决方案。以下是基于该书和Struts2框架的一些主要知识点: 1. **Struts2框架基础**:Struts2是Struts1的升级版,解决...
资源名称:Struts2技术内幕:深入解析Struts架构设计与实现原理内容简介:本书由国内极为资深的Struts2技术专家(网名:downpour)亲自执笔,iteye兼CSDN产品总监范凯(网名:robbin)以及51CTO等技术社区鼎力推荐。...
Struts2是Java Web开发中一个非常重要的框架,它基于MVC(Model-View-Controller)设计模式,为开发者提供了一种结构化和灵活的方式来构建应用程序。本《Struts2权威指南》结合了源码分析,旨在帮助读者深入理解...
Struts1 和 Struts 2 是两种非常流行的Java Web开发框架,它们都提供了对国际化(i18n)的支持,使得应用能够根据用户的语言和地区显示相应的本地化内容。国际化是软件设计的一个重要方面,它允许应用程序在全球范围...
Struts2权威指南 带目录索引完整版
Struts2是Java Web开发中一个非常重要的框架,它基于MVC(Model-View-Controller)设计模式,为开发者提供了一种结构化和可扩展的方式来构建动态网站应用程序。《Struts2 权威指南》系列书籍是深入学习该框架的重要...
综上所述,《Struts2技术内幕-深入解析Struts2架构设计与实现原理》这本书详细介绍了Struts2的各个方面,无论是对于初学者还是有经验的开发者,都能从中获取到宝贵的知识,理解Struts2的精髓,提升开发效率和应用...
struts2权威指南 电子书 配套源码 文件大小153mb 分为8个压缩包,每分卷1分,每分卷20兆(最多只让上传20兆,没有办法) struts2权威指南电子书连接:http://sdan250.download.csdn.net/user/sdan250/all/3
《Struts2技术内幕:深入解析Struts2架构设计与实现原理》由国内极为资深的Struts2技术专家(网名:downpour)亲自执笔,iteye兼CSDN产品总监范凯(网名:robbin)以及51CTO等技术社区鼎力推荐。 本书以Struts2的...
- **struts.properties**:全局配置文件,设置Struts2的行为属性。 - **package和namespace**:用于组织Action和拦截器栈。 4. **使用Freemarker**: - **模板语法**:学习Freemarker的基本语法,如何访问...