MVC J2EE using servlet

17
MVC J2EE Using Servlet Disusun oleh: Doni Andriansyah Arif Kurniawan Fandhilah Priyono Sekolah Tinggi Manajemen dan Ilmu Komputer (STMIK) Nusa Mandiri Jakarta 2012

description

MVC J2EE Using Servlet merupakan tugas kuliah untuk mata kuliah OOP (Object Oriented Programming). Aplikasi ini menghasilkan sebuah aplikasi yang dijalankan melalui browser.

Transcript of MVC J2EE using servlet

Page 1: MVC J2EE using servlet

MVC J2EE Using Servlet

Disusun oleh:

Doni Andriansyah Arif Kurniawan

Fandhilah Priyono

Sekolah Tinggi Manajemen dan Ilmu Komputer (STMIK) Nusa Mandiri

Jakarta 2012

Page 2: MVC J2EE using servlet

Copyleft @ 2012. All right reserved.

2 www.freak-kutuonline.com

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.

Page 3: MVC J2EE using servlet

Copyleft @ 2012. All right reserved.

3 www.freak-kutuonline.com

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.

Page 4: MVC J2EE using servlet

Copyleft @ 2012. All right reserved.

4 www.freak-kutuonline.com

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.

Page 5: MVC J2EE using servlet

Copyleft @ 2012. All right reserved.

5 www.freak-kutuonline.com

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.

Page 6: MVC J2EE using servlet

Copyleft @ 2012. All right reserved.

6 www.freak-kutuonline.com

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

Page 7: MVC J2EE using servlet

Copyleft @ 2012. All right reserved.

7 www.freak-kutuonline.com

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

Page 8: MVC J2EE using servlet

Copyleft @ 2012. All right reserved.

8 www.freak-kutuonline.com

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.

Page 9: MVC J2EE using servlet

Copyleft @ 2012. All right reserved.

9 www.freak-kutuonline.com

Gambar 7. Java Web >> Web Application. 4. Tentukan nama file dan lokasi dimana file project tersebut akan disimpan.

Gambar 8. Java Web >> Web Application.

Page 10: MVC J2EE using servlet

Copyleft @ 2012. All right reserved.

10 www.freak-kutuonline.com

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.

Page 11: MVC J2EE using servlet

Copyleft @ 2012. All right reserved.

11 www.freak-kutuonline.com

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.

Page 12: MVC J2EE using servlet

Copyleft @ 2012. All right reserved.

12 www.freak-kutuonline.com

Gambar 12. Model >> Student.java.

Page 13: MVC J2EE using servlet

Copyleft @ 2012. All right reserved.

13 www.freak-kutuonline.com

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.

Page 14: MVC J2EE using servlet

Copyleft @ 2012. All right reserved.

14 www.freak-kutuonline.com

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.

Page 15: MVC J2EE using servlet

Copyleft @ 2012. All right reserved.

15 www.freak-kutuonline.com

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.

Page 16: MVC J2EE using servlet

Copyleft @ 2012. All right reserved.

16 www.freak-kutuonline.com

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.

Page 17: MVC J2EE using servlet

Copyleft @ 2012. All right reserved.

17 www.freak-kutuonline.com

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)