Struts2的基本原理,strut2官网的原理图片如下,显示为struts2的整体结构
1)客户端初始化一个指向Servlet容器(例如Tomcat)的请求
2)这个请求经过一系列的过滤器(Filter)(这些过滤器中有一个叫做ActionContextCleanUp的可选过滤器,这个过滤器对于Struts2和其他框架的集成很有帮助,例如:SiteMesh Plugin)
3)接着FilterDispatcher被调用,FilterDispatcher询问ActionMapper来决定这个请是否需要调用某个Action
4)如果ActionMapper决定需要调用某个Action,FilterDispatcher把请求的处理交给ActionProxy
5)ActionProxy通过Configuration Manager询问框架的配置文件,找到需要调用的Action类
6)ActionProxy创建一个ActionInvocation的实例。
7)ActionInvocation实例使用命名模式来调用,在调用Action的过程前后,涉及到相关拦截器(Intercepter)的调用。
8)一旦Action执行完毕,ActionInvocation负责根据struts.xml中的配置找到对应的返回结果。返回结果通常是(但不总是,也可 能是另外的一个Action链)一个需要被表示的JSP或者FreeMarker的模版。在表示的过程中可以使用Struts2 框架中继承的标签。在这个过程中需要涉及到ActionMapper
在上述过程中所有的对象(Action,Results,Interceptors,等)都是通过ObjectFactory来创建的。
分享到:
相关推荐
2. **ActionServlet处理**:`ActionServlet`是Struts框架的核心组件,它负责解析请求并根据`struts-config.xml`配置文件来决定如何进一步处理。`struts-config.xml`文件定义了应用的各个组件,如Action、ActionForm...
在Struts 1.2.x中,请求处理流程是整个框架的核心部分,它涉及到了从用户发起请求到服务器响应的完整过程。下面将详细解释这个流程。 1. **请求开始**: 当用户通过浏览器向服务器发送HTTP请求时,请求通常会指向一...
Struts2的`ActionMapping`组件会根据请求的URL解析出对应的Action类和方法。URL通常包含Action的名称,例如`/login!execute.action`,这里的`login`就是Action的名称,`execute`是默认执行的方法。Struts2通过`...
以下是Struts工作流程的详细说明: 1. **模型(Model)**: 模型层主要负责应用程序的状态管理和业务逻辑处理。在Struts框架中,模型通常由JavaBean或Enterprise JavaBeans(EJB)来实现。JavaBean是简单的Java类...
3. **请求解析**: ActionServlet根据请求URL查找Struts-config.xml配置文件,找到对应的ActionMapping,然后创建一个ActionForm对象,将请求参数填充到ActionForm中。 4. **业务逻辑处理**: ActionServlet实例化并...
Struts-config详解 Struts-config.xml 是Struts框架的核心配置文件,它描述了所有的Struts组件。在这个文件中,我们可以配置主要的组件及次要的组件。下面是struts-config.xml文件的主要元素: 一、struts-config....
### Struts1的工作流程详解 #### 一、概述 Struts1是Apache Struts的第一个版本,它是基于Java Servlet/JavaServer Pages技术构建的MVC框架。对于初学者来说,了解Struts1的工作流程是非常重要的,这有助于理解...
**Struts2工作流程详解**: 1. **客户端请求**:用户通过浏览器发起HTTP请求,目标通常是一个Action,如`http://localhost:8080/yourApp/yourAction.action`。 2. **过滤器链**:请求首先经过一系列过滤器,包括`...
4. **拦截器(Interceptors)**:Struts2的一个重要特性是拦截器,它们可以插入到Action调用的流程中,执行预处理和后处理任务,如日志记录、权限检查等。`ch03_1`到`ch03_4`可能会涉及自定义拦截器的编写和使用。 ...
### Struts框架响应客户请求的工作流程详解 #### Struts框架简介 Struts是一个开源的Java Web应用程序框架,属于MVC(Model-View-Controller)架构模式的一种实现。它通过简化Web应用开发,使得开发者能够更加关注...
Struts2的核心过滤器是`FilterDispatcher`,它负责整个请求/响应的处理流程。在`web.xml`中配置过滤器的顺序非常重要,因为它们会按照配置的顺序依次执行。例如,下面展示了如何配置字符编码过滤器和Struts2过滤器:...
Struts2提供了一套完善的异常处理机制,允许开发者自定义错误页面和错误处理策略,确保应用程序的健壮性。 **10. AJAX支持** Struts2通过Struts2-jquery插件或JSON结果类型,支持异步更新,提供更丰富的用户体验。 ...
Struts 是一个强大的Java Web应用程序开发框架,它提供了一套丰富的自定义标签库,使得开发者在构建用户界面时能够更加方便地处理业务逻辑和数据展示。本文将详细讲解Struts中的Bean Tags、HTML Tags和Logic Tags的...
请求处理流程:** 1. 用户向服务器发送请求,请求通常包含一个ActionForm对象的属性值。 2. ActionServlet捕获请求,解析ActionForm中的数据。 3. 根据struts-config.xml中的配置,ActionServlet将请求映射到对应...
2. Struts的ActionServlet接收到请求,解析请求参数,根据struts-config.xml配置找到对应的Action实例。 3. Action实例处理业务逻辑,可能需要与模型层交互获取或更新数据。 4. 处理完成后,Action返回一个Action...