通常java的web应用都是在专业的web容器 tomcat,jetty之类,非web项目有时候只是提供一个简单的http接口,例如自身程序提供一个健康检查服务
只需发送一个http请求去探测。那么非web项目不借助第三方jar如何做呢?
java 内置一个 com.sun.net.httpserver 这就可以帮助我们实现
package com.xuyw.utils.myhttp;
import com.sun.net.httpserver.HttpServer;
import lombok.extern.slf4j.Slf4j;
import java.io.OutputStream;
import java.net.InetSocketAddress;
/**
* @author one.xu
* @version v1.0
* @description
* @date 2019/4/19 14:20
*/
@Slf4j
public class MyHttp {
public static void main(String[] args) throws Exception {
HttpServer server = HttpServer.create(new InetSocketAddress(8080), 10);
server.createContext("/", httpExchange -> {
String response = "hello world";
httpExchange.sendResponseHeaders(200, 0);
OutputStream os = httpExchange.getResponseBody();
String queryStr = httpExchange.getRequestURI().getQuery();
os.write(response.getBytes());
os.close();
});
server.start();
log.info("my http start");
}
}