Struts2框架的工作原理:

1.服务器启动,会加载我们的xml配置文件中的内容。

2.服务器启动之后,过来一个servlet请求,如user类中的save方法。请求过来先过过滤器(strutsPrepareAndExecuteFilter)。

3.执行过滤器的时候要去加载很多配置文件,xml中由对应的关系,根据链接去加载struts.xml。根据struts中的配置去找相应的action,在从action中找相应的方法。

4.struts.xml文件由谁来管理?框架内部有一个配置的管理者Configuration Manager来管理struts.xml。

5.通过Configuration Manager能生成一个Action的代理对象Actionproxy。这个代理对象就相当于上下文,通过上下文能得到ActionInvocation对象。就相当于ActionContext与Action的关系一样,是明星与经纪人的关系。

6.ActionInvocation对象能管理所有的拦截器和action。

7.通过一些配置找到action,在访问action之前要经过很多的拦截器,执行完毕之后返回一个结果。结果又返回来经过拦截器。所以拦截器执行了两次。拦截器在处理action的时候是1,2,3的顺序,当执行结果经过过滤器的时候是3,2,1的顺序。

8.执行结果经过拦截器后,最后将结果返回给我们的页面进行显示。

9.需要记的第一个对象:Configuration Manager,用来管理配置文件。通过它可以得到Action代理对象。

10.需要记的第二个对象:ActionProxy,代理对象,相当于上下文。通过代理对象可以得到ActionInvocation对象

11.需要记的第二个对象:ActionInvocation对象,用来管理所有的拦截器

分为两个部分:

1.服务器启动的时候,做一些什么事情?

2.请求过来的时候,做什么事情。

转载于:https://www.cnblogs.com/wyhluckdog/p/10108653.html

struts工作原理(图解)相关推荐

  1. SRAM的工作原理图解

    注:其实CMOS静态反相器等价于一个非门!SRAM cell 6T等价于SR锁存器(也就是RS触发器) 6T:指的是由六个晶体管组成,如图中的M1.M2.M3.M4.M5.M6. SRAM中的每一bi ...

  2. 计算机的打印机的电路图,打印机的工作原理图解

    打印机的工作原理图解 打印机是计算机的输出设备之一,用于将计算机处理结果打印在相关介质上.下面是小编为大家带来的打印机的工作原理图解,希望对大家有所帮助. 打印机的工作原理图解 简单来说复印机和激光打 ...

  3. Struts工作原理及其优缺点详解

    2019独角兽企业重金招聘Python工程师标准>>> 一.Struts工作原理 MVC即Model-View-Controller的缩写,是一种常用的设计模式.MVC 减弱了业务逻 ...

  4. Spring Mvc工作原理图解

    Spring Mvc工作原理图解 先来一张图: 目前还是有些疑惑,因为是初学 思考了大半天,整理了初步的一些工作原理: 如图上所述: 1.用户(打开网站,输入网址url)发送请求. 2.用户的请求会通 ...

  5. abb样本-感应电机与发电机手册_发电机工作原理图解

    发电机的发电过程是一种能量转换过程,例如,水流动的能量带动水轮机转动,由水轮机带动发电机转动,并输出感应电动势,即将水库中水流的能量转换为电能. 发电机工作原理https://www.zhihu.co ...

  6. 三极管工作原理图解,快速了解三极管结构和工作原理

    了解三极管工作原理前,先看一张三极管内部结构原理图:从图中可以清晰的看出NPN和PNP内部结构的区别.     三极管NPN型和PNP型的工作原理:   NPN三极管: Vb<Ve (截止状态) ...

  7. 50年前发明的CCD图像传感器工作原理图解

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达本文转自|新机器视觉 1969年,沃勒德‧保尔(Willard Bo ...

  8. RFID的工作原理(图解)

    RFID读写器技术原理 电子标签又称为射频标签.应答器.数据载体:阅读器又称为读出装置,扫描器.通讯器.读写器(取决于电子标签是否可以无线改写数据).电子标签与阅读器之间通过耦合元件实现射频信号的空间 ...

  9. Struts工作原理

    MVC即Model-View-Controller的缩写,是一种常用的设计模式.MVC 减弱了业务逻辑接口和数据接口之间的耦合,以及让视图层更富于变化. Struts 是MVC的一种实现,它将 Ser ...

最新文章

  1. java.security.InvalidKeyException: Illegal key size or default parameters
  2. 我的实用设计模式 - Simple Factory和Reflection
  3. 车主无忧:天下武功,唯快不破,神策让我们快人一步
  4. 8.1 文件查找local;find使用
  5. 屠榜CV还不是这篇论文的终极目标,它更大的目标其实是……
  6. 如何查看服务器gpu性能,ubuntu服务器查看GPU和CPU实时使用情况
  7. 图像超分辨率也能改善天气预报?没错!
  8. 给我一个BigGAN,我就能开一家美术作品店,一幅画卖200美元
  9. Tomcat性能调优及JVM内存工作原理
  10. DB查询语句的编写和执行顺序
  11. Mesos资源调度与管理的深入分享与交流
  12. 正态分布下贝叶斯决策的特例(三)
  13. SPSS操作(五):主成分分析
  14. 硬件级光线追踪:移动游戏图形的变革时刻
  15. 在移动通信中如何测试5G网络?
  16. 1949-2020年各省市农业全要素生产率(年度)
  17. 停止等待协议与连续 ARQ 协议
  18. Selenium 爬取评论数据,就是这么简单!
  19. amp模式_AMP的完整形式是什么?
  20. bim综合软件:一次性快速解锁所有轴网,生成轴网

热门文章

  1. sip hold 解决方法【原创】
  2. 什么是WEB?如何学习web
  3. 贝叶斯网络的应用实例一
  4. 从输入 URL 到页面加载完的过程中都发生了什么事情?
  5. java常用的搜索引擎_我掏空了各大搜索引擎,给你整理了154道Java面试题!
  6. python文本编辑器下载_海龟编辑器(Python编辑器)
  7. python100以内自然数之和_python输出100以内的质数与合数实例代码
  8. SVN、GIT生成版本号
  9. 有关Oracle最大连接数的问题
  10. 【Flink】Flink中流动的四种元素