Struts2

struts2的流程图

运行机制

1、客户端发送请求、通过ActionContextLoader调用FilterDispatcher(struts)

2、FilterDispatcher通过ActionMapper来决定这个Request需要调用哪个Action

3、如果ActionMapper决定调用某个Action,FilterDispatcher把请求的处理交给ActionProxy

4、ActionProxy根据ActionMapping和ConfigurationManager找到需要调用的Action类,ActionProxy创建一个ActionInvocation的实      例,  最终ActionInvocation调用真正的Action类

5、Action执行完毕,ActionInvocation负责根据Struts.xml的配置返回结果,并呈现给浏览器。

运行原理

  客户发送请求到tomcat,这个请求经过一系列的过滤器(Filter)(这些过滤器中有一个叫做ActionContextLoader的可选过滤器,这个过滤器对于Struts2和其他框架的集成很有帮助),这时FilterDispatcher被调用,FilterDispatcher询问ActionMapper来决定调用哪个Action,当ActionMapper决定调用哪个Action以后,FilterDispatcher把请求交给Action的代理ActionProxy来处理,ActionProxy通过Configuration Manager读取struts的配置文件,根据配置信息决定调用哪个Action类,Action执行完毕,ActionInvocation在struts配置文件中根据result标签找到对应的返回视图,并返回数据,并呈现给浏览器。

以上是本人对struts2的理解,如果发现错误及时评论,在此感谢!!!

对于struts2框架开发,本人在excel文档中做了一个框架搭建指南

http://files.cnblogs.com/files/lwl-cnblogs/struts2-%E6%90%AD%E5%BB%BA.zip

使用工具:

IDE:MyEclipse10.7

WEB服务器:Tomcat7
Struts版本:1.3

												

Struts2的运行原理和运行与原理的更多相关文章

  1. [Spark内核] 第38课:BlockManager架构原理、运行流程图和源码解密

    本课主题 BlockManager 运行實例 BlockManager 原理流程图 BlockManager 源码解析 引言 BlockManager 是管理整个Spark运行时的数据读写的,当然也包 ...

  2. loadrunner 运行场景-场景运行原理

    运行场景-场景运行原理 by:授客 QQ:1033553122 运行原理 1 Remote Agent Dispatcher(Process) 运行Controller在负载机上开启应用程序. 2  ...

  3. Java虚拟机(一)结构原理与运行时数据区域

    我们来学习Java虚拟机的结构原理与运行时数据区域. 1.Java虚拟机概述 Oracle官方定义的Java技术体系主要包括以下几个部分: Java程序设计语言 各种平台的Java虚拟机 Class文 ...

  4. Java虚拟机 - 结构原理与运行时数据区域

    http://liuwangshu.cn/java/jvm/1-runtime-data-area.html 前言 本来计划要写Android内存优化的,觉得有必要在此之前介绍一下Java虚拟机的相关 ...

  5. shiro原理及其运行流程介绍

    shiro原理及其运行流程介绍 认证执行流程 1.通过ini配置文件创建securityManager 2.调用subject.login方法主体提交认证,提交的token 3.securityMan ...

  6. SQL运行内幕:从执行原理看调优的本质

    相信大家看过无数的MySQL调优经验贴了,会告诉你各种调优手段,如: 避免 select *: join字段走索引: 慎用in和not in,用exists取代in: 避免在where子句中对字段进行 ...

  7. AbstractQueuedSynchronizer 原理分析 - Condition 实现原理

    1. 简介 Condition是一个接口,AbstractQueuedSynchronizer 中的ConditionObject内部类实现了这个接口.Condition声明了一组等待/通知的方法,这 ...

  8. 支持向量机原理(四)SMO算法原理

    支持向量机原理(一) 线性支持向量机 支持向量机原理(二) 线性支持向量机的软间隔最大化模型 支持向量机原理(三)线性不可分支持向量机与核函数 支持向量机原理(四)SMO算法原理 支持向量机原理(五) ...

  9. POJ2356 Find a multiple 抽屉原理(鸽巢原理)

    题意:给你N个数,从中取出任意个数的数 使得他们的和 是 N的倍数: 在鸽巢原理的介绍里面,有例题介绍:设a1,a2,a3,……am是正整数的序列,试证明至少存在正数k和l,1<=k<=l ...

随机推荐

  1. vijosP1319 数列

    vijosP1319 数列 链接:https://vijos.org/p/1319 [思路] 数学. 相当于交换进制2为k. [代码] #include<iostream> using n ...

  2. 【原创】Java移位运算

    学习移位运算,首先得知道参与移位运算的类型的位数,那先来复习下Java基础类型的占位数吧. Java基础类型 Java基础类型总结一览表 类型 二进制位数 最大值 最小值 初始化值 表示形式 带符号 ...

  3. 安装Ambari

    1.yum install pdsh    这玩意一般系统都没带 2.检查下umask码,022是需要的 3.获取ambari的官方repo文件,并安装repo文件 wget http://publi ...

  4. centos svn快速搭建

    搭建SVN服务,有效的管理代码,以下三步可以快速搞定. 1.安装 #yum install subversion 判断是否安装成功 [root@]# svnserve --version 有了SVN软 ...

  5. ARM MIPS PowerPC比较

    ARM, MIPS, Power PC的比较   “ARM面向的低端消费类市场,拼的是功耗:PowerPC面向的是中高端市场,比的是性能,好像还没看到谁的手机是PowerPC的,也没有看到谁家企业级以 ...

  6. 让BOOTSTRAP默认SLIDER支持触屏设备

    var isTouch=('ontouchstart' in window); if(isTouch){ $(".carousel").on('touchstart', funct ...

  7. 修改Tomcat Connector运行模式,优化Tomcat运行性能

    Tomcat是一个小型的轻量级应用服务器,也是JavaEE开发人员最常用的服务器之一.不过,许多开发人员不知道的是,Tomcat Connector(Tomcat连接器)有bio.nio.apr三种运 ...

  8. chrmoe debug

    一.右击,点击审查元素 二.打开后,每个tab是干什么用的呢? 三.调试样式 选中Elemes后,右边有个窗口,这里是CSS的样式,可以直接选中元素,并且在这里修改样式.这样调试很方便,效率也很高.当 ...

  9. linux ssh 中在window 传文件 下载文件 工具

    centos 安装工具 yum install lrzsz

  10. Java 加密解密 对称加密算法 非对称加密算法 MD5 BASE64 AES RSA

    版权声明:本文为博主原创文章,未经博主允许不得转载. [前言] 本文简单的介绍了加密技术相关概念,最后总结了java中现有的加密技术以及使用方法和例子 [最简单的加密] 1.简单的概念 明文:加密前的 ...