注意一:
@WebServlet(urlPatterns={"/hi"},asyncSupported=true)
注意二:
在客户端看来, 这仍然是同步的请求, 客户端需要等待请求结果。
注意三:异步分为请求异步和相应异步, 本例子只是响应方法异步。
/**
* Copyright (c) 2014 Oracle and/or its affiliates. All rights reserved.
*
* You may not modify, use, reproduce, or distribute this software except in
* compliance with the terms of the License at:
* http://java.net/projects/javaeetutorial/pages/BerkeleyLicense
*/
package javaeetutorial.hello2;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.AsyncContext;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* This is a simple example of an HTTP Servlet. It responds to the GET method of
* the HTTP protocol.
*/
@WebServlet(urlPatterns={"/hi"},asyncSupported=true)
public class GreetingServlet extends HttpServlet {
@Override
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
final AsyncContext context= request.startAsync();
context.start(new Runnable(){
@Override
public void run() {
try {
Thread.sleep(10000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
// then write the data of the response
try {
context.getResponse().getWriter().println("hello");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
context.complete();
}
});
}
@Override
public String getServletInfo() {
return "The Hello servlet says hello.";
}
}
相关推荐
异步servlet
C++实验性内容:异步HTTP客户端(boost.asio、boost.spirit、boost.log)
3-6Tomcat处理源码实现与异步Servlet源码实现(1).mp4
NULL 博文链接:https://dacoolbaby.iteye.com/blog/2163367
Ajax:异步请求,不刷新页面的情况下进行异步交互,每个java人都应该学习。
38 八、实验八:有限冲击响应滤波器(FIR)算法实验 40 九、实验九:快速傅立叶变换(FFT)算法实验 45 十、实验十:卷积算法实验 51 十一、实验十一:异步串口通信实验 63 十二、实验十二:烧写扩展 FLASH 实验 68
*实验八:模数转换实验 *实验九:数模转换实验 实验十:外设控制实验—发光二极管阵列显示实验 实验十一:外设控制实验—液晶显示器控制显示实验 实验十二:外设控制实验—键盘输入实验 实验十三:外设控制实验...
三菱电机PLC实验:三相异步电机正反转
ASP.NET MVC框架开发系列课程(23):异步Action
【数字系统】时序逻辑电路设计:异步复位D触发器十进制计数器分频器 Quartus II 环境Verilog HDL语言编程+仿真+开发板FPGACPLDEDA.pdf 一、 实验要求 1. 理解触发器和计数器的概念。 2. 完成触发器(D型)、计数器...
java源码:异步IO框架 Cindy.rar
java源码:异步输出框架 AsynWriter.rar
你不懂JS:异步与性能.pdf
本集疯兄给众位带来一个重要的概念:异步!大家日常生活中提过同步吧?那么异步正好和同步相反,异步处理需要结果的是大任务操作时的用户体验问题。所以这一集的内容更多是一种编码上的技巧,通过异步技巧让我们的...
java源码:异步HTTP客户端开发包 HttpAsyncClient.rar
第十五章:异步编程(1).md
在前几篇博客我们讨论了Tomcat在SpringBoot框架中是如何启动的,讨论了Tomcat的内部组件是如何设计以及请求是如何流转的,那么我们这边博客聊聊Tomcat的异步Servlet,Tomcat是如何实现异步Servlet的以及异步Servlet...
异步时序逻辑电路设计实验报告 异步时序逻辑电路是数字电路中的一种常见电路结构,它广泛应用于计算机、通信、自动控制等领域。异步时序逻辑电路的设计是数字电路实验的重要内容之一,本实验报告将详细介绍异步时序...
实验二:设计含异步清0和同步时钟使能的十进制计数器.pdf实验二:设计含异步清0和同步时钟使能的十进制计数器.pdf
一个高频问题:异步操作会创建线程吗?.doc