`

struts2 源码分析 类调用时序图

 
阅读更多



 

 

1、客户端初始化一个指向Servlet容器(例如Tomcat)的请求;

 

2、这个请求经过一过滤器(StrutsPrepareAndExecuteFilterFilter)

 

3、接着Dispatcher被调用,Dispatcher询问ActionMapping来决定这个请求是否需要调用某个Action;

 

4、如果ActionMapping决定需要调用某个Action,Dispatcher把请求的处理交给ActionProxy;

 

5、ActionProxy通过Configuration Manager询问框架的配置文件,找到需要调用的Action类;

 

6、ActionProxy创建一个ActionInvocation的实例。

 

7、ActionInvocation实例使用命名模式来调用,在调用Action的过程前后,涉及到相关拦截器(Intercepter)的调用。

 

8、一旦Action执行完毕,ActionInvocation负责根据struts.xml中的配置找到对应的返回结果。返回结果通常是(但不总是,也可能是另外的一个Action链)一个需要被表示的JSP或者FreeMarker的模版。在表示的过程中可以使用Struts2 框架中继承的标签。在这个过程中需要涉及到ActionMapper。

 

 

 

  • 大小: 20.2 KB
分享到:
评论

相关推荐

    struts2 源码分析

    Struts2 源码分析 Struts2 是一个基于MVC 模式的Web 应用程序框架,它的源码分析可以帮助我们更好地理解框架的内部机制和工作流程。下面是Struts2 源码分析的相关知识点: 1. Struts2 架构图 Struts2 的架构图...

    struts2源码分析总结

    本文将深入探讨Struts2的源码分析,特别是关于StrutsPrepareAndExecuteFilter的初始化过程,这是Struts2的核心组件之一,负责处理HTTP请求。 首先,我们来看`StrutsPrepareAndExecuteFilter`的初始化。这个过滤器...

    struts2源码分析

    struts2源码详细解析51CTO下载-struts2源代码分析(个人觉得非常经典)

    Struts2源码分析

    在深入理解Struts2的工作原理时,源码分析是必不可少的步骤。Struts2的核心设计理念和设计模式相比Struts1.x有了显著的变化,这使得它成为一个独立且成熟的框架。 首先,Struts2的架构基于WebWork的核心,这意味着...

    struts的执行的核心流程时序图

    struts的执行的核心流程时序图

    中兴struts2 时序图

    通过分析中兴Struts2的时序图,我们可以理解框架如何有效地协调各个组件,以实现高效且可维护的web应用。 在《时序图及简要说明.doc》文档中,可能会包含更详细的解释,比如各个组件的具体交互细节、特定场景下的...

    struts2部分源码分析

    总的来说,Struts2的源码分析涉及Action的创建与执行、Interceptor的调用链、FilterDispatcher的请求调度以及Result的展示机制。通过对这些关键组件的深入理解和代码研究,开发者可以更好地掌握Struts2框架,提高...

    Struts2源码阅读

    本文将深入探讨Struts2的核心概念、类和请求处理流程。 首先,我们来看Struts2的架构流程。当客户端发起一个请求时,请求会经过一系列的Filter,首先是`ActionContextCleanUp`过滤器,它的主要任务是清理当前线程的...

    Struts2_动态方法调用

    Struts2_动态方法调用,使用struts2架构的动态方法进行资源调用

    struts2 源码解读

    源码分析是提升编程技能和解决问题的关键,特别是对于复杂的框架如Struts2,理解其内部工作原理能够帮助我们优化应用性能,修复潜在问题,并进行定制化开发。 首先,Struts2的核心组件包括Action、Result、...

    Struts2 动态方法调用(十三)

    在Struts2中,动态方法调用(Dynamic Method Invocation,DMI)是一种特性,允许我们通过URL直接调用Action类的方法,而无需在配置文件中显式指定。这在某些情况下提供了更大的灵活性。 在Struts2的动态方法调用中...

    struts2源码最新

    最新版的Struts2源码可以从GitHub的Apache官方仓库获取,这为我们提供了深入理解其内部工作原理和定制功能提供了可能。 Struts2的核心特性包括: 1. **Action与结果**:在Struts2中,业务逻辑处理主要由Action类...

    struts2框架源码

    深入理解Struts2的源码对于提升Java Web开发技能,尤其是在面试中讨论底层实现时,具有非常重要的价值。 首先,我们来看看Struts2的核心组件和设计理念: 1. **Action**:在Struts2中,Action类是业务逻辑处理的...

    struts2拦截器时序图

    总结来说,Struts2拦截器及其时序图展示了拦截器在Action处理过程中的工作原理和顺序。通过拦截器链,开发者可以灵活地对Action的调用进行增强和控制,实现诸如数据校验、日志记录等功能,这些功能是构建企业级Java ...

    struts 2 源码 导入eclipse工程

    通过上述步骤和知识点,你可以对Struts 2有更深入的理解,并且能够利用Eclipse的强大工具进行调试和代码分析,提升开发效率。同时,熟悉源码也有助于定制化开发和解决实际问题。在实践中不断探索和学习,才能更好地...

    Struts2动态方法调用

    这个配置表示所有以`save_`开头的请求都会映射到`SaveAction`类上,Struts2会自动根据请求的剩余部分尝试调用相应的方法。比如,请求`save_user`会被解析为调用`SaveAction`的`user()`方法。 在实际开发中,Struts...

    struts2源代码分析

    `org.apache.struts2.dispatcher`包包含了Struts2的核心类,如Dispatcher,它是处理请求的关键组件。`org.apache.struts2.impl`包是对WebWork的扩展,提供了StrutsActionProxy、StrutsActionProxyFactory和...

    struts2 源码绝对完整

    Struts2是一个基于MVC(Model...通过阅读这些关键类的源码,你可以理解Struts2内部的流程控制和数据传递,从而更好地利用这个框架。同时,学习源码还可以帮助你解决实际开发中遇到的问题,提升你的问题定位和调试能力。

Global site tag (gtag.js) - Google Analytics