servlet 3.0 后提供异步处理支持
1、AsyncContext
servlet 3.0提供异步处理来快速响应web请求
@WebServlet(urlPatterns = "/TestAysn",asyncSupported = true) //开启异步支持 public class TestAysn extends HttpServlet { public void service(HttpServletRequest servletRequest, HttpServletResponse servletResponse) throws ServletException, IOException { AsyncContext asyncContext = servletRequest.startAsync(); //获取异步上下文 asyncContext.start(new Task(asyncContext)); //执行异步任务 PrintWriter writer = servletResponse.getWriter(); writer.println("aync before..."); writer.flush(); } }
2、AsyncListener
在异步处理过程监听
public interface AsyncListener extends EventListener { void onComplete(AsyncEvent var1) throws IOException; //处理结束监听 void onTimeout(AsyncEvent var1) throws IOException; //超时监听 void onError(AsyncEvent var1) throws IOException; //出错监听 void onStartAsync(AsyncEvent var1) throws IOException; //异步处理监听 }