最早的学习web编程是写一个Servlet,然后重写里面的service方法,然后去配置web.xml配置,最后部署在tomcat或者jetty等容器中启动。后面是使用一写strtus或者springmvc框架。其实通过jdk源码,可以快速创建web服务,和golang及其的相似。
HttpServer
public static void main(String[] args) { HttpServer server = HttpServer.create(); server.bind(new InetSocketAddress(8081), 3); server.createContext("/health", new HealthHandler()); server.createContext("/info", new InfoHandler()); executorService = Executors.newFixedThreadPool(5, DaemonThreadFactory.defaultThreadFactory(daemon)); server.setExecutor(executorService); server.start(); }
static class HealthHandler implements HttpHandler { @Override public void handle(HttpExchange httpExchange) throws IOException { String responseString = "{\"status\":\"UP\"}"; httpExchange.sendResponseHeaders(200, responseString.length()); OutputStream os = httpExchange.getResponseBody(); os.write(responseString.getBytes()); os.close(); } } static class InfoHandler implements HttpHandler { @Override public void handle(HttpExchange httpExchange) throws IOException { String responseString = "{}"; httpExchange.sendResponseHeaders(200, responseString.length()); OutputStream os = httpExchange.getResponseBody(); os.write(responseString.getBytes()); os.close(); } }
来源:oschina
链接:https://my.oschina.net/u/3126880/blog/4411014