-->

Dasar-dasar jsp

Written By Anisa film on Senin, 15 April 2013 | 4/15/2013 07:14:00 PM


DINAMIS BERBASIS JSP
1. Dasar Web Dinamis
2. Sekilas Tentang JSP
3. Dasar-dasar JSP

Jsp menyediakan empat kategori tag, yaitu: directive, elemen scripting, komentar, dan action. Pada bagian ini kita tidak akan bicara tentang deklarasi variabel, struktur kontrol program, class dan method. Hal ini karena jsp didasarkan pada java, sehingga bagian-bagian tersebut sama dengan apa yang telah kita pahami pada label tentang pemrograman java.

Directive:
Directive adalah sekumpulan tag yang menentukan tentang 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 atau hanya halaman itu saja.
Secara umum, sintaks directive adalah sebagai berikut:

<%@ nama_directive atribut1="nilai1" atribut2="nilai2" . . . %>

Directive pada JSP terdiri atas tiga jenis, dan tentu saja 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 (<%), kemudian 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 (<%), kemudian 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 (<%), kemudian diikuti kata taglib dan atributnya.

Contoh: <%@ taglib uri="https://jakarta.apache.org/taglibs/application-1.0" prefix="app" %>

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.

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 penggunaan tag deklarasi:
Ketikkan kode berikut, dan simpan dengan nama contoh14-1.jsp.

<html>
<head>
<title>Tag Deklarasi</title>
</head>
<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>
</html>

Jalankan program tersebut maka tampilan hasil akan tampak seperti pada gambar 14.18. Pada contoh kode ini, tag deklarasi digunakan untuk mendeklarasikan dua variabel yaitu: baju dengan tipe data string dan harga dengan tipe data int. Perhatikan juga cara mengisi, memanggil dan menampilkan kembali isi dari variabel dengan pernyataan out.println.


Scriplet:
Scriplet merupakan sekumpulan kode program java yang dijalankan setiap kali halaman jsp dipanggil. Pada bagian ini kita bisa memasukkan kode-kode program java yang telah kita pahami. Cara penulisannya adalah dengan memberikan tag <% kode %>.

Contoh penggunaan tag scriplet.
<html>
<head>
<title>Contoh Println</title>
</head>
<body>
<%
out.print("Ini keluar dari tag scriplet");
out.print("Coba saja kalau tidak percaya");
%>
</body>
</html>

Simpan file dengan nama yang diakhiri .jsp. Jalankan kode progam tersebut dan periksalah hasilnya.

Ekspresi:
Ekspresi adalah satu baris perintah yang digunakan untuk mengeksekusi perintah dan sekaligus menampilkan dalam halaman web. Eskpresi ini mirip seperti ketika kita memanggil fungsi/method pada java. Cara penulisannya adalah dengan menggunakan tag <%= kode %>

Contoh penggunaan tag ekspresi:
Ketikkan kode di bawah ini, kemudian simpan sebagai file jsp.

<%! //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>

Jalankan kode program di atas. Tampilan output akan tampak seperti pada Gambar 14.19.


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. Komentar ini disisipkan pada scriplet. Kita telah menggunakan salah satu cara komentar bahasa script. Perhatikan pada baris yang diawali dengan tanda: //.
Cara yang lain adalah dengan tanda: /* komentar */.

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 halaman ini, hanya diulas mengenai tag action standar. Adapun tag action standar jsp adalah sebagai berikut:
  • <jsp:useBean>
  • <jsp:setProperty>
  • <jsp:getProperty>
  • <jsp:param>
  • <jsp:include>
  • <jsp:forward>
  • <jsp:plugin>
Kita akan berlatih memahami dalam penggunaan action standard forward dan param. Forward action, digunakan untuk mentransfer kontrol dari sebuah halaman jsp ke halaman lain pada server lokal. Saat proses berlangsung, baris-baris kode sesudah forward action pada jsp asal, tidak akan diproses lagi oleh jsp container. Proses berpindah pada halaman tujuan, cara penulisannya adalah dengan menggunakan tag:

<jsp:forward page="localurl" />.

Forward action biasanya digunakan bersama-sama dengan Param action. Atau perhatikan contoh berikut:

Contoh penggunaan forward action untuk operasi login.
Buat tiga file masing-masing bernama: login.html, testlogin.jsp, dan validlogin.jsp.
Isi dari masing-masing file adalah sebagai berikut.

File login.html
<html>
<head>
<title>Login </title>
</head>
<body>
<form action="testlogin.jsp" method="post">
Silakan masukkan nama dan password anda : <br>
Nama :<input type="text" name="nama"> <br>
Password :<input type="text" name="pass"> <br>
<input type="submit" value="login">
</form>
</body>
</html>

File testlogin.jsp
<html>
<head>
<title>Test Login </title>
</head>
<body>
<%
String nama = request.getParameter("nama");
String pass = request.getParameter("pass");
if ((nama.equals("aunurrm")) &&
(pass.equals("arm"))) {
%>
<jsp:forward page='validlogin.jsp' >
<jsp:param name='id' value='<%= nama %>' />
</jsp:forward>
<% }
else {
%>
<jsp:forward page='login.html' />
<% }
%>
</body>
</html>

File validlogin.jsp
<html>
<head>
<title>Login ok</title>
</head>
<body>
<h3>
Selamat <%=request.getParameter("id") %> <br>
Anda berhasil login<br>
</h3>
</body>
</html>

Jalankan halaman login.html, maka kita akan mendapatkan tampilan seperti pada gambar 14.20. Isikan sembarang nama dan password kemudian tekan tombol login. Kita tidak akan mendapatkan hasil apa-apa. Nama dan password anda akan hilang. Demikian walau berulang-ulang. Sekarang masukkan pada nama 'aunurrm' dan passwordnya 'arm' (tanpa tanda petik). Tekan tombol login, maka kita akan mendapatkan hasil seperti pada gambar 14.21.



Pada contoh di atas, file login.html merupakan file untuk menerima input nama dan password. Pada file ini kita menggunakan fitur form pada html. Formulir dibentuk dengan menggunakan pasangan tag <form> dan </form>. Dua atribut utama dari form yang sering digunakan adalah 'action dan method'. Action menentukan alamat yang akan dijalankan, dan menerima semua masukan pada form. Jika action tidak disebutkan, informasi akan dikirim ke alamat yang sama dengan halaman form itu sendiri.

Method digunakan untuk menentukan bagaimana informasi dikirim ke alamat yang disebutkan dalam action. Nilai yang umum digunakan adalah 'get dan post'. Post membuat informasi akan dikirim secara terpisah dengan alamat, sedangkan get akan membuat informasi dikirim menjadi satu dengan alamat yang dituju.

Contoh di atas menggunakan action="testlogin.jsp" dan metode penyampaiannya adalah post. Artinya, data pada form akan dikirim ke file dengan nama testlogin.jsp yang berada di satu direktori dengan file login.html.
File kedua yang testlogin.jsp adalah file yang digunakan untuk menangkap input kemudian memeriksa apakah input tersebut valid atau tidak. Perintah request.getParameter digunakan untuk menerima input sesuai dengan variabel input yang ditetapkan. Sebagai contoh, request.getParameter('nama') berarti akan menangkap isi dari variabel nama dari file login.html. Isi dari nama dan pass ini kemudian di masukkan pada variabel string dengan nama yang sama. Kemudian, dicocokkan apakah nama = 'aunurrm' dan pass='arm'?. Jika benar maka action forward dilakukan yaitu membawa isi yang didefinisikan di action param, yaitu variabel 'id' ke file loginvalid.jsp. Jika tidak, maka action forward juga dilakukan tetapi kembali ke file login.html.
File ketiga hanya dipanggil jika syarat nama dan pass dipenuhi. File ini juga menggunakan request.getParameter untuk menangkap variabel 'id'.

Keamanan dalam web dinamis:
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. 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.

0 komentar :

Posting Komentar

Terima kasih, atas saran atau usulan anda.

Translate

Menu Blog Ini

Buka Semua | Tutup Semua

 
SUPPORT: anisa indra - dmca
Copyright © 2011-2018. Citra teknologi - All Rights Reserved
Template Created by: Creating Website
Published by: Mas Template - Proudly powered by: Blogger