Selasa, 29 Desember 2015

JAVA SERVER PAGES

Pengertian Java Server Pages
JSP adalah suatu teknologi web berbasis bahasa pemrograman Java dan berjalan di Platform Java, serta merupakan bagian teknologi J2EE (Java 2 Enterprise Edition). Teknologi JSP menyediakan cara yang lebih mudah dan cepat untuk membuat halaman-halaman web yang menampilkan isi secara dinamik. Teknologi JSP didesain untuk mempermudah dan mempercepat pembuatan aplikasi berbasis web yang bekerja dengan berbagai macam web server.

A.   Dasar Dasar Java Server Pages
1.      Directive
Directive adalah sekumpulan tag yang menentukan bagaimana dokumen yang berisi direktif ini akan diproses. Directive digunakan JSP untuk mengirimkan “pesan” ke JSP container. Directive berguna untuk melakukan setting nilai global seperti deklarasi class atau method. Setting yang dilakukan oleh directive berlaku pada seluruh halaman (hanya halaman itu saja). Secara umum sintaks directive adalah sebagai berikut :
<%@ nama_directive atribut1=”nilai1” atribut2=”nilai2” . .
%>
Directive pada JSP terdiri atas tiga dengan fungsi yang berbeda-beda :
Ø  Page : digunakan untuk mendefinisikan atribut-atribut yang terdapat pada halaman JSP. Atribut-atribut ini misalnya atribut language, import, info, errorpage dan lain-lain. Cara penulisannya dengan menggunakan tanda @ setelah tag JSP (<%) diikuti kata page dan atributnya. Contoh : <%@ page language=”java” %>
Ø  Include : digunakan untuk menyisipkan suatu berkas atau mengimpor suatu kelas. Cara penulisannya dengan menggunakan tanda @ setelah tag JSP (<%) diikuti kata include dan atributnya. Contoh : <%@ include file="/header.html" %>
Ø  Taglib : digunakan untuk mendefinisikan tag-tag yang dibuat sendiri oleh pemrogram. Cara penulisannya dengan menggunakan tanda @ setelah tag JSP (<%) diikuti kata taglib dan atributnya.
Contoh: <%@ taglib uri = "http://jakarta.apache.org/taglibs/application1.0"prefix="app" %>


2.      Elemen Scripting
Elemen scripting digunakan untuk menggabungkan instruksi-instruksi pemrograman Java ke dalam halaman web. Instruksi tersebut akan dieksekusi setiap kali halaman diproses sebagai permintaan. Ada tiga jenis scripting yaitu : deklarasi, scriplet dan ekspresi.
1.      Deklarasi
JSP menyediakan tag yang secara khusus ditujukan untuk melakukan pendeklarasian variable yang berlevel halaman. Variabel seperti ini akan dikenali di sepanjang halaman. Tag yang dimaksud dinamakan tag deklarasi. Tag ini berbentuk sebagai berikut :
<%!.....%>
Contoh 14.1. Penggunaan tag deklarasi.
<body>
<%!
String baju;
int harga = 60000;
%>
Setelah Deklarasi : <br>
<%
baju = "John Mc Roe";
out.println("Merek baju : " + baju + "<BR>");
out.println("Harga baju : " + harga + "<BR>");
%>
</body>

2.      Scriplet
Scriplet merupakan sekumpulan kode program Java uang dijalankan setiap kali halaman JSP dipanggil. Cara penulisannya adalah dengan memberikan tag <% kode %>.
Contoh 14.2. Penggunaan tag scriplet.
<body>
<%
out.print("Ini keluar dari tag scriplet");
out.print("Coba saja kalau tidak percaya”);
%>
</body>


3.      Ekspresi
Ekspresi adalah satu baris perintah yang digunakan untuk mengeksekusi perintah sekaligus menampilkan dalam halaman web. Eskpresi ini mirip seperti ketika kita memanggil fungsi/method pada Java. Cara penulisannya adalah dengan menggunakan tag <%= kode %>
Contoh 14.3. Penggunaan tag ekspresi.
<%! //Deklarasi variabel
int jmlUser=3;
//Deklarasi method
public String Hello(String nama) {
return "Hallo " + nama;
}
%>
<HTML>
<HEAD>
<TITLE>Contoh tag ekspresi JSP</TITLE>
</HEAD>
<BODY>
<H3>
<% for (int i=1; i<=jmlUser; i++) {
//Contoh scriplets
%>
<i><%=Hello("User "+ i + "!")%> </i> <br>
<%}%>
</H3>
</BODY>
</HTML>

3.      Komentar
Komentar digunakan untuk memberikan keterangan pada kode-kode JSP. Ada tiga jenis komentar yang dapat disisipkan dalam halaman JSP, yaitu komentar content, komentar JSP dan komentar bahasa script. Komentar content ditulis dengan tag <!-- komentar -->. Komentar model ini tidak menampilkan output ke browser. Tapi tertulis pada source HTML. Komentar JSP merupakan tipe komentar yang hanya tampak pada kode program JSP. Ketika kode JSP dikompilasi, komentar tersebut akan dilewati dan tidak ikut dikompilasi.
Komentar ini dituliskan dengan cara <%-- komentar -->.
Komentar bahasa script sama dengan yang digunakan pada Java (lihat kembali bab 8). Komentar ini disisipkan pada scriplet. Pada contoh 14.3 kita telah menggunakan salah satu cara komentar bahasa script. Perhatikan pada baris yang diawali dengan tanda //.
Cara yang lain adalah dengan tanda /* komentar */.

4.      Action
Action mendukung beberapa aksi yang berbeda-beda. Hampir mirip dengan scripting, action akan dieksekusi setiap kali ada permintaan. Fungsi penting dari action adalah memungkinkan terjadinya transfer kontrol antar halaman, mendukung penggunaan applet Java dan memungkinkan JSP terintegrasi dengan komponen JavaBeans.
JSP mengenal tag action standar dan custom tag. Tag standar adalah tag yang didefinisikan dalam spesifikasi JSP, sedangkan custom tag adalah tag baru yang dapat didefinisikan sendiri. Pada bagian ini hanya dibahas mengenai tag action standar. Tag action standar JSP adalah sebagai berikut :
<jsp:useBean>
<jsp:setProperty>
<jsp:getProperty>
<jsp:param>
<jsp:include>
<jsp:forward>
<jsp:plugin>

B.   Mekanisme Kerja Aplikasi Web Berbasis JSP
Secara umum aplikasi web berbasis JSP akan mengikuti mekanisme. Halaman-halaman web yang mengandung kode JSP akan dikirim ke web server. Kemudian web server akan memanggil perangkat lunak penerjemah JSP. Oleh penerjemah ini kode JSP akan dirubah menjadi file sumber berekstensi .Java. file ini akan dikompilasi untuk menghasilkan class. Hasil dari kompilasi ini akan dijalankan kemudian hasilnya akan disampaikan kepada web server untuk diteruskan pada browser client.
C.   Web Server Yang Digunakan
Apache Tomcat merupakan implementasi perangkat lunak open source teknologi Java Servlet dan JSP. Spesifikasi Java Servlet dan JSP dikembangkan di bawah Java Community Process .

D.   Cara Instalasi.
Ø  Double click di program installer apache tomcatnya -> Next
Ø  Click I Agree untuk memulai instalasi apache tomcat
Ø  Type of Instalnya : Custom dan pilih option-optionnya seperti gambar dibawah ini -> Next
Ø  Isi username dan Passwordnya
Ø  Pemilihan JDK, saya menggunakan JDK7
Ø  Menyimpan program apache tomcat -> Install
Ø  Mengcek apakah instalasi apache tomcat sukses atau tidak, lakukan perintah berikut :
localhost:8080

E.   Komponen Yang Diperlukan Untuk Menjalankan Program
-       MySQL server untuk mengolah database, pada program ini saya menggunakan  phpMyAdmin. Selain PHPMyAdmin bisa juga menggunakan Navicat ataupun Microsoft Access.
-       Apache Tomcat sebagai web server pendukung jalannya pemrograman JSP.
-       Notepad++ atau Adobe Dreamweaver digunakan untuk mengolah source code JSP.
-       Browser internet, terdapat berbagai macam browser internet yang dapat digunakan seperti Mozilla FireFox, Google Chrome, Opera, Safari, Flock dan masih banyak yang lainnya.

F.    Cara Menjalankan Program
  1. Instalah MySQL Servernya terlebih dahulu. Untuk hal ini saya menggunakan software XAMPP 1.6.3.
  2. Kemudian instal apache Tomcat.
  3. Buat Source Codenya di Notepad++ ataupun Adobe Dreamweaver. Simpan dengan format .jsp
  4. Simpan file-file .jsp pada folder baru yang dibuat di dalam lokasi folder Tomcat/Webapps/....
  5. Cara melihat hasil source code 
·         aktifkan apache dan MySql pada XAMPP Control Panel
·         aktifkan startup.bat yang ada pada folder Tomcat / bin
·         buka web browser ketik : localhost:8080/nama_folder/file.jsp
·         tampillah hasil coding yang kita buat tadi
A.   Keamanan Web
Web termasuk layanan internet yang paling rentan terhadap ancaman dan pelanggaran. Ada beberapa cara yang bisa dilakukan oleh pihak yang tidak bertanggung jawab terhadap suatu situs, antara lain: Pemanfaatan bug sistem. Para penyerang menggunakan bug (kesalahan) yang dikandung oleh sistem operasi, web server, bahasa pemrograman web, atau kode-kode lain yang terinstal di komputer server. Jika ini berhasil ditembus, maka penyerang dapat mengambil alih sistem secara keseluruhan. Pemanfaatan bug pada aplikasi client. Kadang-kadang kita tidak terlalu memperhatikan bug pada aplikasi client, misalnya adanya fitur berbahaya pada web browser yang dapat dijadikan batu loncatan oleh para penyerang. Pengaksesan tidak sah. Cara ini dilakukan dengan mendapatkan hak akses (user name dan password) secara tidak sah. Dengan menggunakan perangkat lunak tertentu, seperti password cracker, penyerang berusaha mengintip apa yang dilakukan pengguna saat login pada aplikasi web. Setelah memperoleh hak akses tersebut, mereka menggunakan untuk mengakses dan mengganggu system secara tidak sah.
Penyadapan transmisi informasi (eavesdropping). Informasi di internet seperti mobil yang berlalu lalang di jalan-jalan. Teknik ini termasuk tingkat tinggi. Dilakukan dengan cara mencegat dan menyadap informasi yang ditransmisikan antara web server dan web browser. Biasanya yang dituju adalah data-data rahasia seperti password, nomor account, nomor kartu kredit, dan rekaman transaksi online.
Penyerangan dengan Denial of Service (DOS). Bentuk penyerangan ini lebih mengarah pada lingkungan jaringan bukan pada system. Serangan ini ditujukan untuk melumpuhkan suatu system dengan cara membanjiri jaringan dengan trafik yang sangat tinggi dan terus menerus melebihi kapasitas yang didukung. Hal ini mengakibatkan system jaringan berhenti bekerja dan tidak dapat melayani permintaan pengguna.
Secara umum tidak ada perangkat lunak yang seratus persen menjamin bebas dari gangguan keamanan. Hal ini karena celah-celah keamanan selalu muncul di sana sini yang memungkinkan penyerangan. Namun ada beberapa langkah yang dapat digunakan untuk mengurangi resiko terserang gangguan, antara lain: Menjalankan server secara aman, misalnya dengan tidak memberikan kesempatan pada pengguna untuk mengakses melalu shell, membuat fasilitas perekam kesalahan (log) dari web server.
Menerapkan permissions atau hak akses pada direktori dan file secara ketat (buka Bab 4 untuk mempelajari lagi permissions). Permissions ini juga harus diterapkan pada file-file konfigurasi web server. Menuliskan program aplikasi web secara aman. Sering kali kesalahan yang tidak disengaja pada pembuatan aplikasi web menjadikan aplikasi menjadi tidak aman. Ada baiknya aplikasi diperiksa dan diuji berulangkali untuk memastikan celah keamanannya sangat minimal. Mencegah dan memproteksi informasi dengan cara melakukan enkripsi (penyandian) agar tidak dapat dibaca oleh penyadap. Mengontrol akses ke web server. Cara ini dilakukan untuk melindungi data-data internal yang tidak bisa diakses dari luar. Beberapa cara dapat dilakukan seperti membatasi akses berdasarkan alamat IP atau domain, membatasi pengguna berdasarkan kategori tertentu, dan lain-lain.
Contoh :