import java.io.DataOutputStream;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.InetAddress;
import java.net.ServerSocket;
import java.net.Socket;
public class WebServer {
public static void main(String[] args) {
try {
ServerSocket serversocket = new ServerSocket(80);
System.out.println("OK!\n");
//go in a infinite loop, wait for connections, process
request, send response
while (true) {
System.out.println("\nReady, Waiting for requests...\n");
Socket connectionsocket = serversocket.accept();
InetAddress client = connectionsocket.
System.out.println(client.
to server.\n");
BufferedReader input =
new BufferedReader(
new
InputStreamReader(
String httpRequest = input.readLine(); //read from the stream
System.out.println("Http Request from browser : " +
httpRequest);
//GET /index.html HTTP/1.1
String[] data = httpRequest.split(" ");
File htmlFile = new File("c:\\latihan" + data[1]);
DataOutputStream output =
new
DataOutputStream(
if (!htmlFile.exists()) {
output.writeBytes("HTTP/1.0 404 Not Found\r\n");
output.writeBytes("Content-
output.writeBytes("\r\n");//
output.writeBytes("<html><
htmlFile.getAbsolutePath()
+ " not found</body></html>\n");
output.flush();
} else {
System.out.println("\nClient requested:" +
htmlFile.getAbsolutePath() + "\n");
output.writeBytes("HTTP/1.0 200 OK\r\n");
output.writeBytes("Content-
output.writeBytes("\r\n");//
BufferedReader reader = new BufferedReader(new
FileReader(htmlFile));
String line;
while ((line = reader.readLine()) != null) {
output.writeBytes(line);
}
output.writeBytes("\n");//end of http header
output.flush();
}
} //go back in loop, wait for next request
} catch (Exception ex) {
ex.printStackTrace();

}
}
}
}
}
Tidak ada komentar:
Posting Komentar