/************************************************* * Copyright (C) 2003, CCNY * @Author: Jinzhong Niu * @Date: Sun Feb 22 22:39:12 EST 2004 *************************************************/ import java.net.*; import java.io.*; import java.util.*; public class EchoHttpServer { public static void main(String args[]) { try{ ServerSocket serverSocket = new ServerSocket(PORT); Socket socket = null; BufferedReader reader = null; PrintWriter writer = null; String request = null; String response = null; String line = null; while ((socket=serverSocket.accept()) != null) { reader = new BufferedReader( new InputStreamReader(socket.getInputStream())); writer = new PrintWriter(socket.getOutputStream()); request = ""; while (true) { line = reader.readLine(); request += line + EOL; if (line.length() == 0) { break; } } System.out.println("### Request received from " + socket.getInetAddress()); System.out.println(request); String html = "\n" + "Here's what we got from the client at " + new Date() + ":\n" + "
\n"	+ request + "
" + ""; response = "HTTP/1.0 200 OK" + EOL + "Content-type: text/html" + EOL + "Server: blablabla" + EOL + "Content-Length: " + html.length() + EOL + "Connection: close" + EOL + "" + EOL + html; writer.print(response); writer.flush(); System.out.println("Response: \n"+response); reader.close(); writer.close(); socket.close(); } } catch(IOException ex) { ex.printStackTrace(); System.exit(1); } System.exit(0); } static String EOL = "\015\012"; static int PORT = 8181; }