struts2并不是一个陌生的web框架,它是以Webwork的设计思想为核心,吸收struts1的优点,可以说
struts2是struts1和Webwork结合的产物。
struts2 的工作原理图:
一个请求在Struts2框架中的处理分为以下几个步骤:
1.客户端发出一个指向servlet容器的请求(tomcat);
2.这个请求会经过图中的几个过滤器,最后会到达FilterDispatcher过滤器。
3.过滤器FilterDispatcher是struts2框架的心脏,在处理用户请求时,它和请求一起相互配合访问struts2
的底层框架结构。在web容器启动时,struts2框架会自动加载配置文件里相关参数,并转换成相应的类。
如:ConfigurationManager、ActionMapper和ObjectFactory。ConfigurationManager 存有配置文件的一
些基本信息,ActionMapper存有action的配置信息。在请求过程中所有的对象(Action,Results,
Interceptors,等)都是通过ObjectFactory来创建的。过滤器会通过询问ActionMapper类来查找请求中
需要用到的Action。
4.如果找到需要调用的Action,过滤器会把请求的处理交给ActionProxy。ActionProxy为Action的代理对象
。ActionProxy通过ConfigurationManager询问框架的配置文件,找到需要调用的Action类。
5.ActionProxy创建一个ActionInvocation的实例。ActionInvocation在ActionProxy层之下,它表示了
Action的执行状态,或者说它控制的Action的执行步骤。它持有Action实例和所有的Interceptor。
6.ActionInvocation实例使用命名模式来调用,1. ActionInvocation初始化时,根据配置,加载Action相
关的所有Interceptor。2. 通过ActionInvocation.invoke方法调用Action实现时,执行Interceptor。在
调用Action的过程前后,涉及到相关拦截器(intercepetor)的调用。
7. 一旦Action执行完毕,ActionInvocation负责根据struts.xml中的配置找到对应的返回结果。返回结果
通常是(但不总是,也可能是另外的一个Action链)一个需要被表示的JSP或者FreeMarker的模版。在表
示的过程中可以使用Struts2 框架中继承的标签。
相关推荐
Struts2.0是Java Web开发中的一个强大框架,它基于Model-View-Controller(MVC)设计模式,为开发者提供了构建可维护性高、结构清晰的Web应用程序的工具。这个"Struts2.0视频教程+struts2.0中文教程"包含的资源旨在...
在你的实例中,`struts2.0开发实例.txt`文件很可能包含了一些具体的操作步骤、配置示例或者Action类的代码片段,这些都是学习和理解Struts2.0工作原理的重要参考资料。通过这个实例,你可以了解到如何将Struts2.0...
Struts 2.0 是一个基于 Model-View-Controller (MVC) 设计模式的Java Web应用程序框架。它并非Struts 1的直接升级,而是源自...理解和掌握Struts 2的工作原理和配置方式,对于构建高效、可维护的Java Web应用至关重要。
### Struts 2.0 详细配置解析 #### 一、Struts 2.0 简介 ...通过上述介绍,我们可以了解到 Struts 2.0 的核心概念及其工作原理。掌握了这些基础知识后,开发者可以更轻松地使用该框架构建高质量的 Web 应用程序。
- 拦截器的工作原理和如何自定义拦截器。 - 如何配置Struts2的配置文件,包括struts.xml和struts.properties。 - 结果类型的配置和使用,例如Redirect、Stream等。 - 插件的安装和使用,例如使用Freemarker或...
这个压缩包包含了Struts2.0的核心jar文件以及可能的源代码,使得开发者可以直接查看和理解框架内部的工作原理。 在Java开发中,jar(Java Archive)文件是一种归档格式,它集合了多个类文件和其他资源,便于分发和...
Struts2.0是Java Web开发中一个非常重要的框架,它基于MVC(Model-View-Controller)设计模式,提供了一种结构化的解决方案,用于构建更健壮、可维护的Web应用程序。本教程将详细讲解如何在Myeclipse集成开发环境中...
Struts 2.0是Java Web开发中一个非常重要的MVC框架,它为构建基于J2EE...通过学习以上知识点,并结合提供的Struts 2.0参考手册,开发者可以更好地理解Struts 2.0的工作原理,从而更高效地构建和维护Java Web应用程序。
Struts2.0是Java Web开发中非常重要的一个框架,它是Apache软件基金会的Jakarta项目下的一个产品。这个框架主要用于构建MVC(Model-View-Controller)架构的应用程序,为开发者提供了一种更加灵活和强大的控制层解决...
在开发Struts2.0项目时,开发者需要理解Action、拦截器(Interceptor)、结果(Result)和配置文件(如struts.xml)的工作原理。Action是业务逻辑的载体,拦截器则提供了在Action执行前后进行额外处理的能力,如登录...
首先,"Struts+2+(中文PDF版).rar"很可能是Struts2.0的基础教程,以中文形式详细介绍了框架的基本结构、配置和工作原理。这份文档通常会涵盖Action、拦截器(Interceptor)、结果(Result)和配置文件(struts.xml)...
5. **配置与拦截器**:讨论Struts2.0的核心配置文件,如struts-default.xml、struts-plugin.xml和自定义的struts.xml,以及拦截器的原理和使用,包括预定义的拦截器栈和自定义拦截器的实现。 6. **OGNL(Object-...
Struts2.0和Hibernate是两个非常重要的Java框架,它们在企业级Web应用程序开发中扮演着核心角色。Struts2.0是MVC(模型-视图-控制器)设计模式的一种实现,主要用于处理用户请求和控制应用程序流程。而Hibernate则是...
Struts2.0框架是Java Web开发中的一款经典MVC(Model-View-Controller)框架,它极大地...通过系统的理论学习和实践操作,可以深入理解Struts2.0的工作原理,提高开发效率,为构建高质量的Java Web应用打下坚实基础。
以下是对Struts2.0文件上传原理的详细解释: 1. **HTTP协议与表单提交** 在HTML表单中,如果需要上传文件,`<form>`标签必须包含`enctype="multipart/form-data"`属性。这是因为普通POST请求无法处理二进制数据,...
Struts2.0是Apache软件基金会的一个开源项目,它是一个基于MVC(Model-View-Controller)设计模式的Java Web应用程序框架。这个框架的主要目的是为了简化Web应用开发,提高代码的可维护性和可扩展性。Struts2.0在...
在本教程中,你将学习如何配置Struts2.0环境,创建第一个Hello World程序,理解Action和ActionMapping的配置,使用OGNL进行数据交互,了解拦截器的原理和编写,以及如何利用视图技术展示数据。此外,还将深入探讨...
接下来,"源码"部分可以帮助你理解Struts2.0框架的内部工作原理。通过阅读源码,你可以学习到: 1. **框架架构**:Struts2.0是如何接收和处理HTTP请求的,以及ActionInvocation、FilterDispatcher等关键组件的作用...