`
kavy
  • 浏览: 872814 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Struts2工作流程

    博客分类:
  • web
 
阅读更多



上图来源于Struts2官方站点,是Struts 2 的整体结构。
一个请求在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来创建的。

 

转自:http://penghuaiyi.iteye.com/blog/216854

分享到:
评论

相关推荐

    Struts2工作流程图

    虽然Struts2号称是一个全新的框架,但这仅仅是相对Struts 1而言。Struts 2 与Struts 1相比,确实有很多革命性的改进,但它并不是新发布的新框架,而是在另一个赫赫有名的框架:WebWork基础上发展起来的。从某种程度...

    struts2工作流程

    struts2工作流程struts2工作流程struts2工作流程struts2工作流程struts2工作流程struts2工作流程struts2工作流程struts2工作流程struts2工作流程

    struts2小程序 struts2代码

    这些配置是理解程序工作流程的关键。 3. **Interceptor拦截器**:拦截器允许在Action执行前后插入自定义逻辑,如日志、权限检查等。在项目中,可能会看到如`params`、`validation`、`exception`等内置拦截器的使用...

    Struts2 应用程序示例

    首先,Struts2是基于Model-View-Controller (MVC)设计模式的,它简化了从前端到后端的交互流程。在Struts2中,Action类扮演控制器的角色,处理用户的请求,并调用模型层进行业务逻辑处理。同时,Struts2通过配置文件...

    struts2工作原理

    struts2工作原理、请求响应流程。。。。。。。。。。。。。。。

    Struts2详细工作流程

    Struts 2的工作流程相对于Struts 1要简单,与WebWork框架基本相同,所以说Struts 2是WebWork的升级版本。Struts 2框架按照模块来划分,可以分为Servlet Filters、Struts核心模块、拦截器和用户实现部分。

    struts2 原理 解析 图

    这张图是理解Struts2工作流程的重要辅助工具,通过它你可以直观地看到每个组件如何协同工作。 `struts原理.txt`文件可能包含了文字描述,进一步解释了Struts2的核心概念和机制,比如Action的配置、结果映射、拦截器...

    Struts2工作机制

    总的来说,Struts2的工作流程大致为:请求到达->过滤器Dispatcher拦截->查找Action映射->创建Action实例->执行拦截器链->调用Action的execute方法->返回Result->渲染视图。这种设计允许开发者将业务逻辑、数据验证、...

    Struts2框架程序示例

    通过学习和实践这个Struts2框架程序示例,开发者可以深入理解Struts2的工作原理,掌握如何创建Action、编写Interceptor、配置Action与Result的映射,以及如何利用Struts2的其他特性来提高开发效率和代码质量。...

    struts2教程源代码

    理解不同的结果类型,如“dispatcher”(用于转发到JSP)和“stream”(用于下载文件),是掌握Struts2工作流程的关键。 4. **拦截器**:Struts2的拦截器机制允许在Action调用前后插入自定义逻辑,如日志、权限检查...

    Struts2执行流程

    Struts2执行流程 1. web.xml 部署描述符 2. FilterDispatcher 实现StrutsStatics, Filter接口 (1)Filter:一个filter是一个对象用于执行过滤任务为每个请求资源(一个servlet或静态内容),或响应一个资源,或两者.过滤...

    struts2示例程序

    这个"struts2示例程序"是为了帮助初学者理解并熟悉Struts2框架的基本概念和工作流程。该程序基于Struts2的2.0.14版本,这是Struts2的一个较早版本,但其核心概念和机制在后续版本中仍然适用。 Struts2的核心特性...

    struts2项目开发

    Struts2 项目开发 Struts2 是一个基于 Java Web 的框架,广泛应用于 Web ...通过了解 Struts2 框架的应用、开发流程、技术架构、实践经验等方面的知识点,可以更好地应用 Struts2 框架,开发高质量的 Web 应用程序。

    struts2所有jar包程序文件

    本资源包含"struts2所有jar包程序文件",是开发者进行Struts2应用开发不可或缺的组件集合。 在Java Web开发中,jar(Java Archive)文件是一种归档格式,用于打包多个类文件和相关的元数据。Struts2框架的jar包通常...

Global site tag (gtag.js) - Google Analytics