Struts2工作原理和执行流程图

在struts2的应用中,从用户请求到服务器返回相应响应给用户端的过程中,包含了许多组件如:Controller、ActionProxy、ActionMapping、Configuration Manager、ActionInvocation、Inerceptor、Action、Result等。下面根据 struts2.0体系架构图来解析这些组件之间的联系。

    1. 客户端初始化一个指向Servlet容器(例如Tomcat)的请求 (客户端提交一个HttpServletRequest请求。)
    2. 请求被提交到一系列的过滤器(Filter)。如(ActionContextCleanUp、其他过滤器(SiteMesh等)、 FilterDispatcher。注意:这里是有顺序的,先ActionContext CleanUp,再其他过滤器(Othter Filters、SiteMesh等),最后到FilterDispatcher。FilterDispatcher是控制器的核心,就是MVC的Struts 2实现中控制层(Controller)的核心。
    3. FilterDispatcher询问ActionMapper是否需要调用某个Action来处理这个(HttpServlet Request)请求,如果ActionMapper决定需要调用某个Action,FilterDispatcher则把请求的处理交给ActionProxy。
    4. ActionProxy通过Configuration Manager(struts.xml)询问框架的配置文件,找到需要调用的Action类。
    5. ActionProxy创建一个ActionInvocation实例,同时ActionInvocation通过代理模式调用Action。但在调用之前,ActionInvocation会根据配置加载Action相关的所有Interceptor(拦截器)。
    6. Action执行完毕后,ActionInvocation负责根据struts.xml中的配置找到对应的返回结果result。

时间: 2024-10-26 15:36:32

Struts2工作原理和执行流程图的相关文章

深入struts2(三)---工作机制和执行流程图

1     工作原理 1.1     体系架构 图2.1 struts2.0体系架构图 1.2     工作机制 针对上节体系架构图,下面分步说明执行流程 ?  客户端初始化一个指向Servlet容器(例如Tomcat)的请求: ?  这个请求经过一系列的过滤器(Filter)(这些过滤器中有一个叫做ActionContextCleanUp的可选过滤器,这个过滤器对于Struts2和其他框架的集成很有帮助,例如:SiteMesh Plugin): 注:从struts2.1.3后就不需要配置Act

Struts2工作原理

Struts2工作原理 Struts2请求响应流程: 在struts2的应用 中,从用户请求到服务器返回相应响应给用户端的过程中,包含了许多组件如:Controller.ActionProxy.ActionMapping. Configuration Manager.ActionInvocation.Inerceptor.Action.Result等.下面我们来具体看看这些组件有什么联系,它们 之间是怎样在一起工作的. (1)  客户端(Client)向Action发用一个请求(Request)

Struts2工作原理和核心文件

一.Struts2工作原理 如下图: 二.Struts2配置文件 1.web.xml 任何MVC框架都需要与Web应用整合,这就不得不借助于web.xml文件,只有配置了web.xml文件的Servlet才会被应用加载 通常,所有的MVC框架都需要Web应用加载一个核心控制器,对于Struts2框架而言,需要加载StrutsPrepareAndExecuteFilter,StrutsPrepareAndExecuteFilter加载Struts框架. <?xml version="1.0&

struts2 工作原理

struts2并不是一个陌生的web框架,它是以Webwork的设计思想为核心,吸收struts1的优点,可以说 struts2是struts1和Webwork结合的产物. struts2 的工作原理图: 一个请求在Struts2框架中的处理分为以下几个步骤: 1.客户端发出一个指向servlet容器的请求(tomcat): 2.这个请求会经过图中的几个过滤器,最后会到达FilterDispatcher过滤器. 3.过滤器FilterDispatcher是struts2框架的心脏,在处理用户请求

[转]Struts2工作原理

Struts2请求响应流程: 在struts2的应用中,从用户请求到服务器返回相应响应给用户端的过程中,包含了许多组件如:Controller.ActionProxy.ActionMapping.Configuration Manager.ActionInvocation.Inerceptor.Action.Result等.下面我们来具体看看这些组件有什么联系,它们之间是怎样在一起工作的. (1)  客户端(Client)向Action发用一个请求(Request) (2)  Container

Struts2工作原理及特点

1 客户端发送一个Request请求2 这个请求经过一系列的过滤器(Filter) (先经过ActionContextCleanUp的可选过滤器,然后经过其他过滤器, 最后才经过FilterDispatcher) 3 FilterDispatcher去询问ActionMapper来决定这个请是否需要调用某个Action 4 如果ActionMapper决定需要调用某个Action,FilterDispatcher把请求的处理 交给ActionProxy(动态代理) 5 ActionProxy通过

Struts2工作原理及流程

Struts2是基于MVC设计模式的JavaWeb 框架技术. 基于Struts2开发Java Web项目的主要步骤如下: (1)在web.xml中配置FilterDispatcher. (2)设计和编写视图组件(JSP页面). (3)编写用来实现视图组件的业务逻辑组件JavaBean. (4)编写视图组件对应的业务控制器Action,在该Action中调用业务逻辑组件JavaBean,进行业务逻辑处理. (5)配置Action,即修改struts.xml配置文件.在struts.xml中配置逻

Struts2 简单实例 / 工作原理 / 动态调用 / 多个配置文件

Struts2 动态方法调用 动态方法调用就是为了解决一个Action对应多个请求的处理,以免Action太多. 1.指定method属性 2.感叹号方式 3.通配符方式 Demo结构图 web.xml标准配置 <?xml version="1.0" encoding="UTF-8"?> <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee&qu

深入研究Struts2(一)---Struts2是什么?它的工作原理是什么?

本文绝对原创, 欢迎转载, 但是转载请记得注明文章出处:http://blog.csdn.net/izard999/article/details/39891281 近4年都在从事Android方 面的工作, 最近换到一家单位做技术主管, 拿到外包的代码发现是Struts2做的, 5年之前对Struts2还是有一定见解的, 但是由于多年不用, 导致还是有些小淡忘,  翻出以前记录的一些笔记和心得, 再加上从官方文档又看到一些版本更新带来的一些新东西, 于是决定再次深入研究一次. 也希望此系列文章