Servlet adalah program kecil yang ditulis dengan bahasa Java
yang dibuat untuk berjalan diatas web server. Kata Servlet memiliki kemiripan
dengan Applet. Perbedaannya adalah applet berjalan disisi klien (client-side)
sedangakan Servlet berjalan di sisi server (server-side).
Teknologi Java memperkenalkkan Servlet sebagai alternatif
lain dari program CGI (Common Gateway Interface). CGI merupakan program yang
dikembangkan untuk membuat halaman web menjadi lebih dinamis. CGI memungkinkan
adanya interaksi antara user dengan web server, misalkan user input data
pribadi melalui form HTML, kemudian data di proses di web server. Program CGI
banyak ditulis dalam bahasa Perl atau C++.
Proses Akses Servlet
Program
servlet berjalan di dalam web server, dan berperilaku sebagai lapisan
penghubung antara request yang dikirim browser lewat protokol HTTP dengan
Database, atau lapisan tengah antara browser dengan aplikasi pada web server.
Alur Proses
Yang Terjadi Ketika Klien Akses Servlet Pada Web Server
1.
Membaca data secara ekplist data
yang dikirim oleh klien lewat browser. User input data pada form HTML pada
halaman web, data juga bisa berasal dari sebuah applet atau lewat program klien
HTTP.
2.
Membaca data secara implisit data
HTTP request yang dikirim melalui browser. Dalam proses ini akan dibaca dua
jenis data, pertama data yang diinput klien dan data yang dikirim oleh browser
(seperti : cookies, media type) , proses ini berada di server dimana Servlet
dieksekusi,
3.
Generate hasil permintaan (request).
Proses ini mungkin memerlukan komunikasi dengan database, eksekusi sebuah RMI
atau memanggil web service, invoke sebuah aplikasi, atau menjawab (response)
secara langsung permintaan (request). Disini database tidak langsung "berbicara"
dengan HTTP atau tidak langsung mengembalikan database dalam bentuk HTML, hal
ini berlaku untuk semua aplikasi. Disini dibutuhkan suatu lapisan untuk
meng-ekstrak data kedalam bentuk steram HTTP.
4.
Kirim data (dokumen) secara explicit
ke client. Dokumen yang dikirim dapat dalam berbagai format, text (HTML),
binary (image file), atau bahkan file hasil kompres (gzip file)
5.
Kirim data response HTTP secar
implisit. Servlet atau JSP akan mengirim data ke client, ada dua jenis data
yang dikirim, data yang berisi informasi yang diinginkan / diproses dan
informasi HTTP ( cookies, catch
parameter dan sebagainya).
Apa Itu Request Dan Apa Response ?
Request ialah Informasi yang dikirim dari client (browser) ke server.
Response ialah Informasi yang dikirim ke client dari server :
- Text (html, palin) atau gambar.
- Http header, cookies, session, etc.
Request ialah Informasi yang dikirim dari client (browser) ke server.
Response ialah Informasi yang dikirim ke client dari server :
- Text (html, palin) atau gambar.
- Http header, cookies, session, etc.
Request dari
client atau dari browser diterima oleh method service didalam HttpServlet. HttpServlet
akan mengecek apakah yang di terima adalah get atau post. Apabila get, maka
yang dieksekusi adalah doGet, kalau post maka yang dieksekusi adalah doPost.
Dengan demikian, maka program kita nantinya atau kode program kita nantinya
hanya ada di doGet atau di doPost.
Method Method HttpServletRequest
Method
|
Deskripsi
|
String getParameter(String name)
|
Mengembalikan nilai yang
berkesesuaian dengan parameter yang dikirim ke servlet sebagai bagian dari
proses request GET atau POST
|
Enumeration getParamterNames( )
|
Mengembalikan nama seluruh
parameter yang dikirim ke servlet sebagai bagian dari request POST
|
String[] getParameterValues( )
|
Mengembalikan array of String yang
berisi untuk nilai paramater tertentu yang dikirim ke Servlet
|
Cookie[] getCookies()
|
Mengembalikan array of Cookie yang
merupakan object yang disimpan di client oleh server. Cookie dapat digunakan
untuk mengidentifikasi secara unik setiap client oleh servlet
|
HttpSession getSession(boolean
create)
|
Mengembalikan object HttpSession
yang berkesesuaian dengan browsing session yang sedang berlangsung pada client.
Object session ini digunakan untuk mengidentifikasi klien yang mengakses
servlet secara unik.
|
Method Method HttpServletResponse
Method
|
Deskripsi
|
void addCookie (Cookie cookie)
|
Digunakan untuk menambahkan cookie
pada header sebagai respons ke klien.
|
ServletOutputStream
getOutputStream()
|
Mendapatkan output stream berbasis
byte yang memungkinkan binary data di kirim ke klien
|
PrintWriter getWriter( )
|
Mendapatkan output stream berbasis
karakter yang memungkinkan data teks dikirim ke klien
|
void setContentType( String type)
|
Menspesifikasi tipe MIME pada
respons ke browser. Tipe MIME membantu browser menentukan cara menampilkan
data. Misalnya tipe MIME "text/html" mengindikasikan respons berupa
dokumen HTML sehingga browser menampilkan halaman HTML
|
void addCookie (Cookie cookie)
|
Digunakan untuk menambahkan cookie
pada header sebagai respons ke klien.
|
Yang Dikerjakan Oleh Servlet
1.
Menerima request dari client (paling
umum adalah HTTPrequest).
2.
Mengambil informasi- informasi dari
request tersebut.
3.
Menciptakan konten untuk dikirimkan
ke client atau melakukan bisnis logic seperti mengakses database atau memanggail
EJB's.
4. Menciptakan dan mengirimkan response
ke client atau meng-forward request yang diterimanya ke servlet lainnya atau ke
halaman JSP.
Yang
Dibutuhkan Servlet
Beberapa aplikasi yaitu :
1.
Web server yang mendukung servlet
(Servlet Container), seperti Jetty atau
Apache Tomcat JDK, yaitu library yang
dibutuhkan untuk kompilasi kode Java
2. Tools lain untuk mempermudah
kompilasi dan membangun aplikasi, misalnya Apache Maven
atau juga Apache Ant
Untuk kemudahan bagi pemula, kita akan bicarakan satu saja
untuk tiap kategori. Kita pilh saja Apache Tomcat untuk Web Servernya dan
Apache Ant untuk kompliasinya.
Kelebihan Servlet
1.
Efisien dan baik dalam performance.
Performance servlet dapat dikatakan efisien dan baik karena
tidak ada proses pembuatan berulang untuk tiap request dari client. Setiap
request ditangani oleh proses servlet container. Servlet tidak dibuat dan
dihancurkan secara berulang-ulang, melainkan tetap tersimpan pada memori untuk
menangani request yang datang selanjutnya.
2.
Powerful
Servlet memiliki kemampuan yang lengkap antara lain mampu melakukan penanganan request, session, cookie, akses ke database dengan JDBC dan caching, serta library yang lengkap untuk pembuatan aplikasi web.
Servlet memiliki kemampuan yang lengkap antara lain mampu melakukan penanganan request, session, cookie, akses ke database dengan JDBC dan caching, serta library yang lengkap untuk pembuatan aplikasi web.
3.
Aman
Servlet memiliki fasilitas security yang baik dan merupakan bagian dari teknologi Java yang sudah dari asalnya didesain dengan security yang baik.
Servlet memiliki fasilitas security yang baik dan merupakan bagian dari teknologi Java yang sudah dari asalnya didesain dengan security yang baik.
4.
Portabilitas
Teknologi Java servket dapat dijalankan di berbagai servlet container, application server, maupun sistem operasi.
Teknologi Java servket dapat dijalankan di berbagai servlet container, application server, maupun sistem operasi.
5.
Proses development yang lebih cepat
Dengan menggunakan servlet, kita dapat menggunakan library
java yang lengkap dan menggunakan komponen atau bean yang sudah ada.
6.
Tangguh
Servlet merupakan teknologi java yang memiliki penanganan memory yang baik dan garbage collection sehingga menjadi aplikasi web yang tangguh dan stabil.
Servlet merupakan teknologi java yang memiliki penanganan memory yang baik dan garbage collection sehingga menjadi aplikasi web yang tangguh dan stabil.
7.
Telah digunakan dan diakui di dunia
Servlet merupakan teknologi java yang telah digunakan di
berbagai belahan dunia. Kita dapat menemukan berbagai komponen, solusi dan
dukungan yang ditawarkan baik yang gratis (open source) maupun komersial.
8.
Murah
Dikatakan murah karena JDK Java dapat didownload secara
gratis. Servlet dan JSP container juga banyak yang gratis, misalnya Apache
Tomcat.
Kelemahan Servlet
Teks-teks
HTML yang berisi tampilan halaman harus dibuat dengan menggunakan bahasa
pemrograman Java. Hal ini menyulitkan jika kita ingin mengubah tampilan bagian
HTML-nya, karena berarti kita harus membuka kembali kode program java di
servlet.
Sangat membantu belajar
BalasHapus