MVC J2EE Using Servlet merupakan tugas kuliah untuk mata kuliah OOP (Object Oriented Programming). Aplikasi ini menghasilkan sebuah aplikasi yang dijalankan melalui browser.
1. MVC J2EE Using Servlet
Disusun oleh:
Doni Andriansyah
Arif Kurniawan
Fandhilah
Priyono
Sekolah Tinggi Manajemen dan Ilmu Komputer (STMIK)
Nusa Mandiri
Jakarta
2012
2. www.freak-kutuonline.com 2
MVC J2EE Using Servlet
ARSITEKTUR MVC
MVC (Model-View Controller) adalah sebuah pola yang terbukti membangun proyek secara
lebih efektif. Hal ini dilakukan dengan memilah komponen antara model, view, dan controller
pada bagian-bagian dalam proyek.
Gambar 1. Pola MVC
MODEL
Pola MVC memiliki layer yang disebut dengan model yang merepresentasikan data yang
digunakan oleh aplikasi sebagaimana proses bisnis yang diasosiasikan terhadapnya. Dengan
memilahnya sebagai bagian terpisah, seperti penampungan data, persistence, serta proses
manipulasi, terpisah dari bagian lain aplikasi.
Terdapat beberapa kelebihan dalam pendekatan ini. Pertama, membuat detail dari data dan
operasinya dapat ditempatkan pada area yang ditentukan (Model) dibanding tersebar dalam
keseluruhan lingkup aplikasi. Hal ini memberikan keuntungan dalam proses maintenance
aplikasi.
Kedua, dengan pemisahan total antara data dengan implementasi interface, komponen model
dapat digunakan kembali oleh aplikasi lain yang memiliki kegunaan yang hampir sama.
Copyleft @ 2012. All right reserved.
3. www.freak-kutuonline.com 3
VIEW
Layer ini mengandung keseluruhan detail dari implementasi user interface. Disini, komponen
grafis menyediakan representasi proses internal aplikasi dan menuntun alur interaksi user
terhadap aplikasi. Tidak ada layer lain yang berinteraksi dengan user, hanya View.
Penggunaan layer View memiliki beberapa kelebihan : Pertama, memudahkan pengabungan
divisi desain dalam development team. Divisi desain dapat berkonsentrasi pada style, look &
feel, dan sebagainya, dalam aplikasi tanpa harus memperhatikan lebih pada detail yang lain.
Dan juga, memiliki layer View yang terpisah memungkinkan ketersediaan multiple interface
dalam aplikasi. Jika inti dari aplikasi terletak pada bagian lain (dalam Model), multiple interfaces
dapat dibuat (Swing, Web, Console), secara keseluruhan memiliki tampilan yang berbeda
namun mengeksekusi komponen Model sesuai fungsionalitas yang diharapkan.
CONTROLLER
Controller menyediakan detail alur program dan transisi layer, dan juga bertanggung jawab
akan penampungan events yang dibuat oleh user dari View dan melakukan update terhadap
komponen Model menggunakan data yang dimasukkan oleh user.
ARSITEKTUR MVC UNTUK WEB : Arsitektur Model 2
Arstitektur MVC secara sederhana dirancang dan diadaptasi dalam penggunaan dalam Web-
Application. Arsitektur yang dihasilkan kemudian disebut dengan Model 2 Architecture.
Aplikasi model 2 umumnya memiliki :
1. Servlet Controller yang menyediakan akses tunggal terhadap keseluruhan aplikasi.
Controller ini bertanggung jawab menyediakan manajemen terpusat terhadap alur
aplikasi dan juga service lain seperti penganganan security dan user management.
2. Controller Servlet umumnya menggunakan konfigurasi XML untuk menentukan alur
aplikasi dan pemrosesan perintah. Hal itu juga membuat helper components yang
berfungsi sebagai Command objects. Hal ini berarti helper components terasosiasikan
dengan user actions dan dibuat/dipanggil untuk menangani actions yang terjadi,
memanggil komponen Model sebagaimana diperlukan. Hal ini berfungsi untuk
memisahkan untuk memisahkan antara controller servlet dari Model.
J2EE (Java 2 Enterprise Edition)
J2EE adalah kumpulan teknologi yang cukup kuat dan berada diatas lingkungan J2SE. J2EE
berbasis pada Java2 yang berusaha untuk menyediakan sebuah lingkungan aplikasi yang
bersifat reliable dan stabil serta dapat dijalankan pada beberapa lingkungan sistem operasi.
Teknologi enterprise sebagai perkembangan dari lingkungan Java2 difokuskan pada
pemenuhan antarmuka yang standar dimana aplikasi J2EE dapat menghasilkan sebuah
aplikasi berbasis server yang tangguh (robust) dan tidak bergantung pada lingkungan sistem
operasi yang digunakan.
Copyleft @ 2012. All right reserved.
4. www.freak-kutuonline.com 4
Gambar 2. Arsitektur J2EE
J2EE server menyediakan dua buah kontainer besar yaitu kontainer EJB dan kontainer web
dimana kontainer EJB digunakan untuk mengelola dan mengeksekusi Enterprise bean yang
juga disebut dengan bean dan kontainer web digunakan untuk mengelola dan mengeksekusi
servlet serta Java Server Pages (JSP).
Package pada J2EE dapat berupa Enterprise Archive (EAR), Java Archive (JAR) yang
merupakan kumpulan file dalam sebuah paket, dan Web Archive (WAR) dimana EAR biasanya
merupakan gabungan dari file-file JAR yang biasa digunakan oleh bean, sedangkan WAR biasa
digunakan oleh servlet dan JSP.
J2EE memiliki beberapa tipe modul yang diantaranya adalah sebagai berikut:
• EJB, terdiri dari file-file class dari enterprise bean dan descriptor dari EJB deployment. EJB
biasanya menggunakan package berupa JAR dengan ekstensi file .jar.
• Web, seperti servlet dan JSP. Terdiri dari file-file class servlet atau file-file class yang
dibutuhkan JSP, file gambar, file HTML, dan descriptor dari web deployment. Package yang
digunakan adalah biasanya WAR dengan ekstensi file .war.
• Aplikasi klien, terdiri dari file class klien dan descriptor klien. Package yang biasanya
digunakan adalah JAR dengan ekstensi file .jar.
SERVLET
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. 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 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.
Copyleft @ 2012. All right reserved.
5. www.freak-kutuonline.com 5
Cara Kerja Servlet
Servlet bekerja melayani request dari client, yang pada umumnya adalah web browser. Untuk
dapat melayani client, servlet terlebih dahulu harus di deploy di web application server yang
menyediakan kemampuan sebagai servlet container.
Client memanggil servlet dengan mengirimkan HTTP request ke web application server. HTTP
request ini dapat ditransfer dengan method GET, POST, atau lainnya. Method GET terjadi
ketika user membuka sebuah URL. Method POST dapat digunakan saat user men-submit
sebuah form.
Ketika web application server menerima HTTP request dari client, ia akan menyerahkan request
ini ke servlet container. Servlet container akan meng-create dua buah objek yaitu objek
HttpServletRequest dan objek HttpServletResponse. Objek HttpServletRequest meng-
encapsulate HTTP request dari client, sedangkan objek HttpServletResponse dipersiapkan
untuk meng-encapsulate HTTP response ke client.
Selanjutnya servlet container akan meng-invoke method dari servlet dengan melewatkan dua
objek ini. Servlet yang di invoke oleh servlet container ditentukan oleh URL yang dikirimkan oleh
web browser, dan pemetaan yang dibuat oleh configuration. Dalam configuration dapat
ditentukan bahwa URL dengan pola tertentu akan dilayani oleh servlet tertentu.
Servlet dapat membaca data yang dikirimkan oleh client melalui objek HttpServletRequest.
Melalui objek ini servlet membaca parameter, cookies, dan juga informasi tentang client.
Selanjutnya untuk mengembalikan response ke client, servlet dapat melakukannya melalui
HttpServletResponse. Pada umumnya servlet menuliskan response dalam format HTML.
Sebelum menuliskan response, servlet terlebih dahulu dapat mengolah data yang dikirimkan
oleh client, mengakses dengan database dan melakukan proses-proses lain.
HttpServletRequest
Class HttpServletRequest digunakan untuk meng-encapsulate HTTP request dari client.
1. Untuk membaca parameter-parameter yang dikirimkan client, tersedia method-method
getParameter(), getParameterNames(), dan getParameterValues.
2. Untuk mendapatkan header dari HTTP request tersedia method getHeader(), dan untuk
membaca cookie tersedia method getCookie().
3. Untuk mendapatkan informasi mengenai server dimana servlet bekerja, tersedia method
getServerName(), dan getServerPort().
4. Untuk mendapatkan informasi tentang client yang memanggil servlet, tersedia method
getRemoteAddr(), getRemoteHost(), dan getRemoteUser().
HttpServletResponse
Class HttpServletResponse digunakan untuk meng-encapsulate HTTP response yang
dikirimkan servlet ke client.
Method getWriter() dapat digunakan untuk mendapatkan objek PrintWriter. Method
getOutputStream() dapat digunakan untuk mendapatkan objek ServletOutputStream.
Copyleft @ 2012. All right reserved.
6. www.freak-kutuonline.com 6
Melalui objek PrintWriter atau ServletOutputStream, user dapat menuliskan response ke client.
Objek PrintWriter cocok jika response yang diberikan adalah karakter, missal dalam format
HTML. Sedangkan objek ServletOutputStream cocok jika response yang diberikan adalah
binary, misalnya berupa grafik.
Method setHeader() dapat digunakan untuk menuliskan header, dan methos setCookie()
digunakan untuk menuliskan cookie.
Method setStatus() dapat digunakan untuk mengirimkan status kode ke client.
Implementasi Simple Servlet
Gambar 3. Servlet.java
Copyleft @ 2012. All right reserved.
7. www.freak-kutuonline.com 7
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
File diatas adalah file yang dibangkitkan ketika user membuat sebuah servlet didalam Source
Packages dengan nama class Servlet yang terdapat didalam package devz.servlet.
out.println("<HTML><TITLE>Say Hello</TITLE><BODY><br>");
out.println("<H1>This is my first servlet.</H1>");
out.println("</BODY></HTML>");
Baris perintah diatas adalah baris perintah untuk menampilkan kalimat “This is my first servlet”
kedalam browser.
Klik Run File pada class Servlet.java untuk melihat hasilnya di browser.
Gambar 4. Run File Servlet.java
Copyleft @ 2012. All right reserved.
8. www.freak-kutuonline.com 8
Berikut tampilannya di dalam browser.
Gambar 5. Tampilan di Browser.
Implementasi MVC J2EE Using Servlet
1. Jalankan aplikasi Netbeans 6.7.1.
2. Klik File >> New Project.
Gambar 6. File >> New Project.
3. Pada jendela New Project, pilih Java Web pada Categories dan pilih Web Application
pada Project.
Copyleft @ 2012. All right reserved.
9. www.freak-kutuonline.com 9
Gambar 7. Java Web >> Web Application.
4. Tentukan nama file dan lokasi dimana file project tersebut akan disimpan.
Gambar 8. Java Web >> Web Application.
Copyleft @ 2012. All right reserved.
10. www.freak-kutuonline.com 10
5. Tentukan server yang akan digunakan serta pilih Java EE Version. Klik Next pada Server
and Settings.
Gambar 9. Server and Settings.
6. Menentukan Framework yang akan digunakan. Karena disini penulis tidak menggunakan
Framework, klik Finish saja.
Gambar 10. Frameworks >> Klik Finish.
Copyleft @ 2012. All right reserved.
11. www.freak-kutuonline.com 11
7. Pada Netbeans akan ditampilkan file index.jsp.
Berikut adalah file index.jsp yang sudah ditambahkan beberapa atribut yang akan
digunakan sebagai form input/masukan. File index.jsp ini juga dapat dikatakan sebagai
interface awal dari sebuah project web sederhana ini.
Gambar 11. Index.jsp.
8. Membuat model, klik kanan pada Source Packages >> New >> Servlet. Isikan Class
Name dengan nama Student.java dan Package dengan nama model. Set property dan
constructor sebagai berikut.
Copyleft @ 2012. All right reserved.
12. www.freak-kutuonline.com 12
Gambar 12. Model >> Student.java.
Copyleft @ 2012. All right reserved.
13. www.freak-kutuonline.com 13
9. Membuat controller, klik kanan pada Source Packages >> New >> Servlet. Isikan Class
Name dengan nama StudentController.java dan Package dengan nama controller.
Controller inilah yang akan menerima request dari web browser dan menyiapkan respon
yang akan diberikan ke klien (dalam hal ini web browser).
Gambar 13. Controller >> StudentController.java.
Copyleft @ 2012. All right reserved.
14. www.freak-kutuonline.com 14
10. Setelah model dan controller dibuat, selanjutnya membuat file success.jsp yang berfungsi
sebagai view.
Gambar 14. View >> success.jsp.
11. Klik kanan pada StudentApps project, pilih Deploy untuk meng-compile project kedalam
server GlassFish v2.1.
Gambar 15. Deploy project to GlassFish.
Copyleft @ 2012. All right reserved.
15. www.freak-kutuonline.com 15
12. Run project. Klik kanan pada StudentApps project, klik Run.
Gambar 16. Run.
13. Berikut hasilnya di browser.
Gambar 17. Interface.
Note >>
Tampilan diatas merupakan form input/masukkan, isi form tersebut lalu klik tombol Submit.
Copyleft @ 2012. All right reserved.
16. www.freak-kutuonline.com 16
Gambar 18. View.
Hasil tampilan setelah form diatas diisi dan tombol submit di klik. Tampilan diatas dapat
disebut sebagai view dari rangkaian MVC yang telah dibangun dalam sebuah project.
Copyleft @ 2012. All right reserved.
17. www.freak-kutuonline.com 17
Referensi
J2EE dalam Aplikasi Enterprise. www.gangsir.com/download/RevisiBab1.pdf. (24 Juni
2012).
Java Servlet. lecturer.eepis-its.edu/~idris/files/oop_lanjut/P11a_servlet.pdf. (24 Juni
2012).
http://www.akakom.ac.id/download/ebook/JavaProgramming/java%20web/JENI-
Web%20Programming-Bab%202-Basic%20Servlets.pdf. (24 Juni 2012).
JENI. Pengenalan Arsitektur MVC.
http://www.akakom.ac.id/download/ebook/JavaProgramming/java%20web/JENI-
Web%20Programming-Bab%207-MVC%20Intro.pdf. (24 Juni 2012).
2010. Java Model View Controller (MVC) Design Pattern.
http://www.roseindia.net/tutorial/java/jdbc/javamvcdesignpattern.html. (24 Juni
2012)
Copyleft @ 2012. All right reserved.