java server pages

Post on 30-Oct-2014

27 Views

Category:

Technology

3 Downloads

Preview:

Click to see full reader

DESCRIPTION

java server pages at a glance. sekilias saja pembukaan tentang jsp

TRANSCRIPT

Java Server Pages

Galih SatriajiLaboratorium Pemrograman Teknik Informatika ITS14 Mei 2006

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

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)

Bagian Pertama

<%Struktur 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>” );

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

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

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().

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

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.

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)

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

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

http://www.galihsatria.com/

Web Container (2)

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

OC4J

Bagian Kedua

<%JavaBean Sebagai Representasi Objek%>

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!

http://www.galihsatria.com/

Objek yang Sesungguhnya!

• Diagram lagee• Bagaimana fibonacci tadi

menjadi JavaBean?

Bagian Ketiga

Java Database Connectivity (JDBC)

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

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

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

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

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

http://www.galihsatria.com/

Let’s Do It Babeh!!!!

• Objek database: data diri mahasiswa

• Buat JDBC Connection ke MySQL

• Buat JDBC Connection ke Oracle

Bagian Keempat

Deployment Aplikasi JSP

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

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)

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

http://www.galihsatria.com/

Let’s go!

• Bagaimana mudahnya membuat file WAR di JDeveloper

• Bagaimana mudahnya melakukan deployment di JDeveloper

top related