import java.io.*;
import java.net.*;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.*;
public class WebServer {
public static void main(String[] args) throws IOException {
try {
//connection number
int i = 1;
//establish server socket
ServerSocket s = new ServerSocket(8189);
while (true) {
//wait for client connection
Socket incoming = s.accept();
System.out.println("WebServer running on port: " + s.getLocalPort());
System.out.println("The connection number is: " + i);
Runnable r = new ThreadHandler(incoming);
Thread t = new Thread(r);
t.start();
i++;
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
/**
* This class handles the client input for one server socket
*/
class ThreadHandler implements Runnable {
private Socket incomig;
public ThreadHandler(Socket i) {
incomig = i;
}
public void run() {
try {
try {
InputStream inStream = incomig.getInputStream();
OutputStream outStream = incomig.getOutputStream();
Scanner in = new Scanner(inStream);
PrintWriter out = new PrintWriter(outStream, true);
while (true) {
String line = in.nextLine();
if (line.equals("\r\n") && line.equals("")) {
break;