urlrewrite过滤后不会再经过自己的过滤器?

我使用urlrewrite已经可以重定向了,但是重定向后不会经过我自己写的过滤器,我想先经过urlrewrite,然后再进入我自己写的过滤器,应该怎么写,我已经把自己的过滤器写在urlrewrite下面了,但是没有效果。下面是我的配置文件:

aa
bean.SetCharacterEncodingFilter



UrlRewriteFilter



org.tuckey.web.filters.urlrewrite.UrlRewriteFilter



<filter-mapping>  
    <filter-name>UrlRewriteFilter</filter-name>  
    <url-pattern>/*</url-pattern>  
</filter-mapping>
<filter-mapping>
  <filter-name>aa</filter-name>
  <url-pattern>*.do</url-pattern>

我就是想每次都要先经过UrlRewriteFilter ,然后再进入SetCharacterEncodingFilter,该怎么写?

在servlet-2.3中,Filter会过滤一切请求,包括服务器内部使用forward转发请求和<%@ include file="/index.jsp"%>的情况。
到了servlet-2.4中Filter默认下只拦截外部提交的请求,forward和include这些内部转发都不会被过滤,但是有时候我们需要forward的时候也用到Filter,这样就需要如下配置。
[code="xml"]

TestFilter
anni.TestFilter


TestFilter
/*
REQUEST
FORWARD
INCLUDE
EXCEPTION

[/code]

当某个url请求匹配了多个Filter时,应用服务器将多个Filter组织成FilterChain,[b]拦截资源是按照 filter-mapping 配置节出现的顺序来依次调用 doFilter() 方法的。[/b]

try this ...

[code="xml"]



UrlRewriteFilter



org.tuckey.web.filters.urlrewrite.UrlRewriteFilter



<filter-mapping>  
    <filter-name>UrlRewriteFilter</filter-name>  
    <url-pattern>/*</url-pattern>  
</filter-mapping>


aa
bean.SetCharacterEncodingFilter



aa
*.do

[/code]

urlrewrite 重写后的 url 有没有 .do 结尾? 如果有应该可以实现你要的效果才是。

[code="xml"]

aa
bean.SetCharacterEncodingFilter



UrlRewriteFilter



org.tuckey.web.filters.urlrewrite.UrlRewriteFilter



<filter-mapping>  
    <filter-name>UrlRewriteFilter</filter-name>  
    <url-pattern>/*</url-pattern>  
</filter-mapping> 
<filter-mapping> 
  <filter-name>aa</filter-name> 
  <url-pattern>*.do</url-pattern>
  <!-- 关键是这里 --> 
  dispatcher>REQUEST</dispatcher>
  <dispatcher>FORWARD</dispatcher>
  <dispatcher>INCLUDE</dispatcher>
  <dispatcher>EXCEPTION</dispatcher>


[/code]

dispatcher>REQUEST 少了一个 < ,你明白的。 :D