Sabtu, 21 Agustus 2010

Java Servlet, Salam Keadilan !!

Mulai lagi posting di blog ini, mau posting yang ringan-ringan dulu,... yap inget pas kuliah dulu (padahal baru lulus ^^) pernah buat program kirim salam "Salam Keadilan" hehe.. waktu itu belajar tentang apa yang dinamakan servlet, yah sebuah konsep dasar yang perlu diketahui.

What is Servlet ? Servlet adalah teknologi Java untuk aplikasi web. Teknologi Servlet merupakan salah satu teknologi penting dari J2EE karena menjadi dasar dari teknologi JSP(Java Server Pages).

Siklus Internal Servlet
Sebelumnya kita harus memahami siklus internal Servlet. Interface yang menjadi dasar untuk program Servlet secara dasar adalah javax.servlet.Servlet. Ada 3 proses internal dalam Servlet, yakni :
1. init
* Method ini dipanggil setelah servlet container menginisialisasi class servlet. Pemanggilan method ini hanya dilakukan sekali. Method ini penting karena servlet container mem pass objek ServletConfig dari file konfigurasi web.xml. Jika method init ini menhasilkan ServletException, maka servlet container tidak dapat menempatkan servlet ke service.
2. service
* Method service dipanggil oleh servlet container setelah method init untuk mengizinkan servlet merespon request. Pada method ini, servlet container secara internal mengirimkan objek ServletRequest dan ServletResponse yang merupakan objek mewakili request klien dan respon terhadap klien. Dua objek ini penting karena memberikan fasilitas untuk menuliskan kode yang menentukan bagaimana sevlet menangani request.
3. destroy
* Method ini dipanggil oleh servlet container sebelum menghilangkan instance servlet dari service. Hal ini terjadi biasanya pada saat servlet container (misal : Tomcat) di-shutdown.

Ketiga proses ini merupakan method yang didefinisikan oleh javax.servlet.Servlet. Jadi tiap program servlet mengimplementasikan ketiga method ini.

Berikut ini adalah pemrograman dasar servlet yang mengimplementasikan interface dari javax.servlet.Servlet untuk mempelajari siklus internal dari Servlet serta menampilkan "Salam Keadilan" pada web browser. Akan lebih mudah jika menggunakan Netbeans IDE untuk menulis kode programnya.

package com.blogspot.littlebro;

import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.Servlet;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;

public class ServletDasar implements Servlet {
public void init(ServletConfig config) throws ServletException {
System.out.println("method init dipanggil");
}
public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException {
System.out.println("method service dipanggil");
res.setContentType("text/html");
PrintWriter out = res.getWriter();

out.println("<html>");
out.println("<head>");
out.println("<title>Servlet Dasar</title>");
out.println("</head>");
out.println("<body>");
out.println("<h1>Salam Keadilan</h1>");
out.println("</body>");
out.println("</html>");
}
public void destroy() {
System.out.println("method destroy dipanggil");
}
public ServletConfig getServletConfig() {
return null;
}
public String getServletInfo() {
return null;
}
}

Konfigurasi web.xml :
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<servlet>
<servlet-name>ServletDasar</servlet-name>
<servlet-class>net.bentpinter.ServletDasar</servlet-class>
</servlet>

<servlet-mapping>
<servlet-name>ServletDasar</servlet-name>
<url-pattern>/ServletDasar</url-pattern>
</servlet-mapping>

<session-config>
<session-timeout>
30
</session-timeout>
</session-config>
<welcome-file-list>
<welcome-file>ServletDasar</welcome-file>
</welcome-file-list>
</web-app>

Run file ServletDasar.java maka pada web browser akan tampil seperti pada gambar berikut.


Apabila kita perhatikan pada konsol Tomcat terdapat tulisan "method init dipanggil" dan "method service dipanggil"



Hal ini menunjukkan bahwa method init dipanggil pertama kali kemudian method service. lakukan refresh berulang pada browser sehingga konsol tomcat akan menampilkan teks "method service dipanggil" berulang-ulang sejumlah kita melakukan refresh pada browser.


Kemudian lakukan shutdown pada Tomcat untuk menunjukkan method destroy, sehingga konsol tomcat akan menampilkan pesan "method destroy dipanggil".


Hal ini menunjukkan method destroy aka dipanggil setiap kali Tomcat melakukan restart, shutdown, atau reload servlet.

Tidak ada komentar:

Posting Komentar