By : Desi Rima Melany-12141365
JAVA SERVLET
Pengertian Java Servlet
Java
Servlet merupakan satu teknologi web untuk Java. Servlet adalah teknologi web
pertama yang diterapkan pada pemrograman Java. Servlet merupakan bagian dari
pemrograman Java digunakan untuk memperluas kemampuan server. Java Servlet
dapat menanggapi setiap jenis permintaan, biasanya digunakan untuk
memperpanjang aplikasi host oleh server web. Aplikasi yang berjalan dengan
menggunakan Java Servlet dapat dianggap sebagai aplikasi Java yang berjalan di
server bukan di web browser sebagai Server Side Application. Java Servlet
adalah bagian dari Java Enterprice Edition (Java EE).
Servlet
adalah teknologi Java untuk aplikasi web berupa class yang digunakan untuk
menerima request dan memberi respon melalui protokol http (html, xml, file dan
sebagainya). Pada dasarnya Servlet merupakan file java class yang telah
dikompilasi dan dijalankan oleh servlet container atau application server.
Istilah application server digunakan apabila software server dapat menjalankan
servlet, JSP serta teknologi J2EE utama seperti EJB (Enterprise Java Bean).
Contoh Application Servlet adalah BEA Web Logic, IBM Websphere, Jboss, dsb.
Servlet container biasanya juga merupakan JSP container, seperti Apache Tomcat,
Macromedia Jrun, Resin.
Java
Servlet adalah komponen berbasis java yang digunakan untuk berkomunikasi dengan
web server dengan model pemrograman request-response. Servlet merupakan
komponen yang sangat fundamental dalam teknologi java enterprise. tujuan utama
spesifikasi servlet adalah menyediakan menyediakan mekanismeyang andal untuk
menangani request dan respons dalam aplikasi berbasis web. Dalam desain pattern
Model View Controller (MVC), servlet dapat digunakan sebagai komponen view
ataupun controller. Akan tetapi, biasanya servlet lebih sering digunakan
sebagai controller, sedangkan untuk view diserahkan kepada komponen lain
seperti JSP ataupun JSF. Untuk dapat menguji servlet, memerlukan servlet
container yaitu apache tomcat 6.
Fungsi Java Servlet
Servlet
itu berfungsi untuk memperluas fungsionalitas sebuah server (server web, server
aplikasi, server HTTP). Servlet adalah program Java yang diintegrasikan di
dalam Web-server untuk melakukan fungsi-fungsi server-side. Fungsi server-side
ini dijalankan untuk menanggapi permintaan dari client (berupa web-browser).
Server
yang dapat menjalankan servlet disebut servlet-container atau servlet-engine.
Dalam
Java Servlet API yang tersedia bisa memakai servlet generik, atau umumnya dalam
praktik menggunakan servlet yang berkomunikasi memakai protokol HTTP
(HttpServlet).
Setelah
menerima permintaan, servlet akan mengolah permintaan tersebut pada
server-side. Hasilnya (response) akan dikirim kepada client, yaitu content yang
biasanya berupa halaman web (umumnya mengikuti format stander HTML, XHTML, atau
XML), dengan demikian servlet mampu memperluas fungsi server yang outputnya
statis menjadi server yang outputnya dapat berupa content dinamis. Jadi content
akan dibuat on-the-fly (atau on_demand) berdasarkan permintaan dari client.
Kelebihan Java Servlet
- Efisien dan baik dalam Performance. Performance Servlet baik karena tidak ada proses pembuatan berulang untuk tiap request dari client. Jadi tiap request ditangani oleh proses servlet container di mana servlet tidak dibuat dan dihancurkan berulang-ulang tetapi tetap tersimpan pada memori untuk menangani request lain yang datang selanjutnya.
- Powerful. Servlet memiliki kemampuan yang lengkap, antara lain penanganan request ke request, penanganan cookie dan session, akses database dengan JDBC, caching serta library yang lengkap untuk pembuatan aplikasi web.
- Aman. Servlet memiliki fasilitas security yang baik dan merupakan bagian dari teknologi Java yang sudah dari asalnya didesain dengan security yang baik.
- Portabilitas. Teknologi Java Servlet portabel karena dapat dijalankan di berbagai servlet container, application server, maupun sistem operasi.
- Proses development yang lebih cepat. Dengan menggunakan Servlet kita dapat menggunakan library java yang lengkap maupun menggunakan komponen atau bean yang sudah ada.
- Robustness. Tangguh karena servlet merupakan teknologi java yang memiliki penanganan memori yang baik serta garbage collection sehingga aplikasi web menjadi aplikasi yang tangguh dan stabil.
- Telah digunakan dan diakui di dunia. Servlet merupakan teknologi Java yang telah diterima dan digunakan di berbagai belahan dunia. Maka kita dapat menemukan berbagai komponen, solusi, dukungan yang ditawarkan.
- Murah. Murah karena Java gratis untuk didownload, Servlet container juga banyak yang gratis.
Cara
Kerja Java Servlet
- Servlet diload ke JVM oleh Servlet container apabila terjadi request pertama kali oleh client.
- Proses penanganan request dijalankan sebagai thread dari web server atau servlet container. Setelah diload maka servlet tetap ada di memori untuk menangani request berikutnya.
- Tiap kali menangani request, servlet container membandingkan timestamp dari servlet dalam memori dengan file class java servlet. Apabila timestamp file java servlet ada yang lebih baru maka secara otomatis servlet container akan meload servlet yang baru dari class servlet.
Secara
umum, cara kerja servlet adalah menerima request kemudian mengirim response. Client(browser)
mengirimkan HTTP request pada servlet container. Kemudian servlet container
akan menghantarkna request ke server yang dimaksud. Servlet akan menjalankan
program java. Dan jika diperlukan bisa mengakses database atau lainnya untuk
menghasilakn output berupa HTML. Halaman HTML ini diserahkan ke servlet
container untuk dikirimkan kembali sebagai response kepada client. Sebagai
ilustrasi diberikan pada gambar sebagai berikut :
Gambar Cara Kerja Java Servlet
Siklus
hidup servlet dalam suatu servlet container dibagi menjadi tiga fase, yaitu :
- Initialization hanya bekerja sekali, sedangkan fase service dapat dijalankan beberapa kali. Initialization merupakan fase pertama yang dipekerjakan dan yang merupakan proses pembuatan instance dan mengambil semua sumber daya yang diperlukan oleh servlet tersebut. Semua kelas servlet harus mengimplementasikan interface javac.servlet.servlet yang didalamnya terdapat method init() yang akan dipanggil oleh container pertama kali ketika servlet dipanggil.
- Face service dalam siklus hidup sehat servlet mempresentasikan semua interaksi denga request sampai servlet tersebut dihapus pada fase destruction. Seperti juga method init() yang terdapat dalam interface servlet, method service() juga terdapat dalam interface servlet. Method service() akan dipanggil tiap kali ada request dan bertanggung jawab memberikan response dari request tersebut. Method service() bekerja dengan dua parameter, yaitu obyek javax.servlet.servletrequest dan javax.servlet.servletresponse.
- Fase terakhir dalam hidup Java Servlet yaitu destruction. Dalam fase ini, instance servlet akan dihapus dan sumber daya yang digunakan akan dibebaskan. Method yang didefinisikan oleh interface servlet untuk menangani proses penghapusan ini adalah destroy().
//
Hello.java
import
java.io.*;
import
javax.servlet.*;
public
class Hello extends GenericServlet {
public void service(final ServletRequest
request, final ServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
final PrintWriter pw =
response.getWriter();
try { pw.println("Hello, world!");
} finally { pw.close(); } } }
Paket
impor mengarahkan compiler Java untuk menyertakan semua kelas masyarakat dan
interface dari java.io dan paket javax.servlet di kompilasi.
Kelas
Hello memperluas kelas GenericServlet, kelas GenericServlet menyediakan
antarmuka untuk server untuk meneruskan permintaan ke servlet dan mengendalikan
siklus hidup servlet.
Kelas
Hello menimpa layanan (ServletRequest, ServletResponse) metode yang
didefinisikan oleh interface Servlet untuk memberikan kode untuk penangan
permintaan layanan. Layanan () metode dilewatkan: objek ServletRequest yang
berisi permintaan dari klien dan objek ServletResponse digunakan untuk membuat
respon kembali ke klien. Layanan () metode menyatakan bahwa ia melempar
pengecualian ServletException dan IOException jika masalah mencegah dari
menanggapi permintaan tersebut.
The
setContentType (String) metode dalam objek respon dipanggil untuk mengatur
jenis konten MIME dari data kembali ke "text / html". The getWriter
() metode dalam penanggulangan mengembalikan sebuah obyek PrintWriter yang
digunakan untuk menulis data yang dikirim ke klien. The println (String) metode
ini disebut untuk menulis "Halo, dunia!" string ke respon dan
kemudian tutup () metode ini disebut untuk menutup penulis cetak, yang
menyebabkan data yang telah ditulis ke aliran dikembalikan ke klien.
Tidak ada komentar:
Posting Komentar