0

我正在使用struts 2。在我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()在其中执行。

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

4

1 回答 1

0

我开始知道这是 FilterDispatcher 的问题。因此,我必须使用 struts 2.1 或更高版本中可用的 StritsPrepareAndExecuteFilter。但不幸的是,我的项目使用的是 struts 2.0。所以我迁移到 struts 2.1 并使它工作。

于 2012-08-15T17:27:14.893 回答