Servlet异步处理示例

@WebServlet(urlPattens=”/demo”, asyncSupported = true)
public class AsyncDemoServlet extends HttpServlet {
@Override
public void doGet(HttpServletRequest request, HttpServletRespone response)
throws IOException, ServletException {
respones.setContentType(“text/html; charset=utf-8”);
PrintWriter writer = response.getWriter();
out.println(“进入Servlet时间” + new Date() + “.”);
out.flush();

        //在子线程中执行业务调用,并由其负责输出响应,主线程退出
        AsyncContext ctx = request.startAsync();
        new Thread(new Executor(ctx)).start();

        out.println("结束Servlet的时间:" + new Date() + ".");
        out.flush();
}

}

public class Executor implements Runnable {
private AsyncContext ctx = null;
publiic Executor(AsyncContext ctx){
this.ctx = ctx;
}

@Override
public Void run() {
    try {
        Thead.sleep(10000);
        //用out模拟实际业务
        PrintWriter out = ctx.getWriter();
        out.println("业务处理完毕的时候:" + new Date() + ".");
        out.flush();
        ctx.complete();
    } catche(Exception ex) {
        e.printStackTrace();
    }
}

}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值