Modul servlet dasar
MODUL
2. SERVLET DASAR
Tujuan
·
Mempelajari
aplikasi web dengan Servlet
Teori
Singkat
Servlet adalah sebuah class dalam bahasa pemgrograman Java
yang digunakan untuk meningkatkan kapabilitas dari server sebagai host dari
aplikasi yang diakses melalui request-response programming model(Diadaptasi
dari tutorial J2EE). Servlet adalah sebuah class java yang meng-implement
interface Servlet dan menerima request yang berasal dari class Java, web
client, atau servlet lain yang membangkitkan response.
"Servlet" juga dipanggil sebagai HTTP Servlet. Hal ini disebakan
karena servlets biasanya digunakan dengan HTTP, akan tetap servlet bukanlah
merupakan salah satu spesifikasi spesifik dari protokol client-server.
Untuk memulai pembuatan servlet. Anda diharapkan mengerti
mengenai pemrograman, konsep client-server, dasar-dasar HTML dan HTTP
(HyperTextTransferProtocol). Untuk menciptakan sebuah servlet, Anda perlu untuk
meng-import standard extension class dari javax.servlet dan javax.servlet.http
ke program java Anda. Javax.servlet berisi framework dasar servlet dimana
javax.servlet.http digunakan sebagai ekstensi dari framework servlet bagi
servlet yang akan menjawab HTTP request.
Object dari
HttpServletRequest dan HttpServletResponse telah menyiapkan fungsi-fungsi yang berguna
bagi developer:
·
Object HttpServletRequest memberikan
akses bagi segala informasi terhadap client request, termasuk apa saja bentuk
parameter value yang dapat diletakkan pada Http request header, Http request
method yang telah mereka gunakan, dan sebagainya.
·
Object HttpServletResponse terdiri
dari semua method yang dibutuhkan oleh developer untuk memproduksi sebuah
response yang akan dikirimkan kembali kepada client. Meliputi method-method
yang harus di-set pada HTTP response header, untuk mendeklarasikan tipe MIME
dari response, sebaik method yang digunakan untuk mengambil instance dari class
Java I/O yang akan kita gunakan secara langsung untuk memproduksi output.
Untuk melayani request dari client,
Anda perlu meng-override method service(). Parameter yang dilewatkan ke dalam
method service() ini berupa obyek HttpServletRequest dan obyek HttpServletResponse.
Untuk lebih spesifik terhadap HTTP
method, Anda juga bisa meng-override method doGet() dan atau doPost(). Kedua
method ini mempunyai parameter yang sama dengan service().
Method doGet() akan dijalankan jika
client mengirimkan HTTP request dengan method GET. Contoh dari method GET,
adalah jika user meng-click sebuah link di halaman Web. Dalam kasus ini, Web
browser akan mengirimkan HTTP request dengan method GET ke server.
Method doPost() akan dijalankan jika
client mengirimkan HTTP response dengan method POST. Ini terjadi misalnya, saat
user mengisi HTML form dengan method POST, dan men-submit request tersebut ke
server.
Di dalam method service(), doGet(),
atau doPost() ini Anda bisa membaca parameter yang dikirimkan client, mengolah
data, dan menulis response ke client.
Salah satu skenario yang paling
sering ditemukan dan membutuhkan sebuah konten yang dinamik adalah apabila kita
ingin alikasi merespon kepada user yang dipresentasikan dalam bentuk form. Java
telah menyediakan method getParameter didalam objek HttpServletRequest. Method
ini akan mengambil sebuah parameter String dari sebuah form. Sedangkan untuk
mengambil semua nilai didalam form digunakan method getParamaterValues.
Praktik
Dengan menggunakan Netbeans IDE, kerjakan langkah berikut.
1.
Buat Project Baru, klik File à New Project, akan muncul
dialog New Project
2.
Pada pane
(bagian) Choose Project, pilih Java Web pada Categories and Web Application pada Projects.
Klik Next.
3.
Pada pane Name and Location, untuk isian Project Name, tulis ServletDasar sebagai nama project name. Klik Next.
4.
Menyelesaikan
penciptaan proect NetBeans.
o Pilih Server (bisa dipilih GlassFish atau Tomcat) .
o Pilih Java EE Version dengan Java EE 5.
o Klik Finish.
5.
Klik
kanan pada node Source Packages,
pilih menu New à Java Package. Pada isian Package Name ketik servlets.
Klik Finish.
6.
Klik
kanan pada node paket servlets yang
baru anda buat, pilih menu New à Servlet . Pada isian Class Name ketik HaloServlet.
Klik Next.
7.
Pada
isian URL Pattern(s), ketik /halo.
Klik Finish.
8.
Memodifikasi
kelas HaloServlet.java
·
Klik
ganda file HaloServlet.java pada
node ServletDasar ->Source
Packages->servlets.
·
Hilangkan komentar pada kelas HaloServlet.java pada fungsi processRequest (teks yang dicetak
tebal):
protected void processRequest(HttpServletRequest request,
HttpServletResponse response)
throws ServletException,
IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out =
response.getWriter();
try {
///* TODO output your page here
out.println("<html>");
out.println("<head>");
out.println("<title>Servlet HaloServlet</title>");
out.println("</head>");
out.println("<body>");
out.println("<h1>Servlet HaloServlet at " +
request.getContextPath () + "</h1>");
out.println("</body>");
out.println("</html>");
//*/
} finally {
out.close();
}
9.
Tambahkan
link berikut di file index.jsp:
<br/>
<a href="./halo">Halo</a>
10.
Modifikasilah
(pastikan) file web.xml menjadi
seperti berikut.
<?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>HaloServlet</servlet-name>
<servlet-class>servlets.HaloServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>HaloServlet</servlet-name>
<url-pattern>/halo</url-pattern>
</servlet-mapping>
</web-app>
11.
Jalankan
project dengan menu: Run à Run Project
12.
Klik
link Halo
13.
Menambahkan
form isian berupa file inputdata.html
·
Pada node
Web Pages klik kanan, pilih menu New à HTML.
·
Pada isian
HTML File Name, ketik inputdata.
Klik Finish.
makasih gan tutorialnya, bgus bnget :)
BalasHapus