Servlets 在tomcat中管理请求

Servlets 在tomcat中管理请求,servlets,servlet-filters,Servlets,Servlet Filters,我想管理请求。确切地说,我希望延迟一些请求的响应,将其传递给队列,然后使用其他线程处理它。我正在使用servlet的过滤器。在doFilter方法中,我不调用filterChain的doFilter,尽管如此,还是会发送响应。在另一个线程中,当我从队列中调用filterChain上的这个方法时,我得到了null 这两个问题有什么不对(不要立即发送响应?您不应该这样做。请求和响应对象范围仅在作为容器分派的一部分调用的Servlet的service()和Filter的doFilter()方法中有效

我想管理请求。确切地说,我希望延迟一些请求的响应,将其传递给队列,然后使用其他线程处理它。我正在使用servlet的过滤器。在doFilter方法中,我不调用filterChain的doFilter,尽管如此,还是会发送响应。在另一个线程中,当我从队列中调用filterChain上的这个方法时,我得到了null


这两个问题有什么不对(不要立即发送响应?

您不应该这样做。请求和响应对象范围仅在作为容器分派的一部分调用的
Servlet的service()
Filter的doFilter()方法中有效

Servlet规范说,…
容器通常在对象上循环使用响应完成方法,以避免创建响应对象的性能开销。开发人员必须注意,在相应请求上维护对未调用
startAsync
的响应对象的引用,超出范围desc上文所述可能导致非确定性行为


注意:您应该使用Servlet 3.0异步请求处理,通过它可以暂停和恢复请求

我认为Tomcat管理请求。您认为为什么需要这样做?这是客户机的要求。他想停止一些请求一分钟。