关于java servlet过滤器的测验,答案不清楚

时间:2017-05-18 08:43:27

标签: java servlets

我正在处理有关java servlet过滤器的不明确问题。

问题是:

给出具有以下结构的war文件

| – WEB-INF/classes/Myservlet.class
| – WEB-INF/lib/wf.jar

其中wf.jar包含有效的web-fragment.xml和以下两个类:MyFilter1.class和MyFiler2.class。 web-fragment.xml如下

enter image description here

以下是一些代码片段:

enter image description here

当访问上述Web应用程序的“/”时,将执行哪些过滤器?

一个。 不会执行过滤器。

B中。 MyFilter1

℃。 MyFilter2

d。 MyFilter1和MyFilter2

我敢打赌,正确的答案将是D(两个过滤器),但解决方案说右边是C(没有任何解释)。 为什么只能执行MyFilter2?

由于

2 个答案:

答案 0 :(得分:1)

这取决于你是否在第一个过滤器中使用了chain.doFilter(request,response),如果你链接它会转到第二个过滤器,否则它会赢。

请注意,如果描述符都使用相同的名称定义,则描述符的优先级高于注释。这适用于servlet和过滤器。

在您尝试使用" /"访问网址的情况下;它将首先击中MyFilter2。

答案 1 :(得分:1)

web-fragment.xmlmetadata-complete=true因此不会评估jar中类的注释,只会注册片段中定义的MyFilter2