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> <servlet-name>hello</servlet-name> <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 Atau
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.
Test; Aktifkan Tomcat Panggil alamat berikut dengan Web browser: http://localhost:8080/risanuri/form.html
Tekan Submit
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
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
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
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
<%@ 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
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
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:hellojsp06.jsp
Nama file:hellojsp09.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 users name ke dalam session, dan me-link ke halaman lain: NextPage.jsp
<HTML> <BODY> Hello, <%= session.getAttribute( "theName" ) %> </BODY> </HTML>