FilterDispatcher
STRUTS2核心控制器:FilterDispatcher
- 博客分类:
- struts2
STRUTS2核心控制器:FilterDispatcher
原文:http://mopishv0.blog.163.com/blog/static/54455932200981295843192/
1. 在 struts1.x 系列中 , 所有的请求是通过一个 servlet(ActionServlet) 来管理控制的 , 在 Struts2.X 而是经过一个Filter 来处理请求的。 Struts 2 将核心控制器设计成 Filter ,而不是一个普通 Servlet 。 因为设计者为了实现AOP(面向方面 编程)概念.
struts1.x 中
<servlet>
<servlet-name>action</servlet-name>
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
。。。
< /servlet>
Struts2.X 中
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>*.action</url-pattern> </filter-mapping>
2. Struts 2框架由3个部分组成:核心控制器FilterDispatcher、业务控制器和用户实现的业务逻辑组件。在这3个部分里,Struts 2框架提供了核心控制器FilterDispatcher,而用户需要实现业务控制器和业务逻辑组件。
核心控制器:FilterDispatcher
FilterDispatcher是Struts 2框架的核心控制器,该控制器作为一个Filter运行在Web应用中,它负责拦截所有的用户请求,当 用户请求到达时,该Filter会过滤用户请求。如果用户请求以action结尾,该请求将被转入Struts 2框架处理。
Struts 2应用中的Action都被定义在struts.xml文件中,在该文件中定义Action时,定义了该Action的name属性和 class属性,其中name属性决定了该Action处理哪个用户请求,而class属性决定了该Action的实现类。
Struts 2用于处理用户请求的Act ion实例,并不是用户实现的业务控制器,而是Act ion代理 ——因为用户实现的业务控制器并没有与Servlet API耦合,显然无法处理用户请求。而Struts 2框架提供了系列拦截器,该系列拦截器负责将 HttpServletRequest请求中的请求参数解析出来,传入到Action中,并回调Action的execute方法来处理用户请求。
显然,上面的处理过程是典型的AOP(面向切面编程)处理方式。图3.19显示了这种处理模型。
![](/assets/blank.gif)
FilterDispatcher相关推荐
- org.apache.struts2.dispatcher.FilterDispatcher的四个功能
org.apache.struts2.dispatcher.FilterDispatcher的四个功能 2008-05-24 11:16 1.org.apache.struts2.dispatcher ...
- FilterDispatcher is deprecated! Please use
2019独角兽企业重金招聘Python工程师标准>>> 在struts2.3.7下,web.xml中使用 会出现 ********************************** ...
- FilterDispatcher is deprecated!
http://www.cnblogs.com/babybluevino/archive/2012/11/29/2794732.html >>> FilterDispatcher &l ...
- struts2 核心控制器:FilterDispatcher (写的真心清晰)
原文:http://mopishv0.blog.163.com/blog/static/54455932200981295843192/ 1. 在 struts1.x 系列中 , 所有的请求是通 ...
- STRUTS2核心控制器 FilterDispatcher
原文:http://mopishv0.blog.163.com/blog/static/54455932200981295843192/ 1. 在struts1.x 系列中,所有的请求是通过一个 ...
- Struts2中的FilterDispatcher和StrutsPrepareAndExecuteFilter的区别
转自:http://blog.csdn.net/lifuxiangcaohui/article/details/8172956 在Struts2开发中,很多人问到,声明过滤器的时候,为什么有的时候用& ...
- StrutsPrepareAndExecuteFilter与FilterDispatcher的区别
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter org.apache.struts2.dispatcher. ...
- FilterDispatcher已被标注为过时解决办法 gt;gt;gt; FilterDispatcher lt;lt;lt; is deprecated!...
一些struts2的教程都是比较早的,当我们基于较新版本的struts2来实现代码的时候,往往会出现一些问题.比如这个警告:FilterDispatcher isdeprecated! 在web.xm ...
- Struts2 FilterDispatcher核心控制器
1. 在 struts1.x 系列中 , 所有的请求是通过一个 servlet(ActionServlet) 来管理控制的 , 在 Struts2.X 而是经过一个Filter 来处理请求的. ...
最新文章
- matlab 离散点差值,散点图的插值方法
- [转载]Oracle 游标使用全解
- python实现可以被with上下文管理的类或函数
- Linux利用子命令m,Linux mdir命令
- http请求curl
- Using JSON for data transfer
- dbeaver导出表结构和数据_mall数据库表结构概览
- C#函数式编程之序列
- 通过 Python 装饰器实现DRY(不重复代码)原
- PostgreSQL监控指标
- Pandas标签统计
- 盐城机电高等职业技术学校计算机专业,盐城机电高等职业技术学校
- matlab获取图片上的字,Matlab读取图片代码
- 计算机科学与技术专业前沿技术相关论文,计算机科学与技术专业创新能力的培养途径论文...
- echarts水球图-动态波纹百分比数据显示
- Qt引入图标字体包iconfont
- 学历焦虑正在摧毁新一代测试工程师!学历不够如何破局?
- 软件工程——四则运算3(C#)
- Linux 下后台运行程序,查看和关闭后台运行程序(转载)
- HTML代码via浏览器logo,Via浏览器怎么定制首页 几步轻松完成
热门文章
- 直播邀请函 | 第12届亚洲知识产权营商论坛:共建创新价值 开拓崭新领域
- 关于游戏开发的一些思想碰撞
- memcpy的效率问题
- mysql 转为小写_mysql将字符串转成小写的方法
- 【多线程整理 4】notify与notifyAll
- 【论文泛读88】复杂背景下红外小目标检测技术研究
- surfaceview.getHolder().addCallback(Callback callback) 添加回调后未回调surfaceCreated()
- Android一行代码实现网络加载GIF闪图(附源码)
- 苹果手机ios系统通过数据线连接电脑进行抓包,不在同一局域网下的解决方案
- 学习《操作系统真相还原》三