// Programm 5-7:  ./JDBCclientserver/SimpleHttpServer.java
import java.io.*;
import java.net.*;
public class SimpleHttpServer {
  final static int CR = 13, LF = 10, port = 6799;
  static int zähler;
  public static void main(String[] args) throws IOException {
    // Internetanschluß festlegen (Server Socket)
    ServerSocket server = new ServerSocket(port);
    System.out.println(
            "\nHTTP-Server belauscht port " + port + " ...\n");
    while(true) {                         // Serverschleife
      Socket lauschen = server.accept();
      InputStream ein = lauschen.getInputStream();
      PrintWriter aus =
                   new PrintWriter(lauschen.getOutputStream());
      aus.print(
               "HTTP/1.0 200 OK\nContent-type: text/html\n\n");
      aus.println("<H1>" + ++zähler + 
            ". Antwort von HTTP-Server</H1>" +
            "<B>Full HTTP Request Header als Echo</B>\n<PRE>");
      for (int ch, chp = 0; (ch = ein.read()) > -1;) {
        aus.print(String.valueOf((char) ch));
        if (ch == LF && chp == LF) break;  // Test auf CRLFCRLF
        else  if (ch != CR) chp = ch;      // beendet HTTP-Anf.
      }
      aus.println("</PRE>"); aus.close();
      System.out.print("#"); System.out.flush();
    }
  }
}
