带有错误调度程序说明的Java过滤器

时间:2016-01-13 10:52:41

标签: java filter error-handling

有人可以解释<dispatcher>ERROR</dispatcher>的含义吗?我找不到任何关于它的例子。我想用Filter处理错误的请求(例如当有人写错字时),并从中转发到某个jsp文件。我写了以下代码:

<filter>
    <filter-name>badRequestFilter</filter-name>
    <filter-class>filter.BadRequestFilter</filter-class>
</filter>

<filter-mapping>
    <filter-name>badRequestFilter</filter-name>
    <url-pattern>/*</url-pattern>
    <dispatcher>ERROR</dispatcher>
</filter-mapping>

我知道我可以在<error-page>中使用web.xml,但我决定尝试一下(练习)。但是没有调用此过滤器并且没有捕获拼写错误。可能是什么原因?也许我误解了何时调用这种类型的过滤器。 谢谢你的关注。

1 个答案:

答案 0 :(得分:2)

<dispatcher>ERROR</dispatcher>设置过滤器仅应用于请求dispatched到错误页面。

但是如果您没有在web.xml中指定错误页面,则不会调用此过滤器。 (至少这是Tomcat中的行为)。