org.apache.struts2.dispatcher.filterdispatcher不允许触发链中的其他筛选器?

org.apache.struts2.dispatcher.filterdispatcher不允许触发链中的其他筛选器?,struts2,Struts2,我正在使用Struts2。在我的web.xml中,我有以下配置: <filter> <description>filter for application</description> <display-name>AppBasicFilter</display-name> <filter-name>AppBasicFilter</filter-name>

我正在使用Struts2。在我的web.xml中,我有以下配置:

    <filter>
        <description>filter for application</description>
        <display-name>AppBasicFilter</display-name>
        <filter-name>AppBasicFilter</filter-name>
        <filter-class>com.myapp.AppBasicFilter</filter-class>
    </filter>
    <filter>
        <filter-name>struts2</filter-name>
        <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
    </filter>
    <filter-mapping>
        <filter-name>AppBasicFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
    <filter-mapping>
        <filter-name>struts2</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
对于这种配置,我将正确触发动作类。但无论是在操作类执行之前还是之后,我的AppBasicFilter都不会触发

我试着反编译并查看struts 2 FilterDispatcher编码,我看到如果存在映射,它就不会在其中执行FilterChain.doFilter


这个问题就是因为这个。有人能帮我吗?

我知道FilterDispatcher有问题。因此,我必须使用struts 2.1或更高版本中提供的StritsPrepareAndExecuteFilter。但不幸的是,我的项目使用的是struts 2.0。因此,我迁移到struts 2.1并使其工作。

您使用过滤器的确切目的是什么?你可以用拦截器来代替它吗?此外,自2.1.3以来,您使用的过滤器已被弃用,您应该使用StrutsPrepareAndExecuteFilter。