Membuat JSP dan Servlet Sederhana

advertisement
www.tobuku.com
Membuat JSP dan Servlet Sederhana
Juli 2009
Oleh : Feri Djuandi
Tingkat:
√
Pemula
Menengah
Mahir
Untuk memulai latihan ini, pastikan pada komputer Anda terinstall Eclipse dan Apache Tomcat. Program
Tomcat yang digunakan pada penjelasan ini adalah versi 6.0, namun Anda dapat juga menggunakan
versi yang lain.
• JSP adalah adalah halaman web dinamis berdasarkan kode-kode HTML yang disisipkan dengan
kode-kode program Java.
• Servlet adalah adalah program Java yang berjalan di sisi server. Ada korelasi yang erat antara JSP
dan servlet dimana JSP lebih berperan pada lapisan presentation, sementara servlet berperan
pada lapisan logic atau middle.
• Apache Tomcat disebut juga sebagai servlet container, yaitu sebuah aplikasi server yang
berfungsi untuk menjalankan servlet saat terjadi request dari sisi client.
1. Menyiapkan Projek Web
Jalankan Eclipse
Buat sebuah projek Java baru dengan menu File New Project. Dari wizard yang tersedia, pilihlah
Web
Dynamic Web Project.
Klik Next untuk melanjutkan.
JVA-FD-09002 – MEMBUAT JSP DAN SERVLET SEDERHANA
1
www.tobuku.com
Pada tampilan berikutnya, beri nama projek yang baru ini sebagai web-exercise01.
Selanjutnya Anda diminta untuk memilih Target runtime. Target runtime pada dasarnya adalah server
yang digunakan untuk menjalankan projek ini. Pada tutorial ini kita akan menggunakan Apache Tomcat.
Silakan klik listbox tersebut untuk melihat apakah pilihan itu tersedia. Jika ini adalah pertama kalinya
Anda membuat sebuah projek web, kemungkinan daftar tersebut kosong sehingga Anda harus membuat
sebuah server untuk projek ini dengan menekan tombol New.
JVA-FD-09002 – MEMBUAT JSP DAN SERVLET SEDERHANA
2
www.tobuku.com
Pilihlah Apache Tomcat dengan versi yang sesuai pada instalasi computer Anda. Klik Next untuk
melanjutkan.
Masukkan lokasi instalasi Tomcat pada kolom “Tomcat installation directory” dan klik Finish untuk
menambahkan konfigurasi server tersebut dan menutup window.
JVA-FD-09002 – MEMBUAT JSP DAN SERVLET SEDERHANA
3
www.tobuku.com
Saat kita kembali pada window sebelumnya, tampilannya akan sedikit berubah dimana kolom Target
runtime sudah terisi dengan sebuah nilai.
Klik Finish untuk mengakhiri pembuatan projek web tersebut.
JVA-FD-09002 – MEMBUAT JSP DAN SERVLET SEDERHANA
4
www.tobuku.com
Saat projek web ini sudah terbentuk, pada view Project Explorer akan tampak struktur seperti di bawah
ini.
Untuk mensimulasikan cara kerja JSP dan servlet, kita akan membuat sebuah aplikasi web sederhana
yang terdiri dari dua komponen:
index.jsp
GreetingServlet
Halaman index.jsp akan ditampilkan terlebih dahulu yang meminta user memasukkan nama depan dan
nama belakangnya. Saat halaman ini dikirim, ia akan diproses oleh Java Servlet dan selanjutnya servlet
akan mengembalikan outputnya kembali kepada user.
JVA-FD-09002 – MEMBUAT JSP DAN SERVLET SEDERHANA
5
www.tobuku.com
2. Membuat halaman index.jsp
Sekarang saatnya membuat file index.jsp. Klik kanan pada projek web-exercise01 dan pilih New Other .
Pilih Web JSP. Klik Next untuk melanjutkan.
JVA-FD-09002 – MEMBUAT JSP DAN SERVLET SEDERHANA
6
www.tobuku.com
Beri nama file JSP tersebut sebagai index.jsp dan pastikan folder penempatannya adalah WebContent.
Klik Finish untuk mengakhiri.
Saat file index.jsp terbentuk, editor akan menambahkan beberapa kode HTML standar sebagai kerangka
dari halaman web tersebut seperti bagian head, title dan body. Silakan ketikkan kalimat “Helo World!”
pada bagian body seperti tampak pada gambar di bawah ini. Simpan file ini.
Sebelum file index.jsp ini dicoba untuk dijalankan, ada hal penting yang harus Anda lakukan. Perhatikan
pada bagian layar di bawah editor tampak beberapa view seperti Marker, Properties, Server dan
seterusnya. Klik view Server, maka terihat sebuah Tomcat server yang mungkin berada dalam keadaan
JVA-FD-09002 – MEMBUAT JSP DAN SERVLET SEDERHANA
7
www.tobuku.com
stop. Tampilan seperti ini akan tampak jika Anda melakukan instalasi Tomcat dan mengikuti langkahlangkah awal tutorial ini dengan benar.
Silakan klik tombol bergambar panah warna hijau untuk menyalakan Tomcat hingga tulisan [Stopped]
berubah menjadi [Started].
Setelah service Tomcat berhasil dinyalakan, maka halaman index.jsp bisa dijalankan. Klik tombol
bergambar panah hijau pada toolbar, kemudian ikuti langkah-langkah berikutnya hingga tulisan “Hellow
World!” muncul dengan sukses.
Selamat! Anda sudah berhasil membuat file JSP yang pertama. Walaupun ini bukanlah output yang
hendak kita buat, namun kita sudah menyelesaikan bagian awal yang penting untuk menguji apakah
Tomcat dan komponen-komponen lainnya sudah terinstal dengan baik. Sekarang kita akan memodifikasi
file index.jsp ini dengan kode-kode program yang sesungguhnya. Silakan menutup view output ini dan
kita kembali kepada kode program index.jsp di layar editor.
Hapus tulisan “Hello World!” pada bagian body dan gantikan dengan skrip di bawah ini:
<form action=" " method="POST">
First Name: <input type="text" name="firstName" size="20"><br>
Surname: <input type="text" name="surname" size="20">
<br><br>
<input type="submit" value="Submit">
</form>
JVA-FD-09002 – MEMBUAT JSP DAN SERVLET SEDERHANA
8
www.tobuku.com
Simpan perubahan tersebut dan coba jalankan lagi file ini. Jika yang tampak pada layar adalah masih
tulisan “Hello World!” seperti pada tampilan sebelumnya, itu berarti layar output perlu di-refresh
terlebih dahulu. Silakan klik tombol Refresh yang ditunjukkan pada gambar di bawah ini.
Setelah di-refresh, maka layar akan menampilkan output yang seharusnya.
Kode program ini sudah berjalan dengan baik walaupun saat ini ia belum menjalankan aksi apapun saat
tombol Submit di-klik. Kita akan menambahkan aksi pada program sederhana ini pada komponen
servlet, bukan pada halaman index.jsp ini. Ada alasan yang bagus mengapa kita perlu memisahkan
peletakan kode-kode program baik pada sisi halaman JSP maupun servlet:
1. Halaman JSP lebih diutamakan sebagai presentation layer, atau lapisan yang berhubungan
dengan antar muka dengan seperti layar yang memungkinkan pengguna berinteraksi dengan
aplikasi. Jadi pada halaman JSP kita lebih fokus untuk membuat tampilan yang menarik atau
intuitif.
Sementara itu, business logic yang sesungguhnya atau kode-kode program inti dari aplikasi
diletakkan pada servlet yang berjalan di latar belakang dan non-visual. Pemisahan ini sangat
penting untuk kepentingan pemeliharaan aplikasi supaya kode program tidak bercampur baur
antara yang berhubungan dengan presentation layer dan business logic.
2. Dengan diletakkannya kode program business logic pada servlet, maka eksekusi program yang
lebih optimal dan unjuk kerjanya akan lebih baik.
JVA-FD-09002 – MEMBUAT JSP DAN SERVLET SEDERHANA
9
www.tobuku.com
3. Membuat GreetingServlet
Saat ini kita akan melanjutkan dengan pembuatan sebuah servlet untuk menulis business logic aplikasi
web ini.
Pada window Project Explorer, klik kanan pada nama projek web-exercise01 kemudian pilih New Servlet.
JVA-FD-09002 – MEMBUAT JSP DAN SERVLET SEDERHANA
10
www.tobuku.com
Pada wizard pembuatan Servlet, masukkan informasi sebagai berikut:
Java package : org.exercise01.web
Class name : GreetingServlet
Klik Next.
JVA-FD-09002 – MEMBUAT JSP DAN SERVLET SEDERHANA
11
www.tobuku.com
Klik Next.
Klik Finish.
Secara otomatis Eclipse akan membuat sebuah package bernama org.exercise01.web dengan sebuah
file bernama GreetingServlet.java di dalamnya. Eclipse juga akan menuliskan beberapa kode program
standar di dalam sebuah servlet, yaitu sebuah constructor (dalam hal ini adalah GreetingServlet) berikut
dua buah method doPost dan doGet - sesuai dengan pilihan-pilihan yang ditandai pada window wizard
sebelumnya. Tugas kita sekarang adalah menuliskan kode-kode program di dalam constructor dan
method tersebut.
JVA-FD-09002 – MEMBUAT JSP DAN SERVLET SEDERHANA
12
www.tobuku.com
Sebelum bekerja lebih lanjut dengan GreetingServlet, kita kembali dulu kepada index.jsp sebentar untuk
melakukan sedikit modifikasi pada kode HTML nya. Pada bagian form, ketikkan GreetingServlet seperti
di bawah ini supaya saat tombol Submit ditekan maka komponen GreetingServlet dipanggil untuk
menjalankan sebuah aksi tertentu.
<form action="GreetingServlet" method="POST">
First Name: <input type="text" name="firstName" size="20"><br>
Surname: <input type="text" name="surname" size="20">
<br><br>
<input type="submit" value="Submit">
</form>
Perhatikan bahwa metode yang digunakan pada form di dalam index.jsp ini adalah POST, sejalan itu
maka salah satu method di dalam GreetingServlet yang harus ditambahkan kode programnya adalah
doPost.
JVA-FD-09002 – MEMBUAT JSP DAN SERVLET SEDERHANA
13
www.tobuku.com
Baik itu GET maupun POST, Setiap metode memiliki kelebihan dan kekurangan. GET memiliki
keterbatasan panjang dalam informasi yang dikirimkan namun cara pengirimannya cukup mudah yaitu
hanya perlu menambahkannya pada URL dari Servlet yang dipanggil. Contoh:
http://localhost:7001/MyFirstServlet/GreetingServlet?firstName=david&surname=test
Sebaliknya POST tidak memiliki batas panjang informasi yang dikirim dan kelebihannya adalah informasi
itu tidak tampak pada URL. Pada POST yang tampak hanya seperti ini:
http://localhost:7001/MyFirstServlet/GreetingServlet
Nyata bahwa GET mengandung potensi bahaya dalam hal keamanan dimana orang bisa dengan mudah
melihat informasi yang dikirim kepada Servlet. POST bisa menjadi pilihan yang lebih baik, tetapi ada
situasi dimana kita perlu memakai GET untuk alasan kemudahan.
Karena pada contoh ini kita memakai metode POST, maka mari kita menambahkan kode program pada
method doPost di dalam GreetingServlet.
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws
ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
String firstName = request.getParameter("firstName").toString();
String surname = request.getParameter("surname").toString();
out.println("<html>");
out.println("<head>");
out.println("<title>Servlet GreetingServlet</title>");
out.println("</head>");
out.println("<body>");
out.println("<h1>Servlet GreetingServlet at " + request.getContextPath () + "</h1>");
out.println("<p>Welcome " + firstName + " " + surname + "</p>");
out.println("</body>");
out.println("</html>");
out.close();
}
Jika Anda mendapatkan sebuah peringatan dari compiler bahwa class PrintWriter tidak dikenal seperti di
bawah ini, maka itu artinya ada package tertentu yang harus di-import ke dalam kode program ini.
Silakan arahkan penunjuk mouse pada kotak kecil berwarna merah kemudian klik dan pilih “Import
PrintWriter (java.io)”.
JVA-FD-09002 – MEMBUAT JSP DAN SERVLET SEDERHANA
14
www.tobuku.com
Secara otomatis pada bagian atas kode program akan ditambahkan sebaris perintah “import
java.io.PrintWriter”.
Simpan perubahan ini, dan kita jalankan kembali index.jsp. Jangan lupa untuk me-refresh lagi supaya
perubahan yang terakhir tampak pada halaman web tersebut. Silakan isi kolom First Name dan Surname
kemudian klik Submit.
Hasil pemanggilan GreetingServlet tampak seperti gambar di bawah ini.
Hasil ya bagus, bukan?
JVA-FD-09002 – MEMBUAT JSP DAN SERVLET SEDERHANA
15
www.tobuku.com
4. Men-deploy aplikasi pada Tomcat
Untuk men-deploy sebuah aplikasi web ke dalam Tomcat, hal pertama yang harus dilakukan adalah
meng-export projek web dari Eclipse menjadi sebuah file dengan ekstensi WAR.
Pada window Project Explorer, klik kanan pada nama projek web-exercise01 kemudian pilih Export War file.
Tentukan nama file dan lokasi penyimpanan file WAR. Klik Finish.
JVA-FD-09002 – MEMBUAT JSP DAN SERVLET SEDERHANA
16
www.tobuku.com
Masuk ke dalam Apache Tomcat dengan mengetikan alamatnya pada program browser, misalnya
http://localhost:8080. Alamat ini bisa saja berbeda dengan yang Anda gunakan, tergantung dari
instalasinya.
Klik Tomcat Manager, dan isi User Name serta Password.
JVA-FD-09002 – MEMBUAT JSP DAN SERVLET SEDERHANA
17
www.tobuku.com
Jika otentikasi berhasil, Anda akan mesuk ke dalam halaman Tomcat Web Application Manager.
Turun ke bagian bawah dari halaman tersebut sampai Anda menemukan bagian Deploy. Gunakan
tombol Browse untuk memasukkan nama file WAR yang di-export tadi ,lalu klik Deploy.
JVA-FD-09002 – MEMBUAT JSP DAN SERVLET SEDERHANA
18
www.tobuku.com
deploy dengan baik ditandai dengan munculnya nama aplikasi di dalam
Pastikan aplikasi web itu ter-deploy
daftar aplikasi.
Jalankan aplikasi web tersebut dengan menggunakan program browser seperti di bawah ini.
JVA-FD-09002 – MEMBUAT JSP DAN SERVLET SEDERHANA
19
Download