Create a HTTP Server in Java
Here is a quick tutorial on how to create a local embedded HTTP server in Java to serve JSON data. The whole code in less than 30 lines on Java.
package com.juixe.json.server;
import com.sun.net.httpserver.HttpExchange;
import com.sun.net.httpserver.HttpHandler;
import com.sun.net.httpserver.HttpServer;
import java.io.IOException;
import java.net.InetSocketAddress;
public class JSONServer implements HttpHandler {
public static void main(String[] args) throws IOException {
HttpServer server = HttpServer.create(new InetSocketAddress(8080), 0);
server.createContext("/data", new JSONServer());
server.setExecutor(null);
server.start();
}
@Override
public void handle(HttpExchange he) throws IOException {
String response = "{\"message\": \"Hello, HTTP Client\"}";
he.getResponseHeaders().set("Content-Type", "application/json;charset=UTF-8");
he.sendResponseHeaders(200, response.length());
he.getResponseBody().write(response.getBytes());
he.close();
}
}
The HttpServer and HttpHandler classes are part of the JRE, so no additional libraries are required. Java also includes a HttpsServer which supports SSL. In the HttpHandler, you can return any data but for this example we are returning a simple JSON response.