diff --git a/httpd/build.gradle.kts b/httpd/build.gradle.kts
new file mode 100644
index 0000000..d2aab59
--- /dev/null
+++ b/httpd/build.gradle.kts
@@ -0,0 +1,14 @@
+/*
+ * Examples for Java
+ *
+ * Copyright (c) 2021. Elex. All Rights Reserved.
+ * https://www.elex-project.com/
+ */
+
+plugins {
+ id("elex-java")
+}
+
+dependencies {
+
+}
diff --git a/httpd/logback.xml b/httpd/logback.xml
new file mode 100644
index 0000000..74ff8a3
--- /dev/null
+++ b/httpd/logback.xml
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+ %d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n
+
+
+
+
+
+
+
diff --git a/httpd/src/main/java/kr/pe/elex/examples/HttpD.java b/httpd/src/main/java/kr/pe/elex/examples/HttpD.java
new file mode 100644
index 0000000..4a5cb7a
--- /dev/null
+++ b/httpd/src/main/java/kr/pe/elex/examples/HttpD.java
@@ -0,0 +1,53 @@
+/*
+ * Examples for Java
+ *
+ * Copyright (c) 2021. Elex. All Rights Reserved.
+ * https://www.elex-project.com/
+ */
+
+package kr.pe.elex.examples;
+
+import com.sun.net.httpserver.HttpExchange;
+import com.sun.net.httpserver.HttpHandler;
+import com.sun.net.httpserver.HttpServer;
+import lombok.extern.slf4j.Slf4j;
+
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.InputStreamReader;
+import java.io.OutputStream;
+import java.net.InetSocketAddress;
+import java.time.LocalDateTime;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
+
+@Slf4j
+public class HttpD {
+ public static void main(String... args) throws IOException {
+ final ExecutorService threadPool = Executors.newCachedThreadPool();
+ HttpServer httpServer = HttpServer.create(new InetSocketAddress(18080), 0);
+ httpServer.setExecutor(threadPool);
+
+ httpServer.createContext("/", new HttpHandler() {
+ @Override
+ public void handle(final HttpExchange httpExchange) {
+ try {
+ httpExchange.getResponseHeaders().add("X-Datetime", LocalDateTime.now().toString());
+ String message = "
Hello, world!
";
+ //message += httpExchange.getRequestMethod();
+ //BufferedReader reader = new BufferedReader(new InputStreamReader(httpExchange.getRequestBody()));
+ //message += reader.readLine();
+ httpExchange.sendResponseHeaders(200, message.getBytes().length);
+ OutputStream os = httpExchange.getResponseBody();
+ os.write(message.getBytes());
+ os.flush();
+ os.close();
+ } catch (IOException e) {
+ }
+
+ }
+ });
+ httpServer.start();
+ }
+
+}
diff --git a/settings.gradle.kts b/settings.gradle.kts
index afdf95d..2b95233 100644
--- a/settings.gradle.kts
+++ b/settings.gradle.kts
@@ -12,5 +12,5 @@ include(
"ssh",
"web-socket-servlet", "web-socket-client",
"thread", "hibernate", "jdbc-sqlite",
- "xml", "jackson", "jsoup", "markdown", "network"
+ "xml", "jackson", "jsoup", "markdown", "network", "httpd"
)