Начиная с JDK 1.6 Java содержит API для реализации HTTP сервера. См. детали здесь.
Как может выглядеть простейший встраиваемый сервер на Java:
import java.io.*;
import java.net.InetSocketAddress;
import com.sun.net.httpserver.*;
public class SimpleHttpServer {
// собственно сервер
public static void main(String[] args) throws Exception {
HttpServer server = HttpServer.create(new InetSocketAddress(8080), 0);
server.createContext("/root", new MyHandler());
server.setExecutor(null); // default executor
server.start();
}
// обработчик
static class MyHandler implements HttpHandler {
public void handle(HttpExchange t) throws IOException {
// создаем отклик
String response = "Hello, client!";
// отправляем отклик клиенту
t.sendResponseHeaders(200, response.length());
OutputStream os = t.getResponseBody();
os.write(response.getBytes());
os.close();
}
}
}
Теперь, если запустить это приложение, то обратиться к нашему серверу можно будет так: http://localhost:8080/root
|