This is default featured slide 1 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

This is default featured slide 2 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

This is default featured slide 3 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

This is default featured slide 4 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

This is default featured slide 5 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

Jaringan Internat pada linux


Pembahasan dalam praktikum ini memuat tentang cara memasang Driver Ethernet Card, menentukan alamat IP dan cara memeriksa koneksinya. Untuk memasang Driver Ethernet Card caranya sebagai berikut :
Cara Pertama
1.      untuk memasang driver, gunakan perintah # modprobe <nama_card>. Misal: # modprobe via-rhine.
Jika berhasil tidak akan memunculkan pesan kesalahan.
2. kemudian cara menentukan alamat IP, caranya adalah dengan menggunakan perintah :
#ifconfig eth0 192.168.100.54 netmask   255.255.255.0
3.      sebelum lebih lanjut memasang Driver Ethernet Card, periksa dahulu apakah alamat IP sudah terpasang, yaitu dengan menggunakan perintah
  #ifconfig
     Ethernet sudah terpasang dengan benar apabila muncul alamat IP
Cara Kedua
1.      memasang Driver Ethernet Card dan menentukan alamat IP
2.      buka file /etc /modules.conf menggunakan perintah
  #vi /etc/modules.conf
     Catatan : vi adalah editor text untuk mengedit suatu text.
3.      kemudian tambahkan baris pernyataan
  alias eth0 via-rhine dengan perintah vi kemudian insert 
4.      kemudian untuk menyimpan file tersebut dengan menggunakan perintah
  esc :wq!
5.      setelah file tersimpan, tentukan alamat IP dengan membuat file  /etc/sysconfig/network-script/ifcfg-eth0 dengan menggunakan perintah
  #vi/etc/sysconfig/network-script/ifcfg-eth0
6.      setelah masuk pada direktori tersebut isi dengan pernyataan berikut
DEVICE=eth0
BOOTPROTO=state
IPADDR=192.168.100.54
NETMASK=255.255.255.0
NETWORK=192.168.104.0
BROADCAST=192.168.100.255
ONBOOT=yes
7.      kemudian untuk menjalankan network, menggunakan perintah
#service network start
atau
#service network   restart
8.      amatilah hasilnya apakah network sudah jalan menggunakan perintah dibawah ini untuk mengecek apakah sudah terpasang dengan benar
      #ifconfig
9.      kemudian periksa koneksinya apakah sudah terhubung menggunakan   perintah
#ping 192.168.100.54
Catatan : ping digunakan untuk melihat apakah IP terkoneksi atau belum.
Jika ada respon berarti komputer telah terhubung

Penghapusan Database MYSQL melalui PHP


Proses penghapusan data adalah proses yang sangat beresiko, hal ini karena data bersifat unik untuk setiap instansi, misalnya data mahasiswa “x” di Akakom tidak sengaja terhapus maka Akakom akan sulit untuk mengembalikan data tersebut dalam kondisi seperti semula karena data mahasiswa “x” tersebut hanya ada di Akakom dan tidak ada di instansi lain.
Untuk mengurangi adanya resiko  tersebut maka di perlukan konfirmasi mengenai jadi atau tidak suatu data di hapus.
Perintah sql untuk melakukan penghapusan  :  “Delete from <nama_tabel> where <criteria>” yang akan dijalankan dengan menggunakan mysql_query

1.       Mengaktifkan service  Appserv dan MySQL
2.       Pastikan database kantor dan table pegawai yang ada di pertemuan 3 sudah ada (Mengkopykan database dari pertemuan 3 ke database MySQL).
3.       File koneksi.php yang ada di pertemuan 4 juga ada.
<?
      $host = "localhost";
      $user = "root";
      $pass  = "root";
      $dbname = "kantor";
     
      $kon = mysql_connect($host, $user, $pass);
      //jika gagal koneksi ($kon berisi False) beri pesan gagal
      if(!$kon)
            die("Gagal Koneksi Karena ".mysql_error());
           
            //jika berhasil koneksi, maka buka database
            $dbkon = mysql_select_db($dbname, $kon);
            if(!$dbkon)
                          die("Gagal Buka Database $dbname  Karena ".mysql_error());
?>

Skrip program diatas merupakan skrip koneksi.php , digunakan untuk mengkoneksikan php dengan database.
<? //awalan ubntuk penulisan script php
      $host       = "localhost";
//$host : merupakan alamat serverkomputeer yang menyediakan database mysql
// variable host yang digunakan adalah localhost.
      $user       = "root"; //sesuaikan dengan nama user di mysql
      $pass       = "root"; // sesuaikan dengan password di mysql
      $dbname     = "kantor"; // sesuaikan dengan nama database yang akan digunakan.
     
      $kon = mysql_connect($host, $user, $pass);
//variable kon = fungsi mysql_connect digunakan untuk membuka database denmgan memanggil variable host, variable user, variable pass.
Fungsi diatas akan mengembalikan nilai TRUE jika koneksi ke MYSQL sukses dan akan mengembalikan nilai FALSE jika koneksi gagal.

      //jika gagal koneksi ($kon berisi False) beri pesan gagal
      if(!$kon)  // jika tidak samadengan variable kon, maka akan muncul peangagal
               
            die("Gagal Koneksi Karena ".mysql_error());
//muncul pesan “Gagal Koneksi Karena” dan memanggil fungsi mysql_error() yang digunakan Menampilkan teks berupa pesan error dari operasi yang dilakukan pada browser

            //jika berhasil koneksi, maka buka database
            $dbkon = mysql_select_db($dbname, $kon);
//variable dbkon = fungsi mysql_select_db memanggil variable dbname (nama database yang digunakan) dan variavelkon. Fungsi diatas akan mengembalikan nilai TRUE jika nama database ditemukan dan akan mengembalikan nilai FALSE jika nama database tidak ditemukan.
if(!$dbkon)
 //jika tidak sama dengan variable dbkon, maka akan muncul pesan "Gagal Buka Database $dbname  Karena " dan memanggil fungsi mysql_error() yang digunakan Menampilkan teks berupa pesan error dari operasi yang dilakukan

                  die("Gagal Buka Database $dbname  Karena ".mysql_error());
?> //akhiran ubntuk penulisan script php
Jika koneksi berhasil maka pada browser tidak akan tampak apapun (layar kosong)


4.       Membuat file tampil_pegawai.php à untuk menampilkan daftar pegawai dengan persiapan proses penghapusan
<? //awalan untuk penulisan script php
   include "koneksi.php";
//mengincludekan (memasukkan) file koneksi.php
  
   $hasil = mysql_query("select * from pegawai");
//variable hasil = mysql_query digunakan untuk Mengirimkan perintah SQL ke server MySQL, dengan query “Select * from pegawai”. Menampilkan data dari table pegawai. Fungsi diatas akan menghasilkan resource data jika query sukses dijalankan dan false Jika query gagal dilakukan

   if(!$hasil)
//jika tidaksamadengan variable hasil, maka akan menampilkan " Gagal Query data pegawai  Karena” dan memanggil fungsi mysql_error() yang digunakan Menampilkan teks berupa pesan error dari operasi yang dilakukan.
         die("Gagal Query data pegawai Karena ".mysql_error());
              
   //jika berhasil, buat header tabel
   echo "<center>";
// akan menampilkan format dari table secara center atau ditengah
   echo "<table border=1>
//akan menampilkan table dengan border 1                 
   <tr>
         <th> NIP </th>
         <th> NAMA </th>
         <th> ALAMAT </th>
         <th> SEX </th>
         <th> GAJI </th>
         <th>Proses</th>
   </tr>";
//Sebuah baris dibentuk oleh pasangan <tr>..</tr>.sebuah kolom dibentuk oleh  pasangan <th>..</th> akan membuat teks dalam keadaan tebal. Sehingga baris pertama kita kan membuat kolom 1 berisi NIP, kolom 2 berisi NAMA, kolom 3 berisi  ALAMAT, kolom 4 berisi SEX, kolom 5 berisi GAJI, kolom 6 berisi Proses.
       
//kemudian buat resource $hasil dalam bentuk array dan tampilkan isinya.  
while($row = mysql_fetch_array($hasil))
//mengulang selama kondisi variable row = mysql_fetch_array digunakan untuk  Menampilkan sebuah baris hasil query sebagai array assosiatif  di variable hasil. Fungsi diatas  akan dihasilakn suatu array, dimana masing-masing elemen dari array yang berkaitan dengan field pada database tersebut.
   {
         echo "<tr>";
// menampilkan baris

         echo "<td>". $row[nip]." </td>";
// menampilkan kolom 1 dengan memanggil variable row  yang berisi nip

         echo "<td>" .$row[nama]."</td>";
// menampilkan kolom 2 dengan memanggil variable row  yang berisi nama

         echo "<td>".$row[alamat]. "</td>";
// menampilkan kolom 3 dengan memanggil variable row  yang berisi alamat

         echo "<td> " .$row[sex]. "</td>";
// menampilkan kolom 4 dengan memanggil variable row  yang berisi sex

         echo "<td>" .number_format($row[gaji])."</td>";
// menampilkan kolom 5 dengan number_format (format angka)dari variable row  yang berisi gaji
           
/*Buat Link HAPUS diarahkan kefile konfirm_pegawai.php dengan dikirimkan parameter NIP yang berisi NIP pegawai yang akana dihapus*/
        
         echo "<td> <a href=konfirm_pegawai.php?nip=$row[nip]> HAPUS </a> </td>";
// menampilkan kolom 6 dengan membuat link HAPUS, yang mengarah ke  konfirm_pegawai.php?nip=$row[nip].

          echo "</tr>";
   }
   echo "</table> </center>";
?> //akhir untuk penulisan script php
5.       Jalankan file tersebut dan amati hasilnya. Apakah terdapat perbedaan dengan file lihat_pegawai1.php yang dibuat pada pertemuan 4.
Ada perbedaan dengan file lihat_pegawai1.php yang dibuat pada pertemuan 4, yaitu terdapat penambahan 1 kolom berupa Proses, yang berisi link Hapus.

6.       Membuat file konfirm_pegawai.php à untuk konfirmasi jadi tidaknya data tersebut dihapus
<? //awalan untuk penulisan script php
     include "koneksi.php";
//mengincludekan (memasukkan) file koneksi.php
    
     $nip = $_GET['nip']; //masukkan parameter nip yang dikirimkan ke var $nip
     /*lakukan query data pegawai yang mempunyai NIP = nip yang
     dikirimkan saat melakukan KLik HAPUS dari program tampil_pegawai.php*/
    
     $hasil = mysql_query("select * from pegawai where nip = $nip");
//variable hasil = mysql_query digunakan untuk Mengirimkan perintah SQL ke server MySQL, dengan query “Select * from pegawai where nip = $nip”. Menampilkan data dari table pegawai dimana nip = variable nip. Fungsi diatas akan menghasilkan resource data jika query sukses dijalankan dan false Jika query gagal dilakukan.

     if(!$hasil)
//jika tidak sama dengan variable hasil, maka akan menampilkan " Gagal Query data pegawai  Karena " dan memanggil fungsi mysql_error() yang digunakan Menampilkan teks berupa pesan error dari operasi yang dilakukan.
           die("Gagal Query data pegawai  Karena: ".mysql_error());
          
     //jika berhasil, maka isi resorce data di $hasil diambil menggunakan fetch_arry
     $row = mysql_fetch_array($hasil);
//variable row = mysql_fetch_arraydigunakan untuk  Menampilkan sebuah baris hasil query sebagai array assosiatif  di variable hasil. Fungsi diatas  akan dihasilakn suatu array, dimana masing-masing elemen dari array yang berkaitan dengan field pada database tersebut.

/*Tampilkan hasilnya, berfungsi untuk menampilkan informasi saat konfirmasi sehingga tidak harus semua data, disini  hanya NIP, Nama dan Alamat saja*/
           echo "<center>";
// akan menampilkan format dari table secara center atau ditengah

           echo "<h3> Konfirmasi Penghapusan Data Pegawai</h3>";
// akan menampilkan teks dengan  tag h3 : Konfirmasi Penghapusan Data Pegawai

           echo "<table border=1 width=50%>";
//akan menampilkan table dengan border 1 dan lebar tabel sebesar 50% terhadap lebar jendela browser

           echo "<tr> // menampilkan baris 1

                       <td width=50%> NIP </td>      <td>$row[nip]</td>
// menampilkan kolom 1 dengan teks NIP dan lebar tabel sebesar 50% terhadap lebar jendela browser
// menampilkan kolom 2 dengan dengan memanggil variable row  yang berisi nip
                 </tr>

                  <tr> // menampilkan baris 2
                       <td> NAMA </td>               <td>$row[nama]</td>
// menampilkan kolom 1 dengan teks NAMA
// menampilkan kolom 2 dengan dengan memanggil variable row  yang berisi nama
                 </tr>

                 <tr>  // menampilkan baris 3
                       <td> ALAMAT </td>             <td>$row[alamat]</td>
// menampilkan kolom 1 dengan teks Alamat
// menampilkan kolom 2 dengan dengan memanggil variable row  yang berisi alamat
                 </tr>

                 <tr>"; // menampilkan baris 4
          
/*Buat pilihan Proses, HAPUS atau Batal. Jika Hapus, arahkan ke file hapus_pegawai.php
dengan parameter NIP yang akan di hapus. Jika Batal, arahkan kemali ke file tampil_pegawai.php*/
          
           echo "<td colspan='2' align='center'>
<a href=hapus_pegawai.php?nip=$row[nip]> HAPUS  </a>";
//Menampilkan penggabungan 2 kolom terletak ditengah. Yang berisi pilihan Proses link HAPUS yang mengarah ke file hapus_pegawai.php dengan parameter NIP yang akan di hapus.

           echo "<a href=tampil_pegawai.php> BATAL </a>";
//menampilkan link BATAL, yang mengarah ke file tampil_pegawai.php

           echo "</td></tr>";
           echo "</table>";
?> //akhir untuk penulisan script php

7.  Membuat file hapus_pegawai.php à untuk proses penghapusan
<? //awalan untuk penulisan script php

       include "koneksi.php";
//mengincludekan (memasukkan) file koneksi.php
      
       $nip = $_GET['nip']; //masukkan parameter nip yang dikirimkan ke var $nip
       /*lakukan query penghapusan pegawai dengan kriteria Hanya pegawai dengan NIP = nip yang
       dikirimkan saat melakukan KLik HAPUS dari program konfirm_pegawai.php*/
      
       $hasil = mysql_query("delete from pegawai where nip = $nip");
//variable hasil = mysql_query digunakan untuk Mengirimkan perintah SQL ke server MySQL, dengan query “Select * from pegawai where nip = $nip”. Menampilkan data dari table pegawai dimana nip =  variable nip. Fungsi diatas akan menghasilkan resource data jika query sukses dijalankan dan false Jika query gagal dilakukan.

       if(!$hasil)
//jika tidaksamadengan variable hasil, maka akan menampilkan " Gagal Hapus.... Karena " dan memanggil fungsi mysql_error() yang digunakan Menampilkan teks berupa pesan error dari operasi yang dilakukan.

              die("Gagal Hapus.... Karena: ".mysql_error());
      
       // jika berhasil hapus, langsung kembali ke daftar (tampil_pegawai.php)
       header("location:tampil_pegawai.php");
?> //akhir untuk penulisan script php

8.       Jalankan kembali file tampil_pegawai.php

9.       Letakkan kursor mouse diatas link HAPUS yang paling atas (tidak usah diklik), amati apa yang muncul tulisan di statusbar dari browser. Kemudian geser mouse ke link hapus yang lain, amati kembali apa yang muncul di statusbar. Apakah terjadi pebedaan
Saat di Letakkan kursor mouse diatas link HAPUS yang paling atas (tidak usah diklik), yang muncul tulisan di statusbar dari browser adalah  http://localhost/penghapusan_6/konfirm_pegawai.php?nip=001. Saat di Letakkan kursor mouse diatas link HAPUS pada kolom ke 2 à http://localhost/penghapusan_6/konfirm_pegawai.php?nip=002
Ada perbedaan saat meletakkan  kursor mouse diatas link HAPUS pada kolom 1, 2, ataupun kolom hapus yang lain. Perbedaanya ada pada parameter NIP yang akan di hapus.

10.   Lakukan klik pada salah satu link hapus, jika program yang dibuat benar, pada browser akan ditampilkan suatu konfirmasi penghapusan


11.   Pilih BATAL, amati apa yang terjadi . lakukan langkah 10, kemudian pilih HAPUS. Amati apa yang terjadi.
Saat kita memilih BATAL maka akan kembali ke file tampil_pegawai.php. Kemudian saat kita memilih untuk HAPUS akan menuju tampil_pegawai.php, tetapi isi data pada file_pegawai sudah berkurang.

Struktur Aplikasi WEB





Struktur Dasar Dari Aplikasi Web
Supaya container dapat mengenali aplikasi sebagai aplikasi web yang sah, harus dibentuk struktur direktori yang spesifik

Stuktur direktori dalam Java Web Application
Pertama, top level Folder(salah satu yang mengisi aplikasi Anda) tidak harus diberi nama  Dokument Root.  Sesungguhnya pemberian nama apapun tidak mempengaruhi aplikasi, namun disarankan untuk menamainya sesuai dengan nama aplikasi Anda. Penamaan sebagai Document Root hanya menggambarkan direktori ini bertindak sebagai root folder pada file atau dokumen pada aplikasi Anda.
Kedua, folder lain dapat dimuat pada struktur direktori ini, sebagai contoh, karena  developer mengharapkan untuk mengorganisir content mereka, mereka dapat menciptakan suatu folder  images  dalam document root untuk semua file gambar, atau mungkin suatu direktori  config pada folder WEB-INF untuk menjaga informasi tentangkonfigurasi. Selama mengikuti alur struktur yang ditentukan seperti diatas, container mengijinan penambahan direktori.
Ketiga: Kapitalisasi pada folder WEB-INF adalah disengaja, Lowercaps pada class dan Library adalah disengaja juga, tidak mengikuti aturan kapitalisasi manapun pada folder ini akan mengakibatkan aplikasi Anda tidak dapat melihat isi dari folder ini.
Keempat: Semua content atau isi dari folder WEB-INF tidak dapat dilihat dari browser. Container secara otomatis mengatur berbagai hal, seperti : pada tampilan browser, folder tersebut tidak ada atau tidak diketahui. Mekanisme ini  melindungi sumberdaya vital seperti pada file class Java, konfigurasi aplikasi, dan lain sebagainya. Content pada folder ini hanya dapat di akses oleh aplikasi Anda.
Kelima: HARUS ADA SUATU FILE dengan nama web.xml didalam  folder WEB-INF. Meskipun, sebagai contoh, aplikasi web Anda hanya berisi content statis dan tidak menggunakan class Java atau file library, container masih akan mempersyaratkan bahwa aplikasi Anda menggunakan dua hal tersebut.

1.       Dengan menggunakan Netbeans IDE, Kita akan membuat project baru, klik file àNew Project, akan muncul dialog New Project
2.       Pada pne (bagian) Choose Project, pilih Java Web pada Categories and we Aplication pada Projects. Klik Next.
3.       Pada Name and Location, untuk isian Project Name, tulis WebApp1 sebagai nama Project name. klik Next.
klik Next
Klik finish

Ø  Poject no WebApp1 akan muncul dengan file index.jsp ditampilkan dalam editor.

Ø  Build dan run project
Sampai disini kita sudah mempunyai aplikasi web lengkap yang mencakup sebuah file JSP, index.jsp.
1)      Kita edit pada source index.jsp terlebih dahulu isi yang ada pada tag <h1> menjadi Hello Word! Pemrograman we java<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>
<%--
The taglib directive below imports the JSTL library. If you uncomment it,
you must also add the JSTL library to the project. The Add Library... action
on Libraries node in Projects view can be used to add the JSTL 1.1 library.
--%>
<%--
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
--%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
   "http://www.w3.org/TR/html4/loose.dtd">

<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>Ini adalah aplikasi web saya yang pertama </title>
    </head>
    <body>

    <h1>Hello Word !! Pemrograman web java</h1>
    <h1>Halo dunia...</h1>
   
    <%--
    This example uses JSTL, uncomment the taglib directive above.
    To test, display the page like this: index.jsp?sayHello=true&name=Murphy
    --%>
    <%--
    <c:if test="${param.sayHello}">
        <!-- Let's welcome the user ${param.name} -->
        Hello ${param.name}!
    </c:if>
    --%>
   
    </body>
</html>

1)      Klik kanan node project WebApp1 dan pilih Run
2)      IDE kemudian akan mengkopilasi file sumber java , dan melakukan deploy pada platform deployment- contoh ini menggunakan GlassFish v2. Kemudian menampilkan browser
3)      Dalam browser akan ditampilkan hasil aplikasi

Ø  Modifikasi file index.jsp dari aplikasi
a)      Double ckick file indext.jsp pada bagian WebApp1 àWeb Pages
<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>
<%--
The taglib directive below imports the JSTL library. If you uncomment it,
you must also add the JSTL library to the project. The Add Library... action
on Libraries node in Projects view can be used to add the JSTL 1.1 library.
--%>
<%--
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
--%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
   "http://www.w3.org/TR/html4/loose.dtd">

<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>Ini adalah aplikasi web saya yang pertama </title>
    </head>
    <body>

    <h1>Hello Word !! Pemrograman web java</h1>
    <h1>Halo dunia...</h1>
   
    <%--
    This example uses JSTL, uncomment the taglib directive above.
    To test, display the page like this: index.jsp?sayHello=true&name=Murphy
    --%>
    <%--
    <c:if test="${param.sayHello}">
        <!-- Let's welcome the user ${param.name} -->
        Hello ${param.name}!
    </c:if>
    --%>
   
    </body>
</html>

b)      Klik kanan node project WebApp1 dan pilih Run
c)       Browser akan menampilkan

Ø  Menambah Servlet ke Aplikasi
1)      Klik kanan node project WebApp1 dan pilih NewàServlet
-          Akan muncul dialog box New Servlet
-          Untuk isian Class Name, ketik Servlet1.
-          Untuk isian package, ketik package1. Klik Next
-          Klik finish pane pada Configure Servlet Deployment
-          Sekarang kita mempunyai file jsp, index.jsp, dan sebuah servlet, Servlet1.java dalam aplikasi

2)      Memodifikasi Servlet1.java yang telah dibangkitkan IDE
package package1;

import java.io.*;
import java.net.*;

import javax.servlet.*;
import javax.servlet.http.*;

/**
 *
 * @author Student
 * @version
 */
public class Servlet1 extends HttpServlet {
   
    /** Processes requests for both HTTP <code>GET</code> and <code>POST</code> methods.
     * @param request servlet request
     * @param response servlet response
     */
    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
        response.setContentType("text/html;charset=UTF-8");
        PrintWriter out = response.getWriter();
       ///* TODO output your page here
        out.println("<html>");
        out.println("<head>");
        out.println("<title>Servlet Servlet1</title>");
        out.println("</head>");
        out.println("<body>");
        out.println("<h1>Servlet Servlet1 at " + request.getContextPath () + "</h1>");
        out.println("</body>");
        out.println("</html>");
        // */
        out.close();
    }
}

//"request" digunakan untuk membaca HTTP readers yang datang  
    // Form data HTML (contoh data di-enter dan di-submit oleh user )
    // sedangkan data yang lain dapat dimasukkan dari request client 
    
    // "response" adalah sebuah HTTP response line yang spesifik   
    // headers(contoh menspesifikasi content type dan men-setting cookies ).
    // Ia juga memiliki sebuah method yang memberikan ijin kepada servlet untuk            
//membangkitkan response kepada client 
//"out" untuk mengirim content kepada browser 

Bagian  pertama dari source diatas adalah meng-import  class di java.io (bagi PrintWriter, dsb), javax.servlet dan javax.servlet.http. Javax.servlet dan javax.servlet.http adalah package-package yang menyediakan interfaces  dan class untuk membuat sebuah servlet(untuk HttpServlet, HttpServletRequest dan HttpServletResponse). Dengan cara meng-extend HttpServlet, class ini akan meng-inherit method yang akan secara otomatis akan dipanggil  oleh server tergantung pada kondisi-kondisi tertentu (akan dibicarakan kemudian). Dengan meng-override method ini, kita dapat membuat servlet kita memiliki fungsi-fungsi yang kita inginkan. 
kita dapat melihat bahwa IDE yang telah kita buat sebagian akan meng-implementasi cessRequest. Jika kita akan menekan pada kotak dengan tanda tambah dibagian kiri awah, kita akan melihat bahwa processRequest adalah sebuah method sederhana yang dapat ita panggil baik dari doGet maupun doPost. Hal  ini berarti content dari method processRequest memberikan bentuk dasar bagi fungsionalitas dari servlet kita.  

3)      Build dan run project
-          Klik kanan node project WebApp1 dan pilih Run
-          ubah URL menjadi http://localhost:8080/WebApp1/Servlet1
-          Browser akan menampilkan

4)Mengubah URL Relatif dari aplikasi


5)      Build dan run project
-          Klik kanan node project WebApp1 dan pilih Run
-          Browser akan menampilkan

Ø  Menambah JSP baru ke aplikasi
a)       Menambah JSP baru
-          Klik kanan node project WebApp1 dan pilih NewàJSP
-          Untuk isian nama JSP File Name, ketik HaloJSP
-          
-          Klik finish. File HaloJSP.jsp telah ditambah ke project
b)       Modifikasi file haloJSP.jsp menjadi :
<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>
<%--
The taglib directive below imports the JSTL library. If you uncomment it,
you must also add the JSTL library to the project. The Add Library... action
on Libraries node in Projects view can be used to add the JSTL 1.1 library.
--%>
<%--
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
--%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
   "http://www.w3.org/TR/html4/loose.dtd">

<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>Halaman JSP</title>
    </head>
    <body>

    <h1>Halo apa kabar ??</h1>
       
    <%--
    This example uses JSTL, uncomment the taglib directive above.
    To test, display the page like this: index.jsp?sayHello=true&name=Murphy
    --%>
    <%--
    <c:if test="${param.sayHello}">
        <!-- Let's welcome the user ${param.name} -->
        Hello ${param.name}!
    </c:if>
    --%>
   
    </body>
</html>
c)       Build dan run project
-          Klik kanan node project WebApp1 dan pilih Run
-          ubah URL menjadi http://localhost:8080/WebApp1/HaloJSP.java
-          Browser akan menampilkan

Ø  Melihab stuktur project dalam node file
-          Pilih jendela pada tab Files. Kita akan melihat pandangan files dari project WebApp1
-          Expand src dan expand java. Kita akan melihat semua file java
-          Expand web. Kita akan melihat semua file JSP(dari file HTML jikam  punya)
Ø  Melihat struktur WAR
File WAR adalah file zip yang berisi semua yang dibutuhkan untuk deploy aplikasi pada platform deployment Tomcat atau GlassFish. Struktur internal file WAR tersusun atas konten dari direktori web dibawah direktori build.
Memodifikasi web.xml agar HaloJSP.jsp menjadi file seperti JSP default.
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
    <servlet>
        <servlet-name>Servlet1</servlet-name>
        <servlet-class>package1.Servlet1</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>Servlet1</servlet-name>
        <url-pattern>/ Servlet1</url-pattern>
    </servlet-mapping>
    <session-config>
        <session-timeout>
            30
        </session-timeout>
    </session-config>
    <welcome-file-list>
       <welcome-file>
            HaloJSP.jsp
        </welcome-file>
    </welcome-file-list>
</web-app>

-          Klik kanan pada node project WebApp1 dan pilih run. Kita akan melihat di jendela browser tampilan dari HaloJSP.jsp

Ø  Mengakses Servlet
-          Memodifikasi web.xml agar HaloJSP.jsp menjadi
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
    <servlet>
        <servlet-name>Servlet1</servlet-name>
        <servlet-class>package1.Servlet1</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>Servlet1</servlet-name>
        <url-pattern>/Servletku</url-pattern>
    </servlet-mapping>
    <session-config>
        <session-timeout>
            30
        </session-timeout>
    </session-config>
    <welcome-file-list>
       <welcome-file>
            HaloJSP.jsp
        </welcome-file>
    </welcome-file-list>
</web-app>

-          Klik kanan pada node project WebApp1 dan pilih run. Kita akan melihat error di jendela browser
-          Dari browser, tulis URL menjadi: http://localhost:8080/WebApp1/Servlet1


A.   Kesimpulan
Kita dapat mempelajari struktur aplikasi web. Kita dapat  deploy aplikasi web. Servlet adalah sebuah class dalam bahasa  pemgrograman Java yang digunakan untuk meningkatkan kapabilitas dari server sebagai host dari aplikasi yang diakses melalui request-response programming model(Diadaptasi dari tutorial J2EE). Servlet adalah sebuah class java yang meng-implement interface Servlet dan menerima request yang berasal dari class Java, web client, atau servlet lain yang membangkitkan response.  "Servlet" juga dipanggil sebagai HTTP Servlet. Hal ini disebakan karena servlets biasanya digunakan dengan HTTP, akan tetap servlet bukanlah merupakan salah satu spesifikasi spesifik dari protokol client-server.  Untuk memulai pembuatan servlet. Anda diharapkan mengerti mengenai pemrograman, konsep client-server, dasar-dasar HTML dan HTTP (HyperTextTransferProtocol). Untuk menciptakan sebuah servlet, Anda perlu untuk meng-import standard extension class  dari javax.servlet dan javax.servlet.http ke program java Anda. Javax.servlet berisi framework dasar servlet dimana javax.servlet.http digunakan sebagai ekstensi dari framework servlet  bagi servlet yang akan menjawab HTTP request.
 Untuk membuat servlet, developer akan  membuat subclasses dari HttpServlet dan menempatkan implementasi fungsionalnya dalam method doGet atau doPost.
Untuk men-deploy servlet ke dalam container web, dapat di-load sebagai file WAR pre- package. Proses packaging dapat dilakukan  secara otomatis dengan IDE atau melalui penggunaan build tool.
File WAR adalah file zip yang berisi semua yang dibutuhkan untuk deploy aplikasi pada platform deployment Tomcat atau GlassFish. Struktur internal file WAR tersusun atas konten dari direktori web dibawah direktori build.