Facebook Twitter

Java Web Server

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.