org.apache.struts2.dispatcher.filterdispatcher不允许触发链中的其他筛选器?
我正在使用Struts2。在我的web.xml中,我有以下配置: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>
<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。