Web Engineering 2010 Pertemuan ke-10 Teknologi Aplikasi Web III (Servlet, JSP, Javabeans) Husni Husni.trunojoyo.ac.id Komputasi.wordpress.com.

Slides:



Advertisements
Presentasi serupa
Pertemuan 8. 2  JavaScript dikembangkan pertama kali pada tahun 1995 di Netscape Communications dgn nama LiveScript.  Hasil kolaborasi antara Netscape.
Advertisements

EXCEPTION HANDLING.
Teori Graf.
Pemrograman Terstruktur
START.
Menunjukkan berbagai peralatan TIK melalui gambar
Database MySQL.
Mata Kuliah Teknik Digital TKE 113
1 Oleh : AGUS YUDI PRASETIYO P RATNA WIDAYASTUTI P TOTO SUMARMO P TUGAS CORPORATE INFORMATION SYSTEM MANAGEMENT.
Tugas Praktikum 1 Dani Firdaus  1,12,23,34 Amanda  2,13,24,35 Dede  3,14,25,36 Gregorius  4,15,26,37 Mirza  5,16,27,38 M. Ari  6,17,28,39 Mughni.
Input/Output.
Tugas: Perangkat Keras Komputer Versi:1.0.0 Materi: Installing Windows 98 Penyaji: Zulkarnaen NS 1.

4/5/2017 PL/SQL SITI MUKAROMAH,S.Kom.
Membuat class sendiri.
Servlets dan JSP Oleh Risanuri Hidayat.
KONSEP PEMROGRAMAN WEB
Pemrograman Dasar[PTI-15001] 2012
Praktikum Bahasa Pemrograman
LINKED LIST.
Input Specification1 untuk mendefinisikan semua file input yang digunakan dalam program (file yang akan digunakan telah didefinisikan pada coding F), mencakup.
LAYANAN BERBASIS APLIKASI WEB Pertemuan I Budi Arifitama.
Tutorial e-Learning. ITSC-Project Konfigurasi Web Browser Sebaiknya anda gunakan Web Browser Firefox dengan konfigurasi Proxy sebagai berikut atau no.
Menggunakan Java Bean dalam java server pages
Bab 6B Distribusi Probabilitas Pensampelan
Pertemuan Ke-1 (Konsep Dasar Web)
WEEK 6 Teknik Elektro – UIN SGD Bandung PERULANGAN - LOOPING.
WORKSHOP INTERNAL SIM BOK
SERVLETS Risanuri Hidayat.
• Daftar Objek Implisit • Variabel Request • Variabel Response
Pemrograman Internet Basis Java
Element Scripting Lanjut
: : Sisa Waktu.
PENGANTAR SISTEM INFORMASI NURUL AINA MSP A.
Konsep Pemrograman Web
PEMINDAHAN HAK DENGAN INBRENG
Fungsi Invers, Eksponensial, Logaritma, dan Trigonometri
Modul 1- Review Java.
FUNGSI MATEMATIKA DISKRIT K- 6 Universitas Indonesia
Pemrograman Terstruktur
KONTROL ALUR EKSEKUSI PROGRAM
INHERITANCE.
Web Teknologi 2Minggu …3… Page 1 MINGGU Ke Tiga Pemrograman Visual 2 Pokok Bahasan: Dasar-dasar Pengembangan Web ASP.NET Tujuan Instruksional Khusus:
PHP.
Minggu …8… Page 1 MINGGU Ke delapan Web Teknologi 2 Pokok Bahasan: CSS and Themes Tujuan Instruksional Khusus: Mahasiswa akan dapat menjelaskan dan mengaplikasikan.
Struktur Kontrol.
1 Pointer wijanarto. 2 Topik Introduction to Pointers Pointers dan Parameter Fungsi.
PENGANTAR SISTEM INFORMASI NURUL AINA MSP A.
Minggu 1…… Page 1 MINGGU Ke Satu Pemrograman Visual 2 Pokok Bahasan: Mengenal Web dengan ASP Tujuan Instruksional Khusus: Mahasiswa akan dapat menjelaskan.
PEMROGRAMAN BERBASIS WEB
Mendapatkan Input dari Keyboard
USAHA DAN ENERGI ENTER Klik ENTER untuk mulai...
Struktur Kode Aplikasi Java (1)
Pengantar sistem informasi Rahma dhania salamah msp.
Java Server Pages D4 LJ-PJJ Dasar Pemrograman Web Eru©Juli-2009 PENS – ITS.
Dasar-Dasar PHP.
Pertemuan II Kuliah Pemrograman Web Menggunakan JSP
PERTEMUAN KE 2 JAVA SERVER PAGES (JSP) BY : TITO SUGIHARTO
Struktur Program Java Tipe data.
Praktikum Java Script.
Pengenalan Web Server dan Server Side Script
Dasar-dasar Pemrograman PHP
Pemrograman Web II Ganjil
PENDEKATAN PADA PENGEMBANGAN APLIKASI WEB
Pertemuan 1 Khairul Anwar Hafizd
Lutfi Budi Ilmawan Univ. Muslim Indonesia
Pemrograman PHP Lanjut
PIBJ (PEMROGRAMAN INTERNET BERBASIS JAVA)
PIBJ (PEMROGRAMAN INTERNET BERBASIS JAVA)
PIBJ (PEMROGRAMAN INTERNET BERBASIS JAVA)
Transcript presentasi:

Web Engineering 2010 Pertemuan ke-10 Teknologi Aplikasi Web III (Servlet, JSP, Javabeans) Husni Husni.trunojoyo.ac.id Komputasi.wordpress.com

Outline •Servlet •JSP •Java Beans •Rangkuman 2

SERVLETS 3

Sekilas Servlet • Servlet adalah suatu ekstensi terhadap web server yang memberikan fungsionalitas tambahan dan programmability • Servlet secara penuh menggunakan platform Java • Servlet pada dasarnya adalah kelas Java. Setiap servlet meng-extends kelas “javax.servlet.http.HttpServlet” • Kelas-kelas terkait dibungkus dalam paket “javax.servlet” dan “javax.servlet.http” 4

Aplikasi Web Servlet Java •Siklus hidup pengembangan Servlet –Development •Mendefinisikan kelas-kelas servlet, metode dan properti di dalamnya –Deployment •Pemetaan Servlet ke lingkungan web •Deployment pada Web Application Server –Execution •Memahami siklus hidup eksekusinya 5

Struktur Servlet Dasar public class HelloWorld extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response ) throws ServletException, java.io.IOException {…} public void doPost(HttpServletRequest request, HttpServletResponse response ) throws ServletException, IOException {…} } 6

Konstruktor dan Metode “Main” • Instance servlet instances dibuat (dijalankan) oleh servlet container secara otomatis saat diminta – bukan oleh kelas atau metode pengguna – Tidak perlu mendefinisikan konstruktor • Titik masuk bukanlag metode “main”, tetapi dua metode – Gunakan “doGet” atau “doPost” untuk mengerjakan tugas-tugas 7

Deployment Servlet •Direktori web content root ( public_html ) –Titik awal dari aplikasi web keseluruhan –Semua file dan sub-direktori di sini: html, images, documents … • /public_html/WEB-INF/ –Direktori ini memuat file konfigurasi dan kelas- ter-compile –Tidak secara langsung dapat diakses dari web • /public_html/WEB- INF/classes/ –Semua kelas ter-compile (kelas servlet dan lainnya) ada dalam direktori ini 8

Pemetaan Servlet •Kelas Servlet perlu dipetakan suatu URI yang dapat diakses (accessible, terutama melalui HTTP) •Agar nyaman, servlet dapat diakses dalam pola umum (invoker servlet) – lassName] – SimpleServlet •Pemetaan spesifik: menggunakan file konfigurasi “ web.xml ” –Servlet dipetakan secara khusus ke suatu URL yang didefinisikan pengguna 9

Konfigurasi “web.xml” •Menggunakan file “ web.xml ” untuk pemetaan lebih spesifik –File-file dalam direktori “ WEB-INF ” •Contoh –Kelas Servlet • HelloWorld.class –Konteks aplikasi: • –Pemetaaan kelas Invoker • –Pemetaan spesifik • –Contoh pemetaan lain, lihat “ web.xml ” HelloW HelloWorld HelloW hello 10

Siklus Hidup Eksekusi Servlet Servlet Class Servlet Instance in Memory init() service() doPost() doGet() First Request Subsequent Requests (can be from different users and sessions) 11

Pesan Response & Request •Server dan client web berkomunikasi melalui pesan HTTP (protokol) –Pesan request: client  server –Pesan response: server  client •Pesan HTTP terdiri dari header dan body –HTTP header: informasi yang mendeskripsikan pesan dan konsteks dari pesan –HTTP body: isi yang biasanya ditampilkan 12

Pemrosesan Request •Tipe metode request utama – GET •Data pengguna dikirim sebagai bagian dari URL request •Tidak ada body pesan request •Tindakan pemicuan: bar alamat (pada browser), link, form, … – POST •Data pengguna dikirim dalam body pesan request •Tindakan pemicuan: form, … 13

Metode doGet() • Kelas Servlet menggunakan metode “doGet()” untuk memroses request URL umum (servlet) public void doGet( HttpServletRequest request, HttpServletResponse response ) throws ServletException,IOException { ( generating response message … ) } 14

Pemrosesan Response •Response body –Pembangkitan HTML atau content lain untuk ditampilkan •Response header –Pengubahan data header dari pesan response untuk mempengaruhi perilakunya 15

Pembangkitan Response Content • Menggunakan “response” (javax.servlet.http.HttpServletResponse) dan “java.io.PrintWriter” untuk menghasilkan HTML ke stream output java.io.PrintWriter out = response.getWriter(); out.println(“ ”); … out.println(“ ”); 16

Menggunakan StringBuffer • Saat ada perubahan sering terhadap string, penggunakan StringBuffer (java.lang.StringBuffer) lebih efisien StringBuffer html = new StringBuffer(); html.append(“ ”); html.append(“ "); … String s= html.toString(); • Ini sangat berguna ketika membangkitkan string-string halaman HTML 17

Penformatan Paragraf HTML • Menformat kode sumber HTML, atau tampilkan akhir dalam browser? • Gunakan karakter escape (/n, /t,...) untuk menformat sumber kode HTML • Gunakan tag-tag HTML untuk men-format luaran akhir dalam browser –,, … 18

Pembangkitan HTML Dinamis •Gunakan kemampuan pemrograman Java untuk membangkitkan HTML secara dinamis –Content dinamis: date/time, user name,.... –Elemen (tag) HTML dinamis –Atribut elemen dinamis –… (kreatiflah!) 19

Mendapatkan Data Pengguuna •Dua cara –Parameter URL (Get) • …/somefile?p1=value1&p2=value2 –Form HTML (Get atau Post) Servlet HTML Form URL parameter doGet doPost Post Get User Input 20

URL Dengan Parameter •Data pengguna dapat dikirim dengan request “get” – …/somefile?p1=value1&p2=value2 •Aplikasi –Halaman Template bagi detail item data • • –Pemilihan content halaman • • –Masukan pengguna • –Kondisi/konfigurasi • • –Tampilan/format halaman, content halaman, pesan error, … 21

Penanganan Parameter “Get” • Dalam “get” HTTP, data pengguna dikirim dengan URL – • Menggunakan obyek request (diberikan oleh metode doGet) untuk me-retrieve data ini. – String p1=request.getParameter(“p1”); – String p2=request.getParameter(“p2”); – String p[ ]=request.getParameterValues(“p1”); • Catatan: nama parameter bersifat case sensitive 22

Konversi Bilangan • Semua nilai parameter bertipe String – String p1=request.getParameter(“p1”); • Bagaimana jika perlu numerik? – Integer.parseInt() – Double.parseDouble() • Eksepsi konversi harus ditangani 23

Parameter Tak-reguler • Nilai hilang (string kosong dikembalikan) – …/GetData?data= • Parameter hilang (parameter tak terdefinisi, null) – …/GetData?// tak ada parameter – …/GetData?data// ”data” masih tak terdefinisi – …/GetData?Data=red// case sensitive • Blank (kosong) – …/GetData?data=hello world • Parameter ganda (redundant) – …/GetData?data=blue&data=red// Gunakan getParameterValues() 24

JAVA SERVER PAGES 25

Apa Itu JSP • Servlets – HTML dalam kode Java • JSP – Kode Java dalam HTML Java Server Pages JSP 26

Siklus Hidup JSP JSP to Servlet Translation JSP to Servlet Translation Servlet Compiled Servlet Compiled Servlet Loaded Servlet Loaded jspInit() called jspInit() called _jspService() called _jspService() called 27

Kebutuhan Terhadap JSP •Dengan servlet –Sulit menuliskan dan merawat HTML –Tidak dapat menggunakan tool standard HTML –HTML bersifat inaccessible bagi pengembang non-java 28

Keuntungan JSP •Lebih mudah menuliskan dan merawat HTML •Dapat menggunakan tool HTML standar •Dapat mudah membagi tim pengembangan 29

Keuntungan •Keuntungan dari Java •API Berkembang •Mudah dipelajari •Komunikasi pengembangan besar •Dukungan server dan standardisasi 30

Lokasi Halaman JSP •Tak seperti servlet, halaman JSP dapat diletakkan dimanapun file HTML diletakkan, tidak harus di direktori tertentu. 31

Elemen Sripting JSP • Elemen scripting JSP memungkinkan kita menyisipkan kode Java ke dalam file JSP. • Ada 3 jenis elemen – Ekspresi – Scriptlet – Deklarasi 32

Ekspresi JSP •Ekspresi JSP digunakan untuk menyisipkan kode Java secara langsung ke dalam output. Sintaks: Contoh: Current Time: Output: Current Time: Tue Aug 22 21:05:47 IST 2006 •Ekspresi dievaluasi, dikonversi ke string dan disisipkan ke dalam halaman. 33

Variabel Predefined • Agar ekspresi sederhana, JSP menyediakan sejumlah variabel predefined (obyek impllisit). – request – HttpServletRequest – response – HttpServletResponse – session – HttpSession – out – Writer (versi ber-buffer dari tipe JspWriter) – application – ServletContext – config – ServletConfig – pageContext – memberikan titik akses tunggal ke atribut halaman – page – sinonim bagi “this” 34

Scriptlet JSP • Penanganan sesuatu yanglebih sekedar meng- output-kan nilai dari ekspresi sederhana. • Memungkinkan programmer menyisipkan kode tertentu ke dalam metode servlets _jspService. Sintaks: Contoh: <% String str = request.getParameter(“name”); out.print(“Name : ”+str); %> 35

Deklarasi JSP • Deklarasi JSP memungkinkan programmer mendefiisikan metode atau field yang dapat disisipkan ke dalam main body dari servlet yang dibangkitkan (diluar metode _jspService()) Sintaks: Contoh: <%! private String getMessage(){ return “This is a simple message!!”; } %> 36

Sintaks XML •Sintaks mirip XML bagi ekspresi, scriptlet dan deklarasi JSP – … •Didukung oleh JSP versi 1.2 ke atas •Bersifat case sensitive, sebaiknya lowercase 37

Direktif JSP • Direktif JSP mempengaruhi struktur keseluruhan dari servlet yang dihasilkan dari halaman JSP. • Direktif JSP berbentuk: – • Ada tiga jenis: – page, include & taglib 38

Direktif Page JSP • Direktif Page mengontrol struktur dari servlet dengan mengimpor kelas-kelas, meng-custom superclass, mengubah tipe content, dll. • Direktif Page JSP mempunyai atribut : – import, contentType, pageEncoding, session, isELIgnored, buffer, autoFlush, info, errorPage, isThreadSafe, language & extends 39

Atribut Direktif Page JSP • import=“java.util.*, java.sql.*” • contentType=“text/html; charset=ISO ” • pageEncoding=“Shift_JIS” • session=“true/false” • isELIgnored=“false/true” • buffer=“size in kb” • autoFlush=“true/false” • info=“Some info message.” • errorPage=“error.jsp” • isErrorPage=“false/true” • isThreadSafe=“true/false” • language=“java” • extends=“package.class” 40

Menyertakan File • Ada tiga cara menyertakan file eksternal ke dalam dokumen JSP. – … – – … 41

Aksi jsp:include • Ini menyertakan output dari halaman sekunder pada waktu halaman utama direquest. • Output dari sub-halaman harus berupa HTML yang dibangkitkan oleh servlet atau JSP. 42

Direktif Include • Direktif ini digunakan untuk menyertakan suatu file ke dalam JSP utama pada waktu translasi ke dalam servlet. • Kode dari file yang disertakan ditambahkan ke dokumen JSP. 43

Meneruskan Request • Aksi ini digunakan untuk mendapatkan output file JSP secara lengkap dari JSP lain atau servlet. • Output dari JSP atau servlet pelengkat dikirimkan ke client, bukan bagian dari JSP terkini. 44

Aksi jsp:plugin • Digunakan untuk menempelkan applet Java ke dalam output yang dibangkitkan. • Applet Java jarang digunakan di web saat ini. <jsp:plugin type=“applet” code=“MyApplet.class” width=“400” height=“300”> 45

JAVA BEANS 46

Java Beans? • Apa itu Beans? • Beans adalah obyek Java standar. – Harus ada konstruktur nol argumen. – Sebaiknya tidak ada field public. – Nilai-nilai diakses melalui pemanggilan metode, getXxx, setXxx & isXxx. 47

Java Bean (Contoh) public class Person { private int age; private Stringname; … … … public void setAge(int age){ this.age = age; } public void setName(String name){ this.name = name; } public int getAge(){ return this.age; } public String getName(){ return this.name; } … … … } 48

Java Beans & JSP • Ada tiga konstruksi utama untuk menggunakan Java Beans dalam JSP. – 49

jsp:useBean • Digunakan untuk memuat beans yang akan digunakan dalam dokumen JSP. Sintaks: Contoh: Sama dengan: 50

Mendapatkan Properti bean • Digunakan untuk membaca properti dari beans. Sintaks: Contoh: Sama dengan: 51

Menseting Properti bean • Digunakan untuk mengatur nilai dari properti beans. Sintak: Contoh: Sama dengan: 52

Parameter Property & Request • Nilai dari properti bean dapat diset secara langsung dari nilai parameter request yang berkaitan. Sintaks: Contoh: 53

Bagi-pakai Beans (lingkup) • Lingkup dari suatu bean mendefinisikan dimana bean tersebut disimpan dan bagaimana dapat diakses. Secara default, accessiblenya adalah variabel lokal. Tempat lain penyimpanan bean adalah request, session dan aplikasi (application). Sintaks: Lingkup: page, request, session & application 54

Lingkup Page • Lingkup default dari suatu bean. Bean diikat ke variabel lokal dalam metode _jspService dan juga diletakkan dalam variabel predefined pageContext, dapat dikases dengan pemanggilan metode getAttribute(). Sintaks: 55

Lingkup Request • Bean juga ditempatkan di dalam obyek the HttpServletRequest (request) selama masa request aktif. • Dapat diakses dengan metode getAttribute(). Sintaks: 56

Lingkup Session • Bean juga diletakkan di dalam obyek HttpSession (session). • Dapat diakses dengan metode getAttribute(). Sintaks: 57

Lingkup Application • Bean juga diletakkan di dalam obyek ServletContext (application). Context dari servlet dishare oleh semua servlet dan JSP dalam aplikasi web. • Dapat diakses dengan metode getAttribute(). Sintaks: 58

Rangkuman •Servlet dan JSP digunakan untuk membangun aplikasi web (server side scripting) •Servlet: HTML dalam kode Java •JSP: Kode Java dalam HTML •Javabeans merupakan obyek standar yang terstruktur untuk memudahkan pengembangan aplikasi berbasis Java 59

Referensi •Bacaan Utama –Java Servlet Tutorial • fcs/doc/Servlets.htmlhttp://java.sun.com/j2ee/tutorial/1_3- fcs/doc/Servlets.html –Java Server Pages Tutorial • fcs/doc/JSPIntro.htmlhttp://java.sun.com/j2ee/tutorial/1_3- fcs/doc/JSPIntro.html –Java Beans Tutorial • fcs/doc/JSPBeans.html 60

Tools •Apache Tomcat – •Eclipse – •Eclipse Web Tools – 61

Pertanyaan? 62