org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter

前身是:org.apache.struts2.dispatcher.FilterDispatcher

请求被web.xml中定义的过滤器拦截。

3层过滤器处理:ActionContextCleanUp,其他过滤器(Other Filters, SiteMesh),FilterDispatcher。

——FilterDispatcher中首先询问ActionMapper是否需要调用某个Action。

——如果调用,把请求交给ActionProxy。

——ActionProxy通过struts.xml找到Action类。

——ActionProxy创建一个ActionInvocation实例。并调用Action。调用之前ActionInvocation会加载Action的所有拦截器。

执行完ActionInvocation负责根据struts.xml中的配置找到相应的返回结果result。

==========================================================================

【Servlet中过滤器概念】【StrutsPrepareAndExecuteFilter 

过滤器API包括3个简单的接口:Filter,FilterChain,FilterConfig。

Filter接口:

——init():容器实例化过滤器的时候调用。容器为这个方法传入FilterConfig,配置信息。

——doFilter():处理请求和响应请求。接受3个参数:ServletRequest,ServletResponse,FilterChain。

调用FilterChain的doFilter()方法。

设置ValueStack。获取ActionMapping。

——destroy()方法。

转载于:https://www.cnblogs.com/lsx1993/p/4841520.html

FilterDispatcher处理流程相关推荐

  1. Struts2 原理

    .Struts2原理 .Struts 1 原理 .Struts1 和webwork的关系 .HttpServletRequest Struts2原理 客户端提起一个(HttpServletReques ...

  2. struts2的核心和工作原理

    在学习struts2之前,首先我们要明白使用struts2的目的是什么?它能给我们带来什么样的好处? 设计目标 Struts设计的第一目标就是使MVC模式应用于web程序设计.在这儿MVC模式的好处就 ...

  3. Struts2核心工作原理解析

    这篇文章对应的并非Struts2的最新版本,但其原理还是相同的. 这是Struts2官方站点提供的Struts 2 的整体结构. 一个请求在Struts2框架中的处理大概分为以下几个步骤: 客户端提起 ...

  4. SSH(Struts,Spring,Hibernate )和SSM(SpringMVC,Spring,MyBatis )的区别,抽丝剥茧的给你讲清楚

    SSH 通常指的是 Struts2 做前端控制器,Spring 管理各层的组件,Hibernate 负责持久化层. SSM 则指的是 SpringMVC 做前端控制器,Spring 管理各层的组件,M ...

  5. Java 模拟面试题

    1.面向对象的特点 继承,封装,多态 2.对象和类的区别是什么? 对象是对客观事物的抽象,类是对对象的抽象.类是一种抽象的数据类型,它们的关系是,对象是类的实例,类是对象的模板. 3.静态成员和实例成 ...

  6. 【框架学习】Struts2(一)工作原理

    众所周知Struts2是MVC模式在web开发中经典的框架之一,学习web开发,这也是一个必经过之路吧,实在不行也得瞅瞅,万一哪天用到了. 技术优势: Struts2有两方面的技术优势,一是所有的St ...

  7. Struts2学习总结

    一.概述 1.是什么? Struts2轻量级的MVC框架,主要解决了请求分发的问题,重心在控制层和表现层.低侵入性,与业务代码的耦合度很低.Struts2实现了MVC,并提供了一系列API,采用模式化 ...

  8. springmvc、struts2、servlet的联系与区别

    一 servlet - 体系(组织)结构图 图1 - servlet体系(组织)结构图 - 网 参考: Servlet学习笔记五(相关接口与类) - 哔哩哔哩 Servlet继承体系 - 码农岛 错题 ...

  9. struts2 从入门到总结

    Struts2的知识详解   http://www.cnblogs.com/djoker/p/6219691.html Struts2源码详解     http://www.cnphp6.com/ar ...

最新文章

  1. PHP 7.0新增特性详解
  2. VS2013 UML 如何复制文件
  3. 未发现android设备,Brother iPrintScan 应用程序上出现错误信息“未发现支持设备”(Android™ 智能手机)。...
  4. cocos2D中实现滑动菜单CCScrollView+CCMenu效果,(注意不是cocos2D-x)!!
  5. 【奇葩笔试】—— printf() 作为函数的参数及其返回值
  6. linux----文件权限管理
  7. matlab 暴雨强度公式,利用MATLAB推导城市暴雨强度公式
  8. ac1900 linksys 恢复_linksys思科WRT1900ACS刷机变砖维修
  9. PTA 基础编程题目集 (参考代码)
  10. visio2013里画带箭头的折线连接线
  11. WLAN无线技术基本概念(802.11a/b/g/n/ac/ax区别,频段,信道概念)
  12. Java实现对文件的读与写
  13. 项目常用的合同类型,特点及报价方式
  14. win10 mac的clover双系统后 win10时间不同步问题
  15. 7-13 愿天下有情人都是失散多年的兄妹 (25 分)
  16. 飞利浦、TCL、海信、REASONANCE、七彩虹、Amazfit在CES展示最新新品 | 美通企业日报...
  17. VC++实现的软键盘功能(附源码)
  18. jQuery从入门到进阶视频教程-汤小洋-专题视频课程
  19. 单引号与双引号的用法
  20. python实现图片拼接(项目界面展示图合并)

热门文章

  1. SQL注入之——宽字节与二阶注入
  2. IT行业专业术语_安全(学习笔记)
  3. 最激动人心的游戏开发技术和趋势
  4. 【*加快Win7系统运行速度的12个小技巧*】
  5. ARM开发环境入门:keil与proteus的简单程序的熟悉
  6. 计算机坏了用英语怎么说,电脑坏了是什么意思
  7. 车机2个TDM8和1个TDM16对于外置功放设计的影响
  8. LM321低功耗单路运算放大器
  9. 运算放大器分类及运算放大器参数说明
  10. 跟着陶哲轩一起学数学(二): 罗素悖论