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 来处理请求的. ...
最新文章
- gnome硬盘分析_三款基于GUI和终端的实用Linux磁盘扫描工具
- Python基础最常用且重要的模块总结----建议收藏
- window.open() document.open()
- makefile 文件模板
- C++ 协程与网络编程
- AutoCAD如何输入文字
- html中颜色的编号,html中各种颜色的编号.doc
- java的网络编程有用吗_十大有用但又偏执的Java编程技术
- 【Python爬虫】爬虫程序的简单处理过程
- wpf+.net 4.5 surface2.0 = 异步多点触控 时间轴 part7
- 2021-06-06 下拉框,列表框..
- 数字孪生智慧园区能源管理系统
- 数字人轻松学习Blender系列之八:建模-1
- 使用JavaScript打开Chrome的设置页面
- 微型计算机是嵌入式吗,什么是嵌入式计算机
- 3ds Max 实验十 熟悉材质编辑器
- 【极简spark教程】RDD编程
- java自行车内走线,【骑行课堂】内走线不是噩梦:“一秒“装好内走线神器
- Java核心技术卷一 -第九章:集合
- 嵌入式:浅析FinFET技术的发展前景
热门文章
- java基础复习之关键字break与continue异同比较
- $emit自定义子组件和父组件通信
- Ubuntu系统安装中文输入法教程
- 深入 char * ,char ** ,char a[ ] ,char *a[] 内核
- 缓冲区溢出之strcpy和memcpy
- 【ARM裸板】Nand Flash基础与时序分析
- 开篇: 外贸电商ERP
- 单片机原理及应用c51周国运_实用!百万工程师都在使用的单片机开发产品流程...
- 孙鑫C++第五堂课要点
- 新手必读:笔记本电脑日常维护的经验技巧