Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/373.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在Servlet 3.1.0 API上执行webfilters的顺序_Java_Servlets_Servlet Filters - Fatal编程技术网

Java 在Servlet 3.1.0 API上执行webfilters的顺序

Java 在Servlet 3.1.0 API上执行webfilters的顺序,java,servlets,servlet-filters,Java,Servlets,Servlet Filters,我试图弄清楚web筛选器的执行顺序。我使用Servlet3.1.0API和ApacheTomcat8.5.32。我假设它们分为两组,一组是按url模式划分的,另一组是按servlet名称划分的。但是servlet容器如何确定从每个集合中选择过滤器的顺序呢? 我用@WebFilter注释测试了两个完全相同的过滤器,它们的名称不同。我发现名为“filterD”的过滤器首先执行,然后是“filterB”。 然后,我尝试通过在web.xml中放置简单配置来更改顺序,如下所示: <filter-ma

我试图弄清楚web筛选器的执行顺序。我使用Servlet3.1.0API和ApacheTomcat8.5.32。我假设它们分为两组,一组是按url模式划分的,另一组是按servlet名称划分的。但是servlet容器如何确定从每个集合中选择过滤器的顺序呢? 我用@WebFilter注释测试了两个完全相同的过滤器,它们的名称不同。我发现名为“filterD”的过滤器首先执行,然后是“filterB”。 然后,我尝试通过在web.xml中放置简单配置来更改顺序,如下所示:

<filter-mapping>
    <filter-name>filterB</filter-name>
    <url-pattern />
</filter-mapping>
<filter-mapping>
    <filter-name>filterD</filter-name>
    <url-pattern />
</filter-mapping>

检查此链接
@WebFilter(filterName = "filterB", urlPatterns = "/hello")
@WebFilter(filterName = "filterD", urlPatterns = "/hello")