我正在使用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()
。
这个问题就是因为这个问题。有人可以帮帮我吗?
答案 0 :(得分:0)
我开始知道FilterDispatcher存在问题。所以我必须使用StrutsPrepareAndExecuteFilter,它可以在struts 2.1或更高版本中使用。但不幸的是我的项目使用的是struts 2.0。所以我迁移到struts 2.1并使它工作。