Java 在tomcat';中的过滤器之前配置servlet时会发生什么;s web.xml?

Java 在tomcat';中的过滤器之前配置servlet时会发生什么;s web.xml?,java,tomcat,servlets,web.xml,servlet-filters,Java,Tomcat,Servlets,Web.xml,Servlet Filters,在tomcat中,对于某个url,我想跳过所有过滤器并执行一个servlet,我认为将servlet放在过滤器之前会像我预期的那样,但servlet映射后面的过滤器仍在执行。我做错什么了吗 例如,这是我的web.xml 蜂房 com.test.apirection 蜂房 /abc/* 滤波器 com.test.filter 滤波器 /* 因此,当传入url包含“/abc/”时,我希望servlet执行并跳过过滤器。我将我的servlet放在所有过滤器之前,但当传入url包含“/abc/”时,

在tomcat中,对于某个url,我想跳过所有过滤器并执行一个servlet,我认为将servlet放在过滤器之前会像我预期的那样,但servlet映射后面的过滤器仍在执行。我做错什么了吗

例如,这是我的web.xml


蜂房
com.test.apirection
蜂房
/abc/*
滤波器
com.test.filter
滤波器
/*

因此,当传入url包含“/abc/”时,我希望servlet执行并跳过过滤器。我将我的servlet放在所有过滤器之前,但当传入url包含“/abc/”时,仍然会执行过滤器。

过滤器之前没有servlet的概念

如果servlet url映射限定筛选器url映射,则在servlet之前执行筛选器。
我收到了您的要求,您只是不想对某些URL进行筛选。
A.如果您的应用程序仍处于启动阶段,则可以按照下面给出的方式进行配置


Servlet1
/过滤/服务1
Servlet1
/过滤/服务2
...
滤波器
/过滤/*
以及要绕过筛选器的servlet url


Servlet1
/未过滤/服务1
二,。如果您的应用程序已经开发,并且您已经使用映射
/*
配置了一个过滤器,那么您不能跳过正在执行的过滤器。但您可以在该筛选器之前再添加一个筛选器。在这里,过滤器顺序起着重要作用,您可以执行与servlet相同的功能。在您的过滤器中,您只需断开过滤器链并发送响应,如下所示

@覆盖
public void doFilter(ServletRequest请求、ServletResponse响应、FilterChain链)抛出IOException、ServletException
{
//您的业务逻辑
//构造响应发送
response.getOutputStream().write(responseToSend);
返回;
}

过滤器之前没有servlet的概念

如果servlet url映射限定筛选器url映射,则在servlet之前执行筛选器。
我收到了您的要求,您只是不想对某些URL进行筛选。
A.如果您的应用程序仍处于启动阶段,则可以按照下面给出的方式进行配置


Servlet1
/过滤/服务1
Servlet1
/过滤/服务2
...
滤波器
/过滤/*
以及要绕过筛选器的servlet url


Servlet1
/未过滤/服务1
二,。如果您的应用程序已经开发,并且您已经使用映射
/*
配置了一个过滤器,那么您不能跳过正在执行的过滤器。但您可以在该筛选器之前再添加一个筛选器。在这里,过滤器顺序起着重要作用,您可以执行与servlet相同的功能。在您的过滤器中,您只需断开过滤器链并发送响应,如下所示

@覆盖
public void doFilter(ServletRequest请求、ServletResponse响应、FilterChain链)抛出IOException、ServletException
{
//您的业务逻辑
//构造响应发送
response.getOutputStream().write(responseToSend);
返回;
}

请参见没有提供此功能的默认筛选器。请参见没有提供此功能的默认筛选器