FilterDispatcher处理流程
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处理流程相关推荐
- Struts2 原理
.Struts2原理 .Struts 1 原理 .Struts1 和webwork的关系 .HttpServletRequest Struts2原理 客户端提起一个(HttpServletReques ...
- struts2的核心和工作原理
在学习struts2之前,首先我们要明白使用struts2的目的是什么?它能给我们带来什么样的好处? 设计目标 Struts设计的第一目标就是使MVC模式应用于web程序设计.在这儿MVC模式的好处就 ...
- Struts2核心工作原理解析
这篇文章对应的并非Struts2的最新版本,但其原理还是相同的. 这是Struts2官方站点提供的Struts 2 的整体结构. 一个请求在Struts2框架中的处理大概分为以下几个步骤: 客户端提起 ...
- SSH(Struts,Spring,Hibernate )和SSM(SpringMVC,Spring,MyBatis )的区别,抽丝剥茧的给你讲清楚
SSH 通常指的是 Struts2 做前端控制器,Spring 管理各层的组件,Hibernate 负责持久化层. SSM 则指的是 SpringMVC 做前端控制器,Spring 管理各层的组件,M ...
- Java 模拟面试题
1.面向对象的特点 继承,封装,多态 2.对象和类的区别是什么? 对象是对客观事物的抽象,类是对对象的抽象.类是一种抽象的数据类型,它们的关系是,对象是类的实例,类是对象的模板. 3.静态成员和实例成 ...
- 【框架学习】Struts2(一)工作原理
众所周知Struts2是MVC模式在web开发中经典的框架之一,学习web开发,这也是一个必经过之路吧,实在不行也得瞅瞅,万一哪天用到了. 技术优势: Struts2有两方面的技术优势,一是所有的St ...
- Struts2学习总结
一.概述 1.是什么? Struts2轻量级的MVC框架,主要解决了请求分发的问题,重心在控制层和表现层.低侵入性,与业务代码的耦合度很低.Struts2实现了MVC,并提供了一系列API,采用模式化 ...
- springmvc、struts2、servlet的联系与区别
一 servlet - 体系(组织)结构图 图1 - servlet体系(组织)结构图 - 网 参考: Servlet学习笔记五(相关接口与类) - 哔哩哔哩 Servlet继承体系 - 码农岛 错题 ...
- struts2 从入门到总结
Struts2的知识详解 http://www.cnblogs.com/djoker/p/6219691.html Struts2源码详解 http://www.cnphp6.com/ar ...
最新文章
- PHP 7.0新增特性详解
- VS2013 UML 如何复制文件
- 未发现android设备,Brother iPrintScan 应用程序上出现错误信息“未发现支持设备”(Android™ 智能手机)。...
- cocos2D中实现滑动菜单CCScrollView+CCMenu效果,(注意不是cocos2D-x)!!
- 【奇葩笔试】—— printf() 作为函数的参数及其返回值
- linux----文件权限管理
- matlab 暴雨强度公式,利用MATLAB推导城市暴雨强度公式
- ac1900 linksys 恢复_linksys思科WRT1900ACS刷机变砖维修
- PTA 基础编程题目集 (参考代码)
- visio2013里画带箭头的折线连接线
- WLAN无线技术基本概念(802.11a/b/g/n/ac/ax区别,频段,信道概念)
- Java实现对文件的读与写
- 项目常用的合同类型,特点及报价方式
- win10 mac的clover双系统后 win10时间不同步问题
- 7-13 愿天下有情人都是失散多年的兄妹 (25 分)
- 飞利浦、TCL、海信、REASONANCE、七彩虹、Amazfit在CES展示最新新品 | 美通企业日报...
- VC++实现的软键盘功能(附源码)
- jQuery从入门到进阶视频教程-汤小洋-专题视频课程
- 单引号与双引号的用法
- python实现图片拼接(项目界面展示图合并)