package javawebserver;
public class JavaWebServer {
public static void main(String[] args) {
// TODO code application logic here
WebServer ws = new WebServer();
ws.start();
}
}
WebServer.java
package javawebserver;
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.InputStreamReader;
import java.io.PrintStream;
import java.net.ServerSocket;
import java.net.Socket;
public class WebServer {
protected void start() {
ServerSocket s;
System.out.println("webserver berada di 6060");
System.out.println("(tekan ctrl+c)");
//inisialisasi server
try {
s = new ServerSocket(6060); // portnya diganti tidak masalah
} catch (Exception e) {
System.out.println("Error: " + e);
return;
}
System.out.println("menunggu sambungan");
for (;;) {
try {
//menerima koneksi
Socket remote = s.accept();
//mengirim pesan
System.out.println("menghubungkan, mengirim data.");
BufferedReader in = new BufferedReader(new InputStreamReader(
remote.getInputStream()));
PrintStream out = new PrintStream(remote.getOutputStream());
//membaca permintaan pengguna di kolom url
String str = ".";
while (!str.equals("")){
str = in.readLine();
System.out.println(str);
}
String filepath = "C:\\Users\\Banitama\\Dekstop\\MyWebServerJava\\";
FileInputStream fin = null;
boolean fileExists = true;
if(filepath.endsWith("\\")) filepath+="index.html";
//isi dari permintaan pengguna
out.println("HTTP/1.0 200 OK");
out.println("Content-Type: text/html");
out.println("Server: Bot");
out.println("");
try{
fin = new FileInputStream(filepath);
} catch (FileNotFoundException e){
fileExists = false;
}
if(fileExists){
byte[] buffer=new byte[1024];
int n;
while ((n=fin.read(buffer))!=-1)
out.write(buffer, 0, n);
}
else
{
out.println("<h1>HTTP/1.0 404 Not Found</h1>\r\n");
}
out.flush();
remote.close();
} catch (Exception e) {
System.out.println("Error: " + e);
}
}
}
}
Tidak ada komentar:
Posting Komentar