English French German Spain Italian Dutch Russian Portuguese Japanese Korean Arabic Chinese Simplified

Pemrograman Servlet

.

Servlet merupakan class yang didefinisikan dalam java dan digunakan untuk meningkatkan kemampuan web server dalam menangani request dan response client. Servlet dapat menerima request dan menghasilkan response melalui protokol komunikasi yang berbeda, tetapi sebagian besar tipe yang digunakan adalah HTTP Servlet, yang diimplementasikan dengan class java javax.servlet.httpServlet.

Java memiliki dua paket yang menyediakan interface dan class untuk servlet, yaitu javax.servlet dan javax.servlet.http. Beberapa method yang terdapat pada interface servlet, antara lain adalah :

Method

Keterangan

void init (ServletConfig config)


Method ini dipanggil hanya sekali selama siklus servlet dan pemanggilan secara otomatis. Method ini digunakan untuk inisialisasi servlet.

ServletConfig getServletConfig()


Method ini mengembalikan reference ke objek yang mengimplementasikan interface ServletConfig. Objek ini memungkinkan servlet mengakses konfigurasi informasi servlet seperti inisialisasi parameter dan ServletContex, yang memungkinkan servlet memiliki akses ke lingkungannya, seperti pengaksesan ke server dimana servlet dijalankan.

void service (ServletRequest request, ServletResponse response)


Method ini merupakan method pertama yang dipanggil pada setiap servlet untuk merespons request client.

String getServletInfo()


Method ini didefinisikan programmer servlet untuk mengembalikan String yang berisi informasi servlet seperti author dan versi servlet.

Void destroy()


Method ini sering disebut clenUp. Method ini untuk mendealokasi resource yang digunakan servlet.

Paket servlet mendefinisikan dua buah class abstract yang mengimplementasikan interface Servlet, yaitu class GenericServlet pada paket javax.servlet dan class HttpServlet pada paket javax.servlet.http. Contoh-contoh yang diberikan pada bagian ini diturunkan dari class HttpServlet, yang mendefinisikan kemampuan pemrosesan servlet untuk mewarisi fungsionalitas web server. Method utama yang terdapat pada setiap servlet adalah methot service, yang memiliki parameter berupa objek ServletRequest dan ServletResponse. Kedua objek ini menyediakan akses untuk input stream maupun output stream dan mengijinkan servlet untuk membaca data dari client dan mengirimkan data kembali ke client. Jika terdapat masalah selama eksekusi servlet, maka class ServletException atau IOException di passing untuk memberitahukan masalah yang terjadi.

Class HttpServlet akan melakukan override method service untuk membedakan antara request yang diterima web browser client. Dua tipe request yang paling umum digunakan adalah GET dan POST, yang sering disebut sebagai request method. Request GET digunakan untuk mendapatkan atau menerima informasi dari server yang berupa file HTML atau image. Sedangkan request POST digunakan untuk mengirimkan data ke server dalam bentuk HTML yang berisi data yang dimasukan oleh client. Method yang sering digunakan untuk memberikan respon terhadap request client adalah doGet dan doPost yang memiliki dua parameter, yaitu HttpServletRequest dan HttpServletResponse. Beberapa method yang berasal dari ServletRequest adalah sebagai berikut :

Method

Keterangan

String getParameter(String name)


Dikirim ke servlet sebagai bagian request GET atau POST.

Enumeration getParameterNames()


Mengembalikan nama seluruh parameter yang dikirim ke servlet sebagai bagian dari request POST.

String[] getParameterValues(String name)


Mengembalikan array of string yang berisi nilai untuk parameter servlet

Cookie[] getCookies()


Mengembalikan array of cookie, merupakan objek client yang disimpan di server. Cookies dapat digunakan untuk mengidentifikasikan secara unik setiap client oleh server.

HttpSession getSession(Boolean create)


Mengembalikan objek HttpSession yang sedang berlasung pada client. Parameter akan bernilai jika tidak terdapat objek Httpsession di client. Secara fungsionalitas memilki kegunaan yang sama dengan Cookies.

Beberapa method yang berasal dari ServletResponse adalah sebagai berikut :

Method

Keterangan

void addCookie(Cookie cookie)


Digunakan untuk menambahkan cookie pada header sebagai respons ke client.

ServletOutputStream getOutputStream()


Mendapatkan output stream berbasis byte yang memungkinkan data teks dikirim ke client.

PrintWriter getWriter()


Mendapatkan output stream berbasis karakter yang memungkinkan data binary dikirim ke client.

Void setContentType(String type)


Menspesifikasikan type MIME respons ke browser.

1.1. Penanganan request HTTP GET

Tujuan utama adalah untuk menerima content dari suatu URL. Content biasanya dalam bentuk HTML. Dibawah ini diberikan contoh program servlet sederhana untuk menangani request HTTP Get untuk menerima content dari suatu URL.

Listing Program 1.1.

// Nama file : HTTPGetServlet.java

// Diskripsi : Membuat dan mengirimkan halaman web ke client

import javax.servlet.*;

import javax.servlet.http.*;

import java.io.*;

public class HTTPGetServlet extends HttpServlet {

public void doGet( HttpServletRequest request,

HttpServletResponse response )

throws ServletException, IOException

{

PrintWriter output;

response.setContentType( "text/html" ); //tipe content

output = response.getWriter(); // get writer

// membuat dan melakukan send halaman HTML ke client

StringBuffer buf = new StringBuffer();

buf.append( "\n" );<o:p></o:p></span></p> <p class="MsoNormal" style="text-align: justify;"><span style="font-size: 10pt; font-family: "><span style=""> </span>buf.append( "Contoh Servlet Sederhana\n" );<o:p></o:p></span></p> <p class="MsoNormal" style="text-align: justify;"><span style="font-size: 10pt; font-family: "><span style=""> </span>buf.append( "\n" );

buf.append( "

Program Servlet Sederhana!

\n" );

buf.append( "" );

output.println( buf.toString() );

output.close(); // close PrintWriter stream

}

}

Sedangkan file HTML yang mendemonstrasikan servlet untuk menangani Request HTTP GET adalah sebagai berikut :

Listing Program 1.2.

<o:p></o:p></span></p> <p class="MsoNormal" style="text-align: justify;"><span style="font-size: 10pt; font-family: "><span style=""> </span>Contoh Servlet : Request HTTP GET <o:p></o:p></span></p> <p class="MsoNormal" style="text-align: justify;"><span style="font-size: 10pt; font-family: "><span style=""> </span>

ACTION="http://localhost:8080/SERVER2/servlet/HTTPGetServlet"

METHOD="GET">

Tekan tombol Submit agar servlet mengirimkan

file HTML

Jika HTTPGetServlet.html dijalankan pada browser, maka akan terlihat tampilan pada browser seperti pada gambar 1.1. :

Dilakukan dengan memasukan alamat URL pada browser sebagai berikut :

http://localhost:8080/server2/HTTPGetServlet.html

Gambar 1.1. Tampilan HTTPGetServlet.html pada Browser

Jika button Submit ditekan, maka servlet akan mengembalikan HTML seperti yang terlihat pada browser sebagai berikut :

Gambar 1.2. Servlet yang Menangani Request HTTP Get

1.2. Menangani Request HTTP POST

Request HTTP Post sering digunakan untuk mengirimkan data dalam bentuk HTML menjadi server-side form handler yang digunakan untuk memproses data. Dibawah ini diberikan contoh program servlet sederhana untuk menangani request HTTP Post.

Contoh ini mendeskripsikan survey berbasis web untuk mengetahui minat kebutuhan terhadap suatu jenis bahasa pemrograman.

Listing Program 1.3.

// Nama file : HTTPPostServlet.java

// Diskripsi : Hasil survey menggunakan servlet request HTTP POST

import javax.servlet.*;

import javax.servlet.http.*;

import java.text.*;

import java.io.*;

import java.util.*;

public class HTTPPostServlet extends HttpServlet {

private String namaBahasa[] =

{ "Fortran", "Pascal", "C", "Java", "TidakAda" };

public void doPost( HttpServletRequest request,

HttpServletResponse response )

throws ServletException, IOException

{

int bahasa[] = null, total = 0;

File f = new File( "survey.txt" );

if ( f.exists() ) {

// menentukan responden hasil survey

try {

ObjectInputStream input = new ObjectInputStream(

new FileInputStream( f ) );

bahasa = (int []) input.readObject();

input.close(); // close stream

for ( int i = 0; i <>

total += bahasa[ i ];

}

catch( ClassNotFoundException cnfe ) {

cnfe.printStackTrace();

}

}

else

bahasa = new int[ 5 ];

// membaca responden hasil survey current

String value =

request.getParameter( "jBahasa" );

++total; // update total of all responses

// menentukan bahasa yang dipilih dan melakukan update total

for ( int i = 0; i <>

if ( value.equals( namaBahasa[ i ] ) )

++bahasa[ i ];

// menulis update total ke disk

ObjectOutputStream output = new ObjectOutputStream(

new FileOutputStream( f ) );

output.writeObject( bahasa );

output.flush();

output.close();

// menghitung persentase

double percentages[] = new double[ bahasa.length ];

for ( int i = 0; i <>

percentages[ i ] = 100.0 * bahasa[ i ] / total;

// mengirim message terima kasih ke clien

response.setContentType( "text/html" );//content type

PrintWriter responseOutput = response.getWriter();

StringBuffer buf = new StringBuffer();

buf.append( "\n" );

buf.append( "Terima Kasih!\n" );

buf.append( "Terima Kasih untuk partisipasinya.\n" );

buf.append( "
Hasil Survei :\n

" );

DecimalFormat twoDigits = new DecimalFormat("#0.00");

for ( int i = 0; i <>

buf.append( "
" );

buf.append( namaBahasa[ i ] );

buf.append( ": " );

buf.append(twoDigits.format(percentages[ i ]) );

buf.append( "% responden: " );

buf.append( bahasa[ i ] );

buf.append( "\n" );

}

buf.append( "\n

Total responden: " );

buf.append( total );

buf.append( "\n" );

responseOutput.println( buf.toString() );

responseOutput.close();

}

}

Sedangkan file HTML yang mendemonstrasikan servlet untuk menangani Request HTTP POST adalah sebagai berikut :

Listing Program 1.4.

Contoh Servlet : Request HTTP POST

"http://localhost:8080/SERVER2/servlet/HTTPPostServlet">

Bahasa Pemrograman yang paling banyak dibutuhkan

Fortran

Pascal

C

Java

TidakAda



Jika HTTPPostServlet.html dijalankan pada browser, maka akan terlihat tampilan pada browser seperti pada gambar 1.3.:

Dilakukan dengan memasukan alamat URL pada browser sebagai berikut :

http://localhost:8080/server2/HTTPPostServlet.html

Gambar 1.3. Tampilan HTTPPostServlet.html pada Browser

Jika tombol submit ditekan, maka servlet akan mengembalikan dokumen HTML sebagai berikut :

Gambar 1.4. Servlet yang Menangani Request HTTP Post


Aris Puji Widodo

Copyright © 2003 - 2006 IlmuKomputer.Com

Seluruh dokumen di IlmuKomputer.Com

lintasberita

Share |

4 comments:

hauspengetahuan Balas Komentar mengatakan...

Ijin COpy Paste Bang! Thx, sangat membantu. :D

Anonim Balas Komentar mengatakan...

Click for subscribe : https://www.youtube.com/subscription_center?add_user=dota2ind

Muklis Mulyana Balas Komentar mengatakan...

Mantap gan pnjelasan nya keren..kembangkan lg gan biar saya jdi mahir java..

Ambar Sultoni Balas Komentar mengatakan...

Mau tanya donk..codingan untuk mengurangi dan menambah stok bagimana saya menggunakan java jsp dan database barang.tabel pembelian.tabel penjualan dan tabel stok..mohon jawabnya ambar071777@gamil.com

Poskan Komentar

Jangan Lupa Tinggalkan Komentar anda Untuk Perbaikan Blog Ini!


Bila Anda Bingung Gunakan Tombol TAB

Silakan Pasang Link Anda Di Bawah Ini Dan Jangan Lupa Pasang Balik Link saya.
Thanks,
Recent Comment And Contact Us
foxyform.com
 
Selamat datang di Rendy'site | Terimah kasih atas kunjungannya. Tanbahkan komentar dan saran anda untuk perubahan yang lebih baik pada blog ini !