org.apache.struts2.dispatcher.FilterDispatcher的四个功能

org.apache.struts2.dispatcher.FilterDispatcher的四个功能

2008-05-24 11:16

1.org.apache.struts2.dispatcher.FilterDispatcher?

是Struts2的主要的Filter,负责四个方面的功能:

(1)执行Actions

(2)清除ActionContext

(3)维护静态内容

(4)清除request生命周期内的XWork的interceptors

另注:该过滤器应该过滤所有的请求URL。一般被设置为/*.

具体:

(1)执行Actions

过滤器通过ActionMapper对象,来判断是否应该被映射到Action.如果mapper对象指示他应该被映射,过滤链将会被终止,

然后Action被调用。这一点非常重要,如果同时使用SiteMesh filter,则SiteMesh filter应该放到该过滤器前,否则

Action的输出将不会被装饰。

(2)清除ActionContext

过滤器为了确保内存溢出,会自动的清除ActionContext。这可能会存在一些问题,在和其它的框架集成时,例如SiteMesh。

ActionContextCleanUp提供了怎么处理这些问题的一些信息。

(3)维护静态内容

过滤器也会维护在Struts2中使用的一些公共的静态的内容,例如JavaScript文件,CSS文件等。搜索/struts/*范围内的

请求,然后将/struts/后面的值映射到一些struts的公共包中,也可以在你的类路径中搜索。默认情况下会去查找以下

包: