Ngangur gini enaknya lanjutin
blogging lagi deh
Kemarin kan kita sudah mencoba
Web Server pada host UML yang kita buat, sekarang kita buat Web Server dari
Java. But How??? These are some tricky
ways to do that. Any body gonna have time for that, hehe...
1.
Pertama kita buat class baru pada project kita dengan nama
JavaWebServer dan add this code chuy
package
javawebserver;
public class
JavaWebServer {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
// Kita instansiasi Web Server kita
WebServer ws = new WebServer();
ws.start();
}
}
2. Lanjut, kita buat class
java baru lagi dengan nama WebServer
package javawebserver;
import java.awt.Desktop;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;
public class WebServer {
private
FileInputStream web;
/**
* WebServer
constructor.
*/
protected void
start() {
ServerSocket s;
System.out.println("Webserver starting up on port 8080");
System.out.println("(press ctrl-c to exit)");
//inisialisasi
server dengan port 8080, kita pakai try catch utk menghandling apabila
// kegagalan
dalam membuka port tidak menuju undefined state.
try {
s = new
ServerSocket(8080);
} catch
(Exception e) {
System.out.println("Error: " + e);
return;
}
System.out.println("Waiting for connection");
for (;;) {
try {
//menerima
koneksi
Socket
remote = s.accept();
//mengirim
pesan
System.out.println("Connection, sending data.");
BufferedReader in = new BufferedReader(new InputStreamReader(
remote.getInputStream()));
PrintWriter
out = new PrintWriter(remote.getOutputStream());
//membaca
permintaan pengguna di kolom url
String str =
".";
while
(!str.equals(""))
str =
in.readLine();
// Membaca
file dari input file dengandirektori ternentu, kita bisa ganti direktori
// tersebut dengan format apabila listing
direktori menggunakan slash dobel.
File file =
new File("D:\\smt 4\\Pweb\\Pemrograman Web C &
D\\contoh\\1.html");
FileInputStream
fis;
fis = new
FileInputStream(file);
//isi dari
permintaan pengguna
out.println("HTTP/1.0
200 OK");
out.println("Content-Type: text/html");
out.println("Server: Bot");
out.println("");
// out.println("<H1>Halo
ITS!!!</H2>");
int content;
while ((content =
fis.read()) != -1) {
// Konversi ke
karakter sebagai tag html dan dibaca oleh browser dalam bentuk
// tampilan html.
out.print((char)
content);
}
out.flush();
remote.close();
} catch
(Exception e) {
System.out.println("Error: " + e);
}
}
}
}
3. Code udah jadi tuh.
Sekarang kita run deh dan akses melalui browser dengan ketikkan URL ini pada
alamat browser kita
localhost:8080
maka akan tampil website
server dari file html yang dirujuk pada D:\smt 4\Pweb\Pemrograman Web C &
D\contoh\1.html.
Not so difficult is it? You can do that.