Top Banner
Java Server Pages Galih Satriaji Laboratorium Pemrograman Teknik Informatika ITS 14 Mei 2006
29

Java Server Pages

Oct 30, 2014

Download

Technology

galihsatria

java server pages at a glance. sekilias saja pembukaan tentang jsp
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Java Server Pages

Java Server Pages

Galih SatriajiLaboratorium Pemrograman Teknik Informatika ITS14 Mei 2006

Page 2: Java Server Pages

http://www.galihsatria.com/

Apa yang Akan Dibahas?

• Struktur File JSP• Scriptlet dalam Sekejap • Struktur Aplikasi JSP• Web Container?• Berkenalan dengan

Lingkungan IDE Oracle JDeveloper

• JavaBean sebagai representasi objek

• JDBC Connection dg MySQL

Page 3: Java Server Pages

http://www.galihsatria.com/

Apa yang Akan Dibahas (2)?

• JDBC Connection dg Oracle

• Session Management• Archiving Aplikasi untuk

Deployment (WAR)

Ekstra (kalau mau :p)• Berkenalan dengan

Framework JSP:– Jakarta Struts– Java Server Faces (JSF)

Page 4: Java Server Pages

Bagian Pertama

<%Struktur Java Server Pages%>

Page 5: Java Server Pages

http://www.galihsatria.com/

Asal Usul JSP

• Java ServletClass Java yang menangani request HTTP bernama javax.servlet.*

• Kelemahan Java Servlet:– Semua ditulis hardcoded murni

bahasa Java. Output HTML merupakan hasil print out ke system console.

– Misalnya:PrinterWriter.println( “<html></html>” );

Page 6: Java Server Pages

http://www.galihsatria.com/

Asal Usul JSP (2)

• Akibatnya, pemrograman servlet tidak bisa langsung dilihat pada saat design time, dan tidak dapat menggunakan WYSIWYG editor seperti Macromedia Dreamweaver

• Solusi? JSP Java Server Pages• JSP dapat disisipkan pada kode

HTML seperti layaknya ASP atau PHP Scriptlet

Lihat Contoh file JSP

Page 7: Java Server Pages

http://www.galihsatria.com/

Pemrosesan JSP di server

File JSP

pertama?

Servlet

HTML

Server

Client

Kompilasi

request file JSP

Mencari file JSPApakah file ini sudah dikompilasi menjadiServlet?

belum sudah

Servlet bekerja dan menghasilkanoutput HTML

HTML selesai diprosesHasil dikirim ke Client sebagairespon

Page 8: Java Server Pages

http://www.galihsatria.com/

Pemrosesan File JSP

• Catatan:– Setiap file JSP akan dikompilasi

menjadi servlet sekali, hanya pada saat file JSP diakses pertama kali, untuk request selanjutnya, file JSP tidak akan dikompilasi lagi, tetapi langsung servlet dieksekusi.

– Pada kode-kode yang embedded dengan HTML, semua kode HTML di luar direktif <% dan %> akan dikonversi menjadi pernyataan out.println().

Page 9: Java Server Pages

http://www.galihsatria.com/

Gaya Penulisan JSP

• Scriptlet.Penulisan JSP disisipkan pada file HTML. Baik bussiness logic dan presentation ditulis dalam satu file HTML.Kelemahan:– Desain yang paling buruk– Tidak mencerminkan paradigma

berorientasi objek, padahal Java sangatlah OOP

– Sulit dalam maintenance karena bussiness logic dan presentation digabung jadi satu

Page 10: Java Server Pages

http://www.galihsatria.com/

Gaya Penulisan JSP (2)

• Bussiness Logic dan Presentation terpisahBussiness Logic (contoh: akses database) ditulis dalam class terpisah dan menjadi library aplikasi. Kode-kode presentasi ditulis embedded di HTML dengan memanggil class-class bussiness logic.

Page 11: Java Server Pages

http://www.galihsatria.com/

Gaya Penulisan JSP (3)

Keuntungan:– Mudah dalam maintenance

karena bussiness logic dan presentation terpisah.

– Berorientasi objek– Class bussiness logic dapat

dijalankan secara terpisah tanpa melalui web (misalnya dijalankan di console)

Page 12: Java Server Pages

http://www.galihsatria.com/

Gaya Penulisan JSP (4)

• Let’s do it babeh!!! Buka Oracle JDeveloper!!

• Buat bilangan fibonacci dengan servlet

• Buat scriptlet bilangan fibonacci.

• Buat bilangan fibonacci secara terpisah di library tersendiri

Page 13: Java Server Pages

http://www.galihsatria.com/

WebContainer• Server yang bisa menangani

servlet/JSP dinamakan web container. Contoh: Apache Tomcat, Oracle webContainer for Java (OC4J).

• Server yang didalamnya terdapat fitur-fitur yang menangani Java Enterprise (J2EE) dinamakan application server. Contoh: JBoss, Oracle AppServer, BEA Weblogic, IBM Websphere, dan Sun AppServer

Page 14: Java Server Pages

http://www.galihsatria.com/

Web Container (2)

• Dalam appserver, bisa jadi terdapat web container, misalnya:– JBoss memiliki Tomcat– Oracle AppServer terdapat

OC4J

Page 15: Java Server Pages

Bagian Kedua

<%JavaBean Sebagai Representasi Objek%>

Page 16: Java Server Pages

http://www.galihsatria.com/

Apa sih JavaBean Itu?

• Tidak ada yang istimewa, JavaBean hanyalah public class dengan field private yang harus memiliki salah satu method getter dan setter ataupun kedua-duanya.

• Contoh class JavaBean, jelaskan ciri-nya!

Page 17: Java Server Pages

http://www.galihsatria.com/

Objek yang Sesungguhnya!

• Diagram lagee• Bagaimana fibonacci tadi

menjadi JavaBean?

Page 18: Java Server Pages

Bagian Ketiga

Java Database Connectivity (JDBC)

Page 19: Java Server Pages

http://www.galihsatria.com/

Gambaran Besar

• Siapkan driver JDBC untuk database spesifik, misal:– JDBC-ODBC Driver– MySQL JDBC (ConnectorJ)– Oracle JDBC

• Jadikan driver JDBC (biasanya berbentuk file JAR) menjadi library CLASSPATH

Page 20: Java Server Pages

http://www.galihsatria.com/

Gambaran Besar (2)

• Register driver dengan Class.forName atau DriverManager.registerDriver

• Buat objek Connection• Buat objek Statement• Execute query SQL dan

dapatkan object ResultSet• Dari objek ResultSet, iterasi

objek dan dapatkan data perbaris

Page 21: Java Server Pages

http://www.galihsatria.com/

JDBC Dengan JavaBean

• Pada BussinessLogic:– Setelah dapat objek

ResultSet, iterasi baris dan masukkan ke JavaBean

– Masukkan masing-masing JavaBean ke objek List/ArrayList

Page 22: Java Server Pages

http://www.galihsatria.com/

JDBC Dengan JavaBean (2)

• Pada presentasi:– Inisialiasasi class JavaBean

dengan direktif <@page useBean/> dan class pendukung lainnya (termasuk data access) dengan operator new

Page 23: Java Server Pages

http://www.galihsatria.com/

JDBC Dengan JavaBean (3)

• Pada presentasi:– Dapatkan ArrayList dari

method class data access, iterasi dan tampilkan data

– Dengan demikian, JavaBean hanya berperan sebagai pembawa data saja

Page 24: Java Server Pages

http://www.galihsatria.com/

Let’s Do It Babeh!!!!

• Objek database: data diri mahasiswa

• Buat JDBC Connection ke MySQL

• Buat JDBC Connection ke Oracle

Page 25: Java Server Pages

Bagian Keempat

Deployment Aplikasi JSP

Page 26: Java Server Pages

http://www.galihsatria.com/

Konsep (yg membosankan :p)

• Aplikasi Java Enterprise dibundel dalam satu file WAR (Web Archive) untuk aplikasi web atau EAR (Enterprise Archive) untuk aplikasi enterprise.

• File ini adalah file ZIP biasa dengan beberapa keistimewaan

Page 27: Java Server Pages

http://www.galihsatria.com/

File WAR (Web Archive)• Terdapat directory khusus

bernama WEB-INF yang harus berisi web.xml, file XML yang menyimpan setting konfigurasi spesifik untuk aplikasi ini. Analogi di Apache adalah file .htaccess

• Directory WEB-INF/lib berisi semua class-class tambahan yang diperlukan aplikasi agar bisa berjalan (JavaBean, DataAccess, JDBC Driver dll)

Page 28: Java Server Pages

http://www.galihsatria.com/

File WAR (Web Archive) (2)

• WEB-INF/lib adalah CLASSPATH untuk aplikasi web, jadi taruh semua class, baik yang dibundel dalam file JAR atau tidak sesuai dengan hierarki package yang dimiliki

Page 29: Java Server Pages

http://www.galihsatria.com/

Let’s go!

• Bagaimana mudahnya membuat file WAR di JDeveloper

• Bagaimana mudahnya melakukan deployment di JDeveloper