1、  由容器创建HttpServletRequest请求,这个请求经过一系列的过滤器,最终到struts2的核心过滤器(FilterDispatch),

2、  核心过滤器会根据url请求获得Action名称,核心过滤器根据Action名称去询问ActionMapper是否有此Action名称的配置,如果没有,会提示404错误,如果有

3、  核心过滤器会把Action的执行权限给到ActionProxy(Action代理),ActionProxy会去读取ActionConfiguration(Action的配置信息)的信息,ActionProxy会根据配置信息生成ActionInvocation(就是拦截器与Action对象的一个列表)对象,ActionInvocation对象会根据列表中的对象(指的是拦截器和Action的对象),按顺序执行。

4、  ActionInvocation在执行拦截器(执行顺序1、2、3),最后执行Action,Action返回结果逻辑字符串

5、  执行完成Action后,回到拦截器(反方向执行拦截器,执行拦截器的顺序编程了:3、2、1),最终返回界面。

struts2原理理解的更多相关文章

  1. Struts2 原理

    .Struts2原理 .Struts 1 原理 .Struts1 和webwork的关系 .HttpServletRequest Struts2原理

  2. struts2原理架构图

    struts2 原理架构图

  3. JUC回顾之-ConcurrentHashMap源码解读及原理理解

    ConcurrentHashMap结构图如下: ConcurrentHashMap实现类图如下: segment的结构图如下: package concurrentMy.juc_collections ...

  4. Struts2笔记1:--Struts2原理、优点、编程流程、6大配置文件以及核心配置文件struts.xml

    Struts2原理(底层使用的是Servlet的doFilter方法): Struts2优点: 第一个Struts程序: 在开发Struts程序之前,首先要导入额外的jar包,基本需求的是14个jar ...

  5. POJ1523(割点所确定的连用分量数目,tarjan算法原理理解)

    SPF Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 7406   Accepted: 3363 Description C ...

  6. java的classLoader原理理解和分析

    java的classLoader原理理解和分析 学习了:http://blog.csdn.net/tangkund3218/article/details/50088249 ClassNotFound ...

  7. js 闭包原理理解

    问题?什么是js(JavaScript)的闭包原理,有什么作用? 一.定义 官方解释:闭包是一个拥有许多变量和绑定了这些变量的环境的表达式(通常是一个函数),因而这些变量也是该表达式的一部分. 很显然 ...

  8. Struts2原理

    Struts 2以WebWork优秀的设计思想为核心,吸收了Struts 1的部分优点,建立了一个兼容WebWork和Struts 1的MVC框架,Struts 2的目标是希望可以让原来使用Strut ...

  9. 对struts2一些理解

    1.strust2框架是什么?为解决什么问题出现? Struts2是在WebWork+xwork基础发展而来的. 2. strust2的优缺点优点: 支持Ajax 支持Ognl标签 提供了强大的拦截器 ...

随机推荐

  1. hdu1087 dp

    题意:给定一串数字,要求选取一个严格递增的子序列,使序列和最大. dp[i] 表示以 i 为结尾的子序列的最大和,dp[i] = max{dp[j]+a[i]}(j 从 0 到 i-1),dp[0]是 ...

  2. Unity 相关经典博客资源总结(持续更新)

    就作为一个记录吧,把平时看过的Unity相关的一些好的Blog记录并分享. 好的论坛: Unity官方脚本  点评:这个不用说了,最核心的内容,理解整个Unity引擎的方方面面,梳理结构. Unity ...

  3. 编写一个Singleton程序(单例)

    public class Test { private static Test test = new Test(); private Test(){}//构造方法私有化 private static ...

  4. js 常用方法

    1: 五秒后跳出提示框 setTimeout("alert('已经过了五秒了')",5000) 2:  十秒后自动关闭窗口 <script language="ja ...

  5. 免费提供UG、ProE二次开发、定制化开发服务

    免费提供UG.ProE二次开发,定制开发服务. 拥有六年UG.ProE二次开发经验,相关项目经验. 从事过智能设计.计算机图形学相关研究. 联系方式: QQ:1787326383 微信号:begtos ...

  6. PHP MYSQL单向同步方案

    项目上有个需求,需要从外网服务器的MYSQL同步到本地服务器上. 思路如下: 1 在外网MYSQL中创建表 table_change_log ,记录表中数据的更改记录. DROP TABLE IF E ...

  7. 关于C#循环图片GDI+内存不足异常的记录

    循环大量图片的时候会报出GDI+内存不足的问题,这个问题困扰了我很久,下面是我的几个解决方案: 使用using(){}代码块来定义需要释放内存的变量.using代码块会在代码结束的时候释放变量,但是并 ...

  8. php 图片base64编码生成dataurl和保存为图片

    <?php header('Content-type:text/html;charset=utf-8'); //读取图片文件,转换成base64编码格式 $image_file = 'aaa.j ...

  9. MySQL服务 - MySQL 5.5编译安装

    cmake介绍: MySQL 5.5之后,所有的编译操作都通过cmake进行,使用cmake最大的好处是其独立于源码(out-of-source)的编译功能,即编译工作可以在另一个指定的目录中而非源码 ...

  10. java基础-servlet-1

    servlet,是运行于服务器端的小程序.它既可以运行在http服务器端,也可以运行在mail等其他服务器端.我是这样理解,tomcat把接收到的客户端请求,转发给servlet,它负责业务处理,并且 ...