Servlets dan JSP Oleh Risanuri Hidayat.

Slides:



Advertisements
Presentasi serupa
EXCEPTION HANDLING.
Advertisements

Mendapatkan Input dari Keyboard
Try, Catch, Finally Throws
Cookie & Session Pemrograman Internet Basis Java
Web Engineering 2010 Pertemuan ke-10 Teknologi Aplikasi Web III (Servlet, JSP, Javabeans) Husni Husni.trunojoyo.ac.id Komputasi.wordpress.com.
BAHASA PEMROGRAMAN JAVA
Pemrograman Internet Basis Java
Pengembangan Web Pertemuan 2 HTML Basic (Text Formating, Link & Frame)
Java Progamming Operasi I/O
Pemrograman Berorientasi Objek
MATA KULIAH :DESAIN WEB
KONSEP PEMROGRAMAN WEB
Praktikum Bahasa Pemrograman
Komponen Class Item (2) As’ad Djamalilleil
LAYANAN BERBASIS APLIKASI WEB Pertemuan I Budi Arifitama.
Struktur Kode Aplikasi Java (2) As’ad Djamalilleil
Workshop SCS: Java Game Programming
SERVLETS Risanuri Hidayat.
• Daftar Objek Implisit • Variabel Request • Variabel Response
Pemrograman Internet Basis Java
Flow Control & Exception Handling
Konsep Pemrograman Web
Inheritance Ery Setiyawan Jullev A.
Praktikum OOP Pengenalan Java Nana Ramadijanti Laboratorium Computer Vision Politeknik Elekltronika Negeri Surabaya PENS-ITS 2009.
PENGENALAN JAVA SCRIPT PEMROGRAMAN INTERNET1-6/LINDA SUVI RAHMAWATI STMIK PPKIA Pradnya STMIK PPKIA PRADNYA PARAMITA /LINDA SUVI RAHMAWATI.
MATA KULIAH : PEMROGRAMAN 3 JAVA PROGRAMMING (JSE)
FORM PADA WEB WEB 1 KELAS X.
Mendapatkan input dari keyboard
Mendapatkan Input dari Keyboard
Struktur Kode Aplikasi Java (1)
- PERTEMUAN 9 - BERBAGAI KELAS UTILITAS DI JAVA
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
Praktikum Java Script.
Pengenalan JAVA dan Pemrograman Berorientasi Objek
- PERTEMUAN 8- NETWORK PBO. Pengantar Java mengijinkan anda untuk mempermudah mengembangkan aplikasi yang mengerjakan berbagai pekerjaan melalui jaringan.
Exceptional Pendahuluan Bugs dan error dalam sebuah program sangat sering muncul meskipun program tersebut dibuat oleh programmer berkemampuan tinggi.
Do you remember this?.  Strategy  Concrete Strategy  Context  Client Strategy Pattern consists of..
- PERTEMUAN 4- EXCEPTION
Dasar-dasar Pemrograman PHP
Try, Catch, Finally Throws
Penanganan Eksepsi.
Pemrogaman Web PHP.
Applet Setelah mengikuti mata kuliah ini mahasiswa dapat membuat applet sederhana.
APPLET.
Pertemuan 1 Khairul Anwar Hafizd
PERTEMUAN 9 DAN 10.
Lutfi Budi Ilmawan Univ. Muslim Indonesia
Pemrograman PHP Lanjut
Input/output dan Kelas File
Mendapatkan input dari keyboard
Tipe Data, Variabel, dan Operator
PEMROGRAMAN DASAR DI JAVA
PERTEMUAN KE 1 PENGENALAN J2EE BY : TITO SUGIHARTO
PEMROGRAMAN BERORIENTASI OBJEK
Tipe Data, Variabel, dan Operator
S. Indriani Lestariningati, M.T
Dasar Bahasa Java.
PIBJ (PEMROGRAMAN INTERNET BERBASIS JAVA)
PIBJ (PEMROGRAMAN INTERNET BERBASIS JAVA)
PIBJ (PEMROGRAMAN INTERNET BERBASIS JAVA)
PIBJ (PEMROGRAMAN INTERNET BERBASIS JAVA)
JSF Java Server Faces.
Mendapatkan input dari keyboard
ALGORITMA DAN BAHASA PEMROGRAMAN JAVA
Tipe Data, Variabel, dan Operator
PEMROGRAMAN BERORIENTASI OBJEK
Java Dasar Tanpa JBuilder
Transcript presentasi:

Servlets dan JSP Oleh Risanuri Hidayat

Memanfaatkan web.xml <?xml version="1.0" encoding="ISO-8859-1"?> <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">   <web-app> <servlet> <servlet-name>hello</servlet-name> <servlet-class>helloservlet.HelloServlet</servlet-class> </servlet> <servlet-mapping> <url-pattern>/hellourl</url-pattern> </servlet-mapping> </web-app>

Memanfaatkan web.xml Cara memanggilnya http://localhost:8080/risanuri/servlet/hello Atau http://localhost:8080/risanuri/ hellourl http://localhost:8080/risanuri/servlet/helloservlet.HelloServlet

Memanfaatkan web.xml Jika test di atas tidak berhasil, kemungkinan kesalahan yang terjadi adalah Salah ketik ketika menulis file web.xml Salah meletakkan file web.xml Jika anda memakai Jbuilder 4.0 sebagai Java editor/compiler-nya, bisa secara otomatis dibangkitkan web.xml-nya. Tetapi file ini memakai nama WEB.XML (bukan web.xml). Karena file XML bersifat CASE sensitive, maka sebelum bisa digunakan gantilah namanya menjadi web.xml (dengan huruf kecil). Demikian juga dengan file-file *.class-nya, akan terletak di subdirectory ..\CLASSES (bukan classes). Ini juga harus diubah, menjadi ..\classes.

Servlets dan HTML Kombinasi antara Servlets dan HTML HTML digunakan sebagai halaman Web Servlets digunakan untuk program aplikasi Di dalam HTML terdapat link/action yang akan menghubungkan ke Servlets Servlets menerima perintah dan parameter-parameter melalui Httprequest Servlets mengeksekusi aplikasi dan menampilkan hasilnya, melalui Httpresponse

Servlets dan HTML Contoh: Akan dibuat HTML dan Servlets. HTML memasukkan form, yang akan ditampilkan kembali melalui servlets. Kita buat file HTML (contoh file: Form.html) Letakkan Form.html ke subdirektori ..webapps\risanuri Buat program Servlets (contoh nama file java: HelloSayangServlet01.java, dalam package: servlet03) Compile file Java sehingga menjadi file class: HelloSayangServlet01.class

Servlets dan HTML Letakkan dan atur file-file dengan susunan sebagai berikut: ..\risanuri\form.html \WEB-INF\web.xml \classes\servlet03\HelloSayangServlet01.class Test; Aktifkan Tomcat Panggil alamat berikut dengan Web browser: http://localhost:8080/risanuri/form.html

Servlets dan HTML Tekan Submit

Servlets dan HTML Hasilnya seperti ini

Servlets dan HTML Nama file : Form.html <html> <head> <title>HTML dan Servlets</title> </head> <body bgcolor="#ffffc0"> <form action="http://localhost/risanuri/servlet/servlet03.HelloSayangServlet01" method="post"> <p>Input <input type="text" name="param0"></p> <p>Tekan Submit untuk memanggil servlet03.HelloSayangServlet01 metode post</p> <p><input type="submit" name="Submit" value="Submit"> <input type="reset" value="Reset"></p> </form> </body> </html> Nama file : Form.html

Servlets dan HTML package servlet03; import javax.servlet.*; import javax.servlet.http.*; import java.io.*; import java.util.*; public class HelloSayangServlet01 extends HttpServlet { private static final String CONTENT_TYPE = "text/html"; /**Initialize global variables*/ public void init() throws ServletException { } Nama file Java : HelloSayangServlet01.java

Servlets dan HTML /**Process the HTTP Post request*/ public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String var0 = ""; try { var0 = request.getParameter("param0"); } catch(Exception e) { e.printStackTrace(); Nama file Java : HelloSayangServlet01.java

Servlets dan HTML Nama file Java : HelloSayangServlet01.java response.setContentType(CONTENT_TYPE); PrintWriter out = response.getWriter(); out.println("<html>"); out.println("<head><title>HelloSayangServlet01</title></head>"); out.println("<body>"); out.println("<p>Hallo "+var0+"</p>"); out.println("</body></html>"); } /**Clean up resources*/ public void destroy() { Nama file Java : HelloSayangServlet01.java

JSP Setiap file *.HTML dapat dikonversi menjadi file *.JSP JSP dapat dieksekusi seperti html JSP dapat diprogram seperti Java JSP dikonversi ke servlets dahulu sebelum dikompile

JSP JSP Java file servlet kode Class file servlet

My First JSP File HTML dapat diubah ke dalam file JSP dengan mengganti ekstensi file menjadi .jsp. Dengan file JSP, kita dapat memprogram Java Contoh : hellojsp.jsp <HTML><BODY> Hallo Sayang!<br> Sekarang ini : <%= new java.util.Date() %> </BODY> </HTML> Simbol/Karakter <%= serta %> untuk menyatakan ekspresi Java di dalamnya Hal ini memungkinkan kita untuk membuat halaman Web dinamis

My First JSP Buat subdirektori baru di dalam $CATALINA_HOME yang sejajar dengan ROOT, misalnya subdirektori myjsp, $CATALINA_HOME/webapps/myjsp (atau C:\Program Files\Apache Tomcat 4.0\webapps\myjsp) Letakkan file Jsp001.jsp di subdirectory myjsp Buat subdirektori baru di dalam myjsp, yang diberi nama WEB-INF. Letakkan file web.xml ke dalam WEB-INF (web.xml masih kosong, copy saja dari ROOT) Test; aktifkan Tomcat, panggil dengan web browser alamat berikut http://localhost:8080/myjsp/hellojsp.jsp

My First JSP

My First JSP JSP memungkinkan kita untuk menuliskan kode-kode program Java di dalamnya, yaitu di antara karakter <% dan %> (Ingat: bukan <%= di awalnya) Blok kode ini dinamakan "scriptlet". Suatu scriptlet mengandung kode Java yang akan dieksekusi setiap kali file JSP dipanggil Berikut ini modifikasi file JSP dari contoh di atas, dengan menambahkan scriptlet. <HTML> <BODY> <%    System.out.println( "Hari ini hari apa" ); java.util.Date date = new java.util.Date(); %> Hallo Sayang! Sekarang ini : <%= date %> </BODY> </HTML>

My First JSP Simpan file tersebut dengan subdirektori yang sama dengan nama : hellojsp02.jsp Dengan Tomcat yang aktif, panggil alamat http://localhost/myjsp/hellojsp02.jsp Catatan : Di dalam scriptlet tidak bisa diselingi dengan kode-kode html biasa. Semua kode harus dalam kode Java

My First JSP "System.out.println" tidak akan tertampil dalam halaman html, tetapi di server log. Kita perlu cara lain untuk menampilkan tulisan di halaman web Scriplet menggunakan variabel "out" untuk keluaran di HTML.  Variabel ini tidak perlu dideklarasikan dahulu karena sudah terdeklarasikan

My First JSP <HTML> <BODY> <% // Nama file : hellojsp03.jsp java.util.Date date = new java.util.Date(); %> Hallo Sayang! Sekarang ini : out.println(date); </BODY> </HTML> <HTML> <BODY> <% // Nama file : hellojsp04.jsp java.util.Date date = new java.util.Date(); out.println("Hallo Sayang ! Sekarang ini :"); out.println(String.valueOf(date)); out.println("<br>Alamat PC-mu adalah"); out.println(request.getRemoteHost()); %> </BODY> </HTML>

My First JSP

JSP Directive Seperti pada Program Java biasa, kita menggunakan statement "import" dalam JSP Syntax-nya agak berbeda, tapi masih tetap sederhana Contoh: <%@ page import="java.util.*" %> <HTML> <BODY> <%     // Nama file : hellojsp05.jsp     Date date = new Date(); out.println(” Hallo Sayang!  Sekarang ini : ”); out.println(date); %> </BODY> </HTML>

Page Directive Baris pertama yang diawali dengan <%@ disebut "directive".  Suatu directive JSP selalu diawali dengan kode karakter <%@ Baris pertama pada contoh di atas disebut dengan "page directive". Suatu page directive dapat mengandung semua package import. Untuk mengimport lebih dari satu, dipisah dengan tanda koma (,) <%@ page import="java.util.*, java.text.*” %> Ada sejumlah directive yang lain pada JSP, yang paling sering terpakai adalah include dan taglib

Include directive Include directive digunakan untuk memanggil file yang lain. File yang dipanggil bisa berupa file HTML atau JSP atau yang lain. File terpanggil harus bisa dieksekusi oleh JSP, dalam format standart JSP <HTML> <BODY> Akan memanggil "hellojsp.jsp"...<br><br> <%@ include file="hellojsp.jsp" %> </BODY> </HTML> Lihat hasilnya di web browser, kita akan lihat hasilnya seperti pada hellojsp.jsp Nama File: hellojsp06.jsp

Include directive

JSP Declarations Kode-kode Java di dalam scriptlets akan menjadi class. Kode-kode ini terletak di dalam satu metode pada class tersebut Variabel dan metode lain bisa ditambahkan di dalam scriptlets. Pendeklarasian suatu metode atau variabel, harus terletak di dalam simbol karakter <%! dan %> Contoh

JSP Declarations Nama File:hellojsp07.jsp Nama File:hellojsp08.jsp <%@ page import="java.util.*" %> <HTML> <BODY> <%!     Date theDate = new Date();     Date getDate()    {         System.out.println( ”Metode getDate()" ); out.println(”metode geDate()”);         return theDate;     } %> Hallo Sayang! Sekarang adalah : <%= getDate() %> </BODY> </HTML> <%@ page import="java.util.*" %> <HTML> <BODY> <%! Date date = new Date(); Date getDate() { System.out.println("metode getDate()"); return date; } %> <% out.println("Hallo Sayang! Sekarang adalah : "); out.println(getDate()); </BODY> </HTML> Nama File:hellojsp07.jsp Nama File:hellojsp08.jsp

JSP Declarations http://localhost/myjsp/hellojsp07.jsp http://localhost/myjsp/hellojsp08.jsp

JSP Tags <some:tag>body</some:tag> JSP tag dimulai dengan karakter < (bukan <%) JSP tag tampak seperti HTML tag, mempunyai start tag, body tag, dan end tag. Baik start tag dan end tag harus ada nama tag-nya, dan terletak di dalam karakter < dan > End tag dimulai dengan karakter </ Nama tag diberikan setelah karakter pembuka (<), setelah itu disisipkan karakter : <some:tag>body</some:tag> Jika suatu tag tidak punya body, maka boleh digabung. Penutupan tag dengan karakter /> <some:tag/>

JSP Tags Nama file:hellojsp09.jsp Nama file:hellojsp06.jsp Ada dua tipe tag, yaitu: pemanggilan library luar dan predefined tag Predefined tag dimulai dengan karakter jsp: characters.  Contoh, jsp:include adalah predefined taguntuk memanggil halaman yang lain jsp:include mirip dengan include directive.  Contoh penggunaan jsp:include (Bandingkan dengan include directive) <HTML> <BODY> Akan memanggil "hellojsp.jsp"...<br><br> <%@ include file="hellojsp.jsp" %> </BODY> </HTML> <HTML> <BODY> Akan memanggil "hellojsp.jsp"...<br><br> <jsp:include page="hellojsp.jsp"/> </BODY> </HTML> Nama file:hellojsp09.jsp Nama file:hellojsp06.jsp

JSP Tags Hasil dari : http://localhost/myjsp/hellojsp09.jsp

JSP Tags include directive (<%@ include file="hellojsp.jsp" %>) memanggil file dan menjalankannya ke dalam halaman jsp/web jsp:include memanggil file dengan berperilaku seperti request-response Perilaku yang mirip dengan "jsp:include” adalah "jsp:forward” Cobalah ganti jsp:include dengan jsp:forward , dan lihat hasilnya. Kedua predefined tags ini sering sangat berguna di dalam halaman jsp

JSP Sessions ”session” sangat berguna untuk mendata client yang masuk Session adalah object yang berhubungan dengan suatu client. Data dapat diletakkan di session dan diambil dari session itu Contoh : getname.html <HTML> <BODY> <FORM METHOD=POST ACTION="SaveName.jsp"> Masukkan Nama-mu ? <INPUT TYPE=TEXT NAME=username SIZE=20> <P><INPUT TYPE=SUBMIT> </FORM> </BODY> </HTML>

JSP Sessions Target form adalah "SaveName.jsp", yang akan menyimpan user's name-nya ke dalam session.  SaveName.jsp <%    String name = request.getParameter( "username" );    session.setAttribute( "theName", name ); %> <HTML> <BODY><A HREF="NextPage.jsp">Continue</A> </BODY> </HTML>

JSP Sessions SaveName.jsp menyimpan user’s name ke dalam session, dan me-link ke halaman lain: NextPage.jsp <HTML> <BODY> Hello, <%= session.getAttribute( "theName" ) %> </BODY> </HTML> NextPage.jsp memanggil nama yang tersimpan

Beans dan Form processing Form merupakan metode yang sangat sering dipakai untuk interaksi di dalam web site. Dengan JSP kita mudah membuat Form processing ini Untuk menghandle Form di dalam JSP, kita mendefinisikan suatu "bean". Kita perlu mendefinisikan suatu class yang menghubungkan ke setiap field dalam form. Class harus punya setters dengan nama yang sesuai dengan nama di form

Beans dan Form processing <form method="post"> <br>Masukkan String : <input name="sample"> <input type="submit" name="Submit" value="Submit"> <input type="reset" value="Reset"> <br> <br><br> String yang anda masukkan adalah :<jsp:getProperty name="Jsp001BeanId" property="sample" /> </form> </body> </html> <html> <head> <title> Jsp001 </title> </head> <jsp:useBean id="Jsp001BeanId" scope="session" class="jsp01.Jsp001Bean" /> <jsp:setProperty name="Jsp001BeanId" property="*" /> <body> <h1> JSP Pertama-ku </h1> Nama File :Jsp001.jsp

Beans dan Form processing Buat subdirektori baru di dalam $CATALINA_HOME yang sejajar dengan ROOT, misalnya subdirektori myjsp, sehingga akan terlihat sebagai berikut $CATALINA_HOME/webapps/myjsp (atau C:\Program Files\Apache Tomcat 4.0\webapps\myjsp) Letakkan file Jsp001.jsp di subdirectory myjsp

Beans dan Form processing Buat subdirektori baru di dalam myjsp, yang diberi nama WEB-INF. Letakkan file web.xml ke dalam WEB-INF   <?xml version="1.0" encoding="ISO-8859-1"?> <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd"> <web-app> </web-app>

Beans dan Form processing Buat program java dengan nama class dan package seperti berikut: package jsp01; public class Jsp001Bean { private String sample = "Start value"; /**Access sample property*/ public String getSample() { return sample; } public void setSample(String newValue) { if (newValue!=null) { sample = newValue;

Beans dan Form processing Compile Jsp001Bean.java Kita letakkan Jsp001Bean.class di : ..\myjsp\WEB-INF\classes\jsp01\ Jsp001Bean.class Susunan file menjadi sebagai berikut: ..\myjsp\Jsp001.jsp \WEB-INF\web.xml \classes\jsp01\Jsp001Bean.class

Beans dan Form processing Start Tomcat Dengan Web Browser ketikkan alamat: http://localhost:8080/myjsp/Jsp001.jsp