上图来源于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来创建的。
[/img]上图来源于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来创建的。
- 大小: 46.9 KB
分享到:
相关推荐
今天在搞ssh中的一个,strut,感觉这个框架还是不错的!以后可以好好的利用,用来找工作!
Struts 2框架本身大致可以分为3个部分:核心控制器FilterDispatcher、业务控制器Action和用户实现的企业业务... Struts 2的工作流程相对于Struts 1要简单,与WebWork框架基本相同,所以说Struts 2是WebWork的升级版本。
NULL 博文链接:https://diaochenlong2.iteye.com/blog/1830592
10 MVC和Struts 基本原理.ppt 11 Struts标签和错误处理.ppt 12 Struts2基础开发.ppt 13 Hibernate基础编程.ppt 14 Hibernate高级编程.ppt 15 Spring基础编程.ppt 16 Struts、Spring、Hibernate的整合.ppt 17 EJB3.0_...
10 MVC和Struts 基本原理(共26页) 11 Struts标签和错误处理(共38页) 12 Struts2基础开发(共30页) 13 Hibernate基础编程(共26页) 14 Hibernate高级编程(共27页) 15 Spring基础编程(共24页) 16 Struts、...
个人实现的struts2的execute的基本步骤。希望大家参考指教
从源代码中发现,基本上每一个Struts2类都访问了WebWork提供的功能,从而也可以看出Struts2与WebWork千丝万缕的联系。但无论如何,Struts2的核心功能比如将请求委托给哪个Action处理都是由xwork完成的,Struts2只是...
对struts的原理实现。做到了和struts的功能基本一样,但肯定没有struts那么完善,毕竟是个人完成的。
Struts1工作原理浅析 1.引入struts1 2.struts1工作原理 3.struts1工作机制 4.struts1的安装于基本配置 5.ActionServlet
推荐完整精品J2EE课件 JavaEE程序设计与应用开发教程 10 MVC和Struts 基本原理(共26页).ppt 推荐完整精品J2EE课件 JavaEE程序设计与应用开发教程 11 Struts标签和错误处理(共38页).ppt 推荐完整精品J2EE课件 ...
struts实现简单登录实例,体会struts的基本原理。
Struts framework的工作原理和组件 7 Struts ActionServlet控制器对象 8 Struts Action Classes 8 Struts Action Mapping 9 使用ActionForward导航 10 Struts ActionForm Bean捕获表单数据 11 Struts的其他...
很好的介绍struts的文章,自己就是一小节一小节学习的,每一小节都向目标迈进一步.所以将资源分了几个部分,这样大家学起来也比较有成就感.:) 本节介绍了struts的基本原理,流程图看起来很直接的哦..
Struts 框架的基本概念及实现MVC模式的原理.rar
Struts framework的工作原理和组件 7 Struts ActionServlet控制器对象 8 Struts Action Classes 8 Struts Action Mapping 9 使用ActionForward导航 10 Struts ActionForm Bean捕获表单数据 11 Struts的其他组件 12 ...
struts1.2框架技术的基本原理及其组件的用法
完整指南struts2 从struts2的基本配置 到深入学习运行原理
对struts的运行原理进行了简单的实现希望对大家有所帮助,不足之处还请大家指正
这是学习struts2时记得重点笔记,包括了一些原理,ognl语句的编写,以及如何设置拦截器等等一些基本知识,起到复习和巩固的作用