Struts2中的FilterDispatcher

来源:互联网 发布:网络连接流程 编辑:程序博客网 时间:2024/05/17 06:17
【FilterDispatcher作用】核心控制器FilterDispatcher是STRUTS 2框架的基础,包含了框架内部的控制流程和处理机制。业务控制器Action和业务逻辑组件是需要用户来自己实现的。用户在开发Action和业务逻辑组件的同时,还需要编写相关的配置文件,供核心控制器FilterDispatcher来使用。主要作用如下:
1、执行action:过滤器根据请求的url判断是否需要调用action(判断的依据是根据actionMapper)如果需要执行action那么处于过滤器链中的其他过滤器将终止,并且调用action.
这意味着其他一些一定要执行的过滤器必须放在FilterDispatcher前面.以保证他们的执行。
2、清空ActionContext上下文:FilterDispatcher讲自动的清除上下文,确保没有内存泄露.但是有时候将导致在集成其他产品时出现某些问题。
3、服务静态的内容:FilterDispatcher同时会加载常用的静态内容,例如javascript文件,css文件。FilterDispatcher会查找/struts/*这个目录,并且映射"/struts/"后面的的所有常用的包。

4、中断请求生命周期中的XWORKS拦截器

FilterDispatcher是struts2.0.x到2.1.2版本的核心过滤器. 从2.1.3版本开始, 就用StrutsPrepareAndExecuteFilter代替FilterDispatcher了.

如果是FilterDispatcher

<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>/*</url-pattern></filter-mapping>
如果是StrutsPrepareAndExecuteFilter则为:

<filter>  <filter-name>struts2</filter-name>  <filter-class>        org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter  </filter-class></filter> <filter-mapping>   <filter-name>struts2</filter-name>   <url-pattern>/*</url-pattern></filter-mapping>


原创粉丝点击