`
lianxiangbus
  • 浏览: 528556 次
文章分类
社区版块
存档分类
最新评论

struts2 处理流程

阅读更多
1) 当servlet容器接收到一个请求后,将请求交给你在web.xml里配置的过滤器FilterDispatcher,调用它的doFilter()方法。
2) FilterDispatcher询问ActionMapper,以便确定这个请求有对应的action调用。
3) ActionMapper返回一个描述action调用的ActionMapping对象。
4) FilterDispatcher调用Dispatcher类的serviceAction()方法。
5) Dispatcher调用ActionProxy的execute ()方法。
6) ActionProxy设置ActionInvocation对象的执行上下文,然后调用其invoke()方法。
7) ActionInvocation的invoke()方法从拦截器映射中查找尚未执行的拦截器,调用它的intercept (invocation)方法,并将自身对象的引用作为参数传递给拦截器。
8) 拦截器完成某些预处理工作后,反过来调用ActionInvocation的invoke()方法。ActionInvocation维护着自己的状态,所以它知道哪些拦截器已经被执行,如果还有没执行的拦截器就继续执行它的intercept (invocation)方法
9) 如果所有的拦截器都已经执行过了,就调用Action实例的excute()方法(如果在struts.xml文件中没有被设置成其他方法的话)。
10) ActionInvocation根据Action执行返回的结果码,查出对应的result,调用result的execute(invocation)方法,将结果页面呈现给用户。
11) ActionInvocation的invoke()方法将控制权返回给拦截器映射中的最后一个拦截器,该拦截器完成所有必需的后期处理工作,然后从intercept (invocation)方法返回,允许前一个拦截器执行它自己的后处理工作,如此反复直到所有的拦截器都成功的返回。

12) ActionInvocation的invoke()方法执行完毕后,向ActionProxy返回一个String类型的结果码,最后ActionProxy清理状态并返回。




分享到:
评论

相关推荐

    Struts2的处理流程

    Struts2的处理流程

    struts2框架处理流程

    包含了struts2的处理流程以及struts2的配置文件,并附有处理流程显示图,更加清楚直观。

    struts2建立流程

    Struts 2以WebWork为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与ServletAPI完全脱离开,所以Struts 2可以理解为WebWork的更新产品。虽然从Struts 1到Struts 2有着太大的变化,...

    struts2流程与流程图

    一个请求在Struts 2框架中的处理大概分为以下几个步骤。  客户端提交一个(HttpServletRequest)请求,如上文在浏览器中输入 http://localhost: 8080/bookcode/ch2/Reg.action就是提交一个(HttpServletRequest)...

    一个Action多方法调用的Struts 2的应用程序

    利用Struts 2框架创建一个web项目chap2_e22,实现用户登录过程。具体要求是在loginAction类中分别用login()和registered()处理用户登录和注册的过程,分别创建login.jsp和register.jsp两个页面实现登录和注册的...

    Struts-_1.2.x_请求处理流程图

    Struts请求处理流程图,详细的说明了Struts从数据提交到结束的过程

    Struts2基本原理

    核心控制器FilterDispatcher是Struts 2框架的基础,包含了框架内部的控制流程和处理机制。业务控制器Action和业务逻辑组件是需要用户来自己实现的。用户在开发Action和业务逻辑组件的同时,还需要编写相关的配置...

    struts2 Demo

    这是一个struts2框架的处理流程的demo,里面有struts2基本的配置和模拟登录的例子,以及struts2前台后后台的数据交互方式的解释,代码中有完整的注释帮助理解struts2的基本流程,同时对jstl和struts2的标签也有一定...

    Struts简介 什么是Struts Struts基本运作流程

    Struts简介 什么是Struts Struts基本运作流程 ActionMapping类 Action类 ActionForm类 ActionError与ActionMessage 协同开发 模块化程序 Struts异常处理 Struts国际化支持 PlugIn接口 等等

    struts2分页代码的示例

    下面是我用Struts2做的一个分页显示实例,基本的思路是:把数据库表中的每一行数据封装成一个对象,用一个返回类型为List的方法返回这些对象,接着在Struts2的action里面定义一个List属性,用这个List来接收从数据库...

    Struts2详细工作流程

    核心控制器FilterDispatcher是Struts 2框架的基础,包含了框架内部的控制流程和处理机制。业务控制器Action和业务逻辑组件是需要用户来自己实现的。用户在开发Action和业务逻辑组件的同时,还需要编写相关的配置文件...

    Struts2的工作原理和流程

    2 这个请求经过一系列的过滤器(Filter)(这些过滤器中有一个叫做ActionContextCleanUp的可选过滤器,这个过滤器对于Struts2和其他框架的集成很有帮助,例如:SiteMesh Plugin) 3 接着FilterDispatcher被调用,...

    Struts2入门教程(全新完整版)

    一、准备工作及实例 3 1.解压struts-2.1.6-all.zip 3 2.六个基本包 3 3.初识struts2配置文件 4 ... 下面对struts2的基本执行流程作一简要说明,此流程说明可以结合官方提供的struts2结构图来看: 60

    Struts 2详细工作流程

    核心控制器FilterDispatcher是Struts 2框架的基础,包含了框架内部的控制流程和处理机制。业务控制器Action和业务逻辑组件是需要用户来自己实现的。用户在开发Action和业务逻辑组件的同时,还需要编写相关的配置文件...

    struts2学习教程

    struts2学习教程包括:第一个Struts2程序,处理一个form多个submit,struts.xml常用配置解析,使用validate方法验证数据,使用Validation框架验证数据,在Action类中获得HttpServletResponse对象的四种方法,上传...

    Struts2请求处理流程及源码分析[整理].pdf

    Struts2请求处理流程及源码分析[整理].pdf

    struts2执行顺序

    struts2执行顺序,清楚描述从处理请求到返回response的整个流程

    深入浅出Struts2(附源码)

    2.2 Struts的动作处理流程 15 2.3 拦截器 17 2.4 Struts配置文件 18 2.4.1 struts.xml文件 19 2.4.2 struts.properties文件 26 2.5 Struts应用程序示例 26 2.5.1 部署描述文件和Struts配置文件 27 2.5.2 动作...

    struts2 详解文档

    Struts 2的处理流程与Action的管理方式 为应用指定多个配置文件 动态方法调用和使用通配符定义action 请求参数接收 自定义类型转换器 全局类型转换器 访问或添加几个属性 文件上传 多文件上传 自定义拦截...

Global site tag (gtag.js) - Google Analytics