ModulJavaWeb DraftAkhir PDF
ModulJavaWeb DraftAkhir PDF
JAVA WEB
PROGRAMMING
Oleh :
Indra, S. Kom, M.T.I
Indra,S.Kom, M.T.I
2
LEMBAR PENGESAHANMODUL PRAKTIKUM
FAKULTAS TEKNOLOGI INFORMASI
UNIVERSITAS BUDI LUHUR
3
DAFTAR ISI
Halaman
Kata Pengantar ---------------------------------------------------------------------- i
Lembar Pengesahan ---------------------------------------------------------------- ii
Daftar Isi ---------------------------------------------------------------------------- ii
Pertemuan1 -------------------------------------------------------------------------- 5
Pertemuan2 -------------------------------------------------------------------------- 11
Pertemuan3 -------------------------------------------------------------------------- 17
Pertemuan4 -------------------------------------------------------------------------- 30
Pertemuan5 -------------------------------------------------------------------------- 50
Pertemuan6 -------------------------------------------------------------------------- 65
Pertemuan 7 ------------------------------------------------------------------------- 74
Pertemuan8 -------------------------------------------------------------------------- 75
Pertemuan 9 ------------------------------------------------------------------------- 76
Pertemuan 10 ----------------------------------------------------------------------- 80
Pertemuan 11 ----------------------------------------------------------------------- 82
Pertemuan 12 ----------------------------------------------------------------------- 85
Pertemuan 13 ----------------------------------------------------------------------- 90
Pertemuan 14 ----------------------------------------------------------------------- 91
Pertemuan 15 ----------------------------------------------------------------------- 96
Pertemuan 16 ----------------------------------------------------------------------- 97
4
Pertemuan 1
Pengenalan Java Web Programming, dan Konfigurasi IDE Netbeans
dengan web server Tomcat
5
Gambar : Struktur Web Application
Web Application adalah sebuah paket aplikasi yang siap di deploy
(install) ke web container. Web application terdiri dari :
Web component (Servlet, JSP, dsb).
File-file lain seperti; HTML, gambar.
Library : Driver database, JSTL, dsb.
Deployment descriptor (web.xml).
Paket aplikasi berbentuk 1 file berekstensi *.war (web archive),
setelah dideploy akan terekstrak menjadi file-file dengan struktur khusus
seperti gambar di atas.
2. MVC (Model-View-Controller)
MVC adalah model pembuatan sistem/program yang memisahkannya
menjadi Model, View, dan Controller. Contoh MVC adalah struts,
hibernate, spring, dll. Konsep MVC (model-view-controller) diciptakan
agar tanggung jawab tiap individu di dalam tim pengembang software
menjadi jelas. Konsep MVC membagi tugas sebagai berikut :
Programmer berfokus pada Controller yang mengatur DFD
(Data Flow Diagram) atau proses bisnis dari suatu aplikasi
web.
6
DBA berfokus pada model yang menyusun ERD (Entity
Relationship Diagram) dalam bentuk ORM (Object
Relationship Mapping).
Designer berfokus pada View (estetika) dari tampilan web
saja.
3. Framework
Framework adalah kerangka kerja. Framework juga dapat diartikan
sebagai kumpulan script (terutama class dan function) yang dapat
membantu developer/programmer dalam menangani berbagai masalah-
7
masalah dalam pemrograman seperti koneksi ke database, pemanggilan
variabel, file, dll sehingga developer lebih fokus dan lebih cepat
membangun aplikasi.
Bisa juga dikatakan framework sebagai modul-modul program yang
dibuat untuk memudahkan pembuatan program J2EE. Framework ini
berisi guideline bagaimana membuat program J2EE yang sudah tersusun
dengan rapi dan didalamnya sudah berisi MVC. Secara sederhana bisa
dijelaskan bahwa framework adalah kumpulan fungsi (libraries), maka
seorang programmer tidak perlu lagi membuat fungsi-fungsi (biasanya
disebut kumpulan library) dari awal, programmer tinggal memanggil
kumpulan library atau fungsi yang sudah ada didalam framework, tentunya
cara menggunakan fungsi-fungsi ini sudah ditentukan oleh framework.
Beberapa contoh fungsi-fungsi standar yang telah tersedia dalam suatu
framework adalah fungsi paging, enkripsi, email, SEO, session, security,
kalender, bahasa, manipulasi gambar, grafik, tabel bergaya zebra, validasi,
upload, captcha, proteksi terhadap XSS (XSS filtering), template,
kompresi, XML, dan lain-lain.
4. Spring
Spring atau lebih tepatnya SpringMVC adalah teknologi yang
memisahkan data, business logic, dan presentation layer. SpringMVC yang
terdiri dari IOC(Injection Of Control) atau Dependency Injection telah
membuat framework MVC dapat saling dipertukarkan. Teknologi lain
yang berkembang sebelum SpringMVC adalah Struts, WebWork,
Tapestry, JSF, dan Stripes.
Spring merupakan sebuah framework (kerangka kerja) yang
digunakan untuk membangun sebuah aplikasi Enterprise. Spring termasuk
framework yang lightweight (ringan) untuk mendukung secara penuh
dalam pengembangan aplikasi Enterprise siap pakai. Spring dapat
digunakan untuk melakukan pengaturan deklarasi manajemen transaksi,
remote access dengan menggunakan RMI atau layanan web lainnya,
fasilitas mailing, dan beragam opsi untuk pengaturan data ke database.
8
Spring juga memungkinkan kita menggunakan hanya modul-modul
tertentu sehingga kita tidak usah menggunakan semua modul spring dalam
aplikasi apabila tidak ditemukan.
Fitur-fitur dari Spring Framework :
Transaction Management : Spring framework menyediakan sebuah
layer abstrak yang generik untuk manajemen transaksi, sehingga
memudahkan para developer dalam melakukan manajemen
transaksi.
JDBC Exception Handling : Layer abstrak JDBC menawarkan
exception yang bersifat hierarki sehingga memudahkan penanganan
error.
Integration with Hibernate, JDO, and iBatis : Spring menawarkan
layanan integrasi terbaik dengan Hibernate, JDO, dan iBatas.
AOP Framework : Spring merupakan framework AOP terbaik yang
pernah ada.
MVC Framework : Spring hadir dengan framework aplikasi web
MVC, yang dibangun di atas inti Spring. Spring merupakan
framework yang sangat fleksibel dalam pengaturan strategi
interface, dan mengakomodasi beberapa teknologi view seperti
JSP, Velocity, Tiles, iText, dan POI.
9
kesatuan unit. Web archive (WAR) file merupakan sebuah package dari
web application. File WAR dapat digunakan untuk mengimpor aplikasi
web ke web server.
Selain project resources, WAR Files berisikian file descriptor dari
deployment. Web deployment descriptor adalah sebuah file XML yang
berisikan informasi deployment, tipe MIME, rincian konfigurasi session,
dan pengaturan lainnya pada aplikasi web.Web deployment descriptor file
(web.xml) memberikan informasi mengenai WAR file yang telah
dibagikan oleh para pengembang aplikasi, perakit, dan pengembang dalam
lingkungan Java EE.
10
Pertemuan 2
Dasar-dasar Servlet
1. Definisi Servlet
Servlet adalah sebuah API dalam pemrograman java yang
mempermudah para developer untuk menambahkan konten-konten
dinamis dalam sebuah web server yang mengimplementasikan platform
java. Spesifikasi Servlet dibuat oleh Sun Microsystem. Hingga 10 Mei
2006, versi dari spesifikasi Servlet sudah sampai versi 2.5.
Konten yang dihasilkan dari Servlet API ini pada umumnya berupa
HTML, tetapi tidak menutup kemungkinan untuk menghasilkan konten
XML dan konten-konten yang lain. Servlet sendiri dibuat untuk
menandingi teknologi-teknologi konten web yang dinamis lainnya seperti
PHP, CGI, ASP.NET.
Servlet API terdapat didalam javax.servlet package. Dalam sebuah
Web Server, Servlet berinteraksi dengan sebuah Web Container, dimana
Web Container ini bertanggung jawab penuh terhadap daur hidup,
pemetaan URL terhadap Servlet tertentu lainnya. Servlet sendiri
sebenarnya adalah sebuah object (dari class interface) yang menerima
request, kemudian menggenerate response berdasarkan request yang
diterima tadi. Sedangkan untuk spesifik HTTP, disediakan sub-class dari
Servlet, yaitu HttpServlet yang didalamnya terdapat juga obyek untuk
manajemen session. Sedangkan daur hidup dari sebuah Servlet sendiri ada
4 state yaitu:
a. Pada saat startup, class-class Servlet di load dalam Web
Container.Web Container kemudian memanggil method init().
Method ini yang bertugas menginisialisasi Servlet dan harus
dipanggil sebelum Servlet melayani requests. Method init() ini
hanya dipanggil sekali. Setelah method init() dipanggil, barulah
Servlet bisa melayani requests.
b. Setiap request yang masuk dilayani dan ditangani oleh thread
yang berbeda. Web Container memanggil method service()
untuk setiap reqeust yang masuk. Method ini menetukan jenis
11
request yang masuk, kemudian menentukan method mana yang
akan menghandle request tersebut.
c. State terakhir adalah ketika Web Container memanggil method
destroy(). Method ini menyerupai method init(), hanya
dipanggil sekali, dan menandakan bahwa sudah tidak ada lagi
layanan dari Servlet.
d. ServletContext hanya ada satu di setiap aplikasi, dan dapat
digunakan oleh semua Servlet yang terlibat di aplikasi tersebut.
Di sisi lain, masing-masing Servlet tadi memiliki ServletConfig
sendiri-sendiri. ServletConfig ini menyediakan inisialisasi
parameter untuk Servlet tersebut.
12
2. Servlet-centric Architecture
Pada arsitektur ini sebuah servlet bertugas untuk menerima
request dari web browser kemudian melakukan pemrosesan model
berdasarkan request tersebut. Setelah itu servlet akan meminta file
JSP untuk menangani tampilan dari data-data. Dengan arsitektur
ini kita dapat melakukan pengembangan seperti layaknya kita
melakukan pengembangan pada aplikasi Java seperti biasanya.
JSP digunakan hanya untuk memudahkan desain tampilan.
3. HttpServletRequest
HttpServletRequest adalah sebuah object yang memberikan akses
bagi segala informasi terhadap client request, termasuk apa saja
bentuk parameter value yang dapat diletakkan pada Http request
header, Http request method yang telah mereka gunakan, dan
sebagainya.
Beberapa method yang sering digunakan, yang berada di dalam
interface HttpServlerRequest :
1. getMethod()
Fungsi getMethod() adalah untuk mengambil jenis method
HTTP yang digunakan. Nilainya bisa berupa get, post, put, dll.
13
2. getRequestURI()
Fungsi getRequestURI() adalah untuk mengambil URL
yang dimulai setelah namahost:port/ sampai sebelum nama
parameter.
3. getRequestURL()
Fungsi getRequestURL() adalah untuk mengambil URL.
4. getProtocol()
Fungsi getProtocol() adalah untuk mengambil nama dan
versi protokol yang digunakan.
5. getRemoteAddr()
Fungsi getRemoteAddr() adalah untuk mengambil alamat
IP client.
6. getRemotePort()
Fungsi getRemotePort() adalah untuk mengambil nomor
port client.
7. getServerName()
Fungsi getServerName() adalah untuk mengambil nama
host dari server.
8. getServerPort()
Fungsi getServerPort() adalah untuk mengambil nomor port
server.
9. getServletPath()
Fungsi getServletPath() adalah untuk mengambil URL yang
memanggil servlet, dimulai dari karakter ‘/’.
10. getContentType()
Fungsi getContentType() adalah untuk mengambil jenis
MIME(Multipurpose Internet Mail Extension).
11. getHeaderNames()
Fungsi getHeaderNames() adalah untuk mengambil nama2
header yang berada di object request.
14
12. getHeader()
Fungsi getHeader() adalah untuk mengambil nilai dari suatu
header.
13. getParameter()
Fungsi getParameter() adalah untuk mengambil nilai
parameter yang dikirimkan oleh client ke servlet.
14. getParameterName()
Fungsi getParameterName() adalah untuk mengambil nama
dari semua parameter yang dikirimkan oleh client.
15. getParameterValues
Fungsi getParameterValues() adalah untuk mengambil nilai
dari parameter yang memiliki multiple-value (misalnya
komponen checkbox).
4. HttpServletResponse
HttpServletResponse adalah object yang terdiri dari semua method
yang dibutuhkan oleh developer untuk memproduksi sebuah response
yang akan dikirimkan kembali kepada client. Meliputi method-method
yang harus di-set pada HTTP response header, untuk mendeklarasikan
tipe MIME dari response, sebaik method yang digunakan untuk
mengambil instance dari class Java I/O yang akan kita gunakan secara
langsung untuk memproduksi output.
Beberapa method HttpServletResponse yang sering digunakan:
a. encodeRedirectURL()
Fungsi encodeRedirectURL() adalah untuk Menkodekan URL
untuk penggunaan yang terbatas dalam metode sendRedirect
atau, jika pengkodean tidak diperlukan, Mengembalikan URL
yang tidak diubah.
b. containsHeader()
Fungsi containsHeader() adalah untuk mengembalikan boolean
yang menunjukkan apakah named response header sudah di
set.
15
c. isCommited()
Fungsi isComitted() adalah untuk mengembalikan boolean
yang mengindikasikan jika response telah commited.
d. addCookie()
Fungsi addCookie() adalah untuk menambahkan spesifikasi
cookie pada response.
e. addDateHeader()
Fungsi addDateHeader() adalah untuk menambahkan response
header dengan nama dan nilai tanggal yang telah diberikan.
f. reset()
Fungsi reset() adalah untuk membersihkan semua data yang
ada pada buffer termasuk status code dan headers.
g. resetBuffer()
Fungsi resetBuffer() adalah untuk membersihkan isi konten
buffer tanpa membersihkan status code dan header.
h. sendError()
Fungsi sendError() adalah untuk mengirim error response ke
client menggunakan spesifikasi tertentu
(pertemuan 2 belum selesai pak)
16
Pertemuan 3
Response Redirecting
1. Objek RequestDispatcher
Sebuah RequestDispatcher merupakan Class JavaSW sangat penting
yang memungkinkan untuk 'including' konten dalam permintaan /
respon atau 'forwarding' permintaan / respon terhadap sumber daya.
Sebagai contoh yang khas, servletW dapat menggunakan
RequestDispatcher untuk menyertakan atau meneruskan permintaan /
respons terhadap JSPW. Dalam pemrograman Model-View-Controller
di Java, servlet biasanya berfungsi sebagai 'Controller'. Controller
pada dasarnya berisi atau referensi kode untuk melakukan tindakan
tertentu, dan memutuskan yang 'melihat' untuk mengirim pengguna
untuk. Di Java, pandangan biasanya JSP. Dengan demikian,
RequestDispatcher melakukan peran yang sangat penting dalam
arsitektur Java MVCW karena dapat berfungsi sebagai mekanisme
untuk 'pengendali' (servlet) untuk memperbolehkan pengguna untuk
'melihat' (JSP).
Pada contoh ini akan ditunjukan bagaimana RequestDispatcher
digunakan untuk memforward atau menginclude response dari servlet.
Disini kira menggunakan index.html untuk mendapatkan username
dan password dari user, Validate servlet akan memvalidasi password
yang dimasukan oleh user, jika password yang dimasukan oleh user
”mahasiswa” maka dia akan ke Welcome servlet jika tidak idex.html
akan muncul kembali.
Pertama bikin project baru :
17
Pilih Java Web > Web Application lalu pilih Next
18
Pilih Apache Tomcat sebagai server lalu klik Finish
19
Beri nama pada com.javabeans pada java package
20
Beri nama Validate pada servlet lalu klik next
Pastikan servlet name dan URL pattern(s) sesuai lalu klik Finish
21
Ubah isi dari Validate.java menjadi seperti berikut
22
Klik kanan pada com.javabeans pilih New > Servlet
23
Pastikan Servlet Name dan URL Pattern(s) sesuai klik Finish
24
Setelah di running maka hasilnya adalah sebagai berikut
25
2. Method Include
Pada inluclude() method hasil request dispatcher yang ditambahkan ke
hasil keluaran sebelumnya dihasilkan oleh servlet Validate. kita
melihat bahwa RequestDispatcher objek 'include' isi index.jsp dalam
hasil dikirim kembali ke browser. Seperti yang Anda lihat pada
Servlet Validate
26
3. Method Forward
Jika pada forward() objek RequestDispatcher 'forward' permintaan /
respon terhadap Welcome.java. Berbeda halnya dengan 'include',
method 'forward' akan membuang output sebelumnya yang Servlet
Validasi telah menulis untuk respon. Akibatnya, kita hanya melihat
output yang dihasilkan oleh Welcome.java.
27
4. Method sendRedirect
The sendRedirect () method adalah HttpServletResponse
interface dapat digunakan untuk mengarahkan respon terhadap
sumber daya lain, mungkin servlet, jsp atau file html. Method
ini menerima relatif serta URL absolut dan juga bekerja pada
sisi client karena menggunakan bar url browser untuk membuat
permintaan lain. Jadi, dapat bekerja dalam dan di luar server.
Perbedaan antara forward() method dan sendRedirect() method
Forward() sendRedirect()
Ketika kita menggunakan Dalam kasus permintaan
forward permintaan metode sendRedirect dapat
adalah transfer ke sumber daya mentransfer ke sumber daya
lain dalam server yang sama lain untuk domain yang
untuk diproses lebih lanjut. berbeda atau server yang
berbeda untuk diproses lebih
lanjut.
Dalam forward Web kontainer Bila Anda menggunakan
menangani semua proses sendRedirect transfer
internal dan client atau kontainer permintaan client
browser tidak terlibat. atau browser, sehingga url
yang diberikan dalam method
sendRedirect terlihat sebagai
permintaan baru client.
Ketika forward dipanggil pada Dalam kasus sendRedirect
requestDispather object maka permintaan lama dan object
kita akan melewati permintaan respon hilang karena itu
dan object respon sehingga diperlakukan sebagai
object permintaan lama kita permintaan baru oleh browser.
hadir pada sumber daya baru
28
yang akan memproses
permintaan kita.
29
Pertemuan 4
Cookies & Filtering
5. Send and Receive Cookies
Cookie adalah file teks yang disimpan pada komputer klien dan
mereka disimpan untuk melacak informasi berbagai tujuan. Java
Servlets secara transparan mendukung cookies HTTP.
30
public int getMaxAge()
Metode ini mengembalikan usia maksimal cookie, yang
ditentukan dalam hitungan detik, Secara default, -1 menunjukkan
cookie akan bertahan sampai browser mati.
public String getName()
Metode ini mengembalikan nama cookie. Nama tidak dapat
diubah setelah dibuat.
public void setValue(String newValue)
Metode ini menetapkan nilai yang terkait dengan cookie.
public String getValue()
Metode ini mendapat nilai yang terkait dengan cookie.
public void setPath(String uri)
Metode ini menetapkan path yang berlaku untuk cookie ini. Jika
Anda tidak menentukan path, cookie dikembalikan untuk semua
URL di direktori yang sama seperti halaman saat ini serta semua
subdirektori.
public String getPath()
Metode ini untuk mendapat path yang berlaku pada cookie ini.
public void setSecure(boolean flag)
Metode ini menetapkan nilai boolean yang menunjukkan apakah
cookie hanya boleh dikirim melalui koneksi yang terenkripsi
(yaitu SSL).
public void setComment(String purpose)
Metode ini menentukan komentar yang menggambarkan tujuan
cookie. Komentar sangat berguna jika browser menyajikan cookie
kepada pengguna.
public String getComment()
Metode ini mengembalikan komentar menggambarkan tujuan
cookie ini, atau null jika cookie tidak memiliki komentar.
31
6. Filtering
Filter adalah komponen yang terdapat pada spesifikasi servlet version
2.3 yang berfungsi untuk men-intercept request dari client sebelum
mereka mengakses resource di server dan untuk memanipulasi
response dari server sebelum dikirim kembali ke client. Filter API
terdiri dari tiga interface yang terletak di javax.servlet package yaitu :
Filter Interface
Untuk membuat filter perlu untuk implement interface ini. Filter
interface menyediakan tiga method life cycle untuk filter yang
dibuat.
1) void destroy()
Metode ini dipanggil oleh container web untuk menunjukkan
ke filter bahwa ia sedang ditarik dari penggunaannya.
2) void doFilter(ServletRequest request, ServletResponse
response, FilterChain chain)
Metode ini dipanggil oleh container setiap kali sepasang
request / response dilewatkan melalui rantai disebabkan oleh
permintaan client untuk sumber daya pada akhir dari
rantaiannya.
3) void init(FilterConfig filterConfig)
Metode ini disebut oleh kontainer web untuk menunjukkan ke
filter yang sedang ditempatkan ke dalam layanan.
FilterChain Interface
Sebuah filterChain adalah obyek yang disediakan oleh kontainer
servlet untuk pengembang memberikan pandangan ke dalam
rantai request dari request yang disaring untuk sumber daya. Filter
menggunakan filterChain untuk memanggil filter berikutnya
dalam rantai tersebut, atau jika filter yang dipanggil merupakan
filter terakhir dalam rantai tersebut, maka untuk memanggil
sumber daya pada akhir rantai.
32
FilterConfig Interface
Object dari FilterConfig digunakan oleh web container untuk
mengirimkan value pada saat inisialisasi filter. FilterConfig
interface terdiri dari empat method yaitu :
1) String getFilterName()
Mengembalikan nama-filter dari filter ini sebagaimana
didefinisikan dalam descriptor deployment.
33
34
Pilih project : Java Web -> Web Application -> Klik Next
35
Klik Finish
Buka index.jsp
36
Isi index.jsp sebagai berikut
37
Lalu buat Java Package : Klik kanan Pada Source Packages pilih New
-> Java Package
38
Buat Servlet : Klik kanan Pada ServletFilter Package pilih New ->
Servlet
39
Klik Add Information to deployment descriptor lalu Klik Finish
40
Isi Register.java seperti berikut :
41
42
43
Lalu buat Filter : Klik kanan pada ServlerFilter Pilih New -> Other
44
Beri nama RegisterFilter
45
Isi Filter Mapping seperti berikut, Klik OK
46
Isi RegisterFilter serperti Gambar dibawah
47
Running program, Bila berhasil maka akan memunculkan web seperti
berikut :
48
Hasil setelah parameter dan attribut melewati Filter :
49
Pertemuan 5
Session Tracking
8. Session Tracking
HTTP adalah "stateless" protokol yang berarti setiap kali client
mengambil halaman Web, client membuka koneksi terpisah ke server
Web dan server secara otomatis tidak menyimpan catatan permintaan
client sebelumnya.
Masih ada tiga cara selain HTTPsession untuk menjaga sesi antara
client web dan web server:
Cookies :
Sebuah webserver dapat menetapkan ID sesi yang unik sebagai
cookie untuk setiap client web dan untuk permintaan berikutnya
dari client mereka dapat dikenali dengan menggunakan cookie
yang diterima.
Ini mungkin bukan cara yang efektif karena banyak browser tidak
mendukung cookie, jadi saya tidak akan merekomendasikan
untuk menggunakan prosedur ini untuk menjaga sesi.
50
URL Rewriting:
Anda dapat menambahkan beberapa data tambahan pada akhir
setiap URL yang mengidentifikasi sesi, dan server dapat
mengaitkan bahwa pengidentifikasi sesi dengan data yang telah
disimpan tentang sesi tersebut.
Misalnya, dengan http://contoh.com/page1.htm;sessionid=12345,
pengidentifikasi sesi terpasang sebagai sessionid = 12345 yang
dapat diakses di web server untuk mengidentifikasi client.
URL Rewriting adalah cara yang baik untuk mempertahankan
sesi dan bekerja untuk browser ketika mereka tidak mendukung
cookies tapi di sini kelemahan adalah bahwa Anda akan
menghasilkan setiap URL dinamis untuk menetapkan ID sesi
meskipun halaman adalah halaman HTML sederhana yang statis.
51
Metode ini mengembalikan objek terikat dengan nama tertentu
dalam sesi ini, atau null jika tidak ada objek yang terikat dengan
nama.
52
Metode ini akan menghapus objek yang terikat dengan nama
tertentu dari sesi ini.
public void setAttribute(String name, Object value)
Metode ini mengikat objek untuk sesi ini, dengan menggunakan
nama tertentu.
53
Pilih Java Web -> Web Application
54
Pilih Apache Tomcat sebagai Server
55
Isi index.jsp dengan kodingan berikut :
56
Buat file JSP baru : Kilk kanan di Web Pages -> JSP
57
Isi ShoppingCart.jsp dengan kodingan berikut
58
Buat Java Package : Klik kanan pada Source Packages pilih New-
>Java Package
59
Klik kanan pada Java Package Pilih New->Servlet
60
Centang Add information to deployment descriptor (web.xml); Klik
Finish
61
Isi ShoppingCart.java dengan kodingan berikut :
62
63
Hasil Running Project : Bila add di Klik maka akan masuk 1 item ke
dalam Shopping Cart
64
Pertemuan 6
Dasar-dasar JSP (Java Server Pages)
65
1. jdk-7-windows-i586
2. XAMPP
3. MySQL Front
4. Netbeans 7.4.1
Untuk urutan proses instalasi software sesuai urutan dari nomor
tersebut. Jadi yang diinstal pertama kali adalah JDK, lalu XAMPP,
MySQL Front dan yang terakhir adalah Netbeans 7.4.1. Ketika
menginstal netbeans ditahap pertama instalasi mohon klik tombol
”Customize” dan check list untuk mengaktifkan paket apache tomcat
untuk aktivasi web server berbasis apache tomcat.
III. Arsitektur JSP
66
2. Client
Client adalah komputer yang digunakan oleh user untuk
menampilkan aplikasi web yang dibangun dengan JSP. JSP bisa
ditampilkan pada computer client dengan operating system yang
multiplatform seperti Windows, Linux, MaC OS dan Operating
System yang lain.
3. Internet
Internet adalah sebuah media yang dapat menampilkan aplikasi
web yang kita bangun sehingga dapat dibuka di komputer client
dari berbagai benua,negara atau kota.
4. Database
Database digunakan untuk menyimpan data yang diinput dari
Form JSP. Data yang tersimpan didatabase dapat dilakukan
proses pencarian,perubahan dan penghapusan data. Data
didatabase dapat digunakan untuk kebutuhan pelaporan dari
proses bisnis yang ada dalam web tersebut.
IV. Dasar Sintak JSP
a. Deklarasi Variabel JSP
Variabel adalah tempat untuk menampung data yang akan tersimpan
dalam memori yang bisa berubah nilainya. Pada JSP bentuk
b. Ekspresi di JSP
Penulisan ekspresi di JSP dituliskan sbb:
<%= expression %>
Contoh:
67
<p>
Tgl Sekarang:
<%= (new java.util.Date()).toLocaleString()%>
</p>
c. Komentar di JSP
Komentar di JSP memiliki dua kegunaan. Kegunaan yang pertama
digunakan untuk membuat suatu keterangan dari suatu coding yang
dibuat. Kegunaan kedua untuk menonaktifkan sintak JSP sehingga
jika dicompile maka baris yang diberikan komentar tersebut tidak
dibaca sebagai perintah program.
Bentuk Penulisan dari komentar JSP sebagai berikut:
<%--
Ini merupakan contoh dari komentar
--%>
d. JSP Directives
JSP Directives berpengaruh terhadap struktur dari class Servlet.
Tiga tipe dari Directives adalah:
Directive Deskripsi
<%@page...%> Mendefinisikan atribut page seperti scripting
language, error page dan buffering requirements
<%@ include...%> Memanggil file lain selama fase translasi
<%@ taglib...%> Mendeklarasikan tag library, berisi proses action
yang digunakan dalam page
68
e. JSP Actions
JSP Action digunakan untuk memproses setiap event atau aksi yang
ada di JSP. JSP Action terdiri dari 3 komponen yakni:
1. <jsp: include> Action
<jsp:include> digunakan untuk memanggil file jsp kedalam file
jsp lain. Sebagai contoh: digunakan dalam pembuatan template
yang mengintegrasikan beberapa Form kedalam template utama
jika dipanggil dari menu di template utama. untuk lebih
jelasnya lihat penggalan program dibawah ini:
69
Sintak forward1.jsp
Forward2.jsp
70
Detail Sintak forward2.jsp
3. <jsp:useBean> Action
Untuk memanipulasi objek di java. Pada semester ini belum
diajarkan.
f. JSP Implicit Object
Implicit Object adalah konsep bagaimana menyediakan akses ke
servlet dari jsp. Objek Implicit (Implicit Object) memiliki 4
komponen yaitu:
1. Application
menyediakan kontainer dalam jsp
2. Page
Untuk pengolahan,pencetakan, penanganan error dalam page
dengan sintak : out, response, config, exception.
3. request
Untuk menangani request dari inputan client.
4. Session
71
Objek yang menyediakan informasi dari client jika session
tersebut dibuat. Biasanya digunakan untuk proses Login
sebelum masuk ke web site.
Contoh dari Objek Implicit dapat dilihat pada penggalan program
dibawah ini:
72
Bentuk IF..Else IF..Else..
Bentuk ini digunakan untuk menyelesaikan suatu permasalahan, jika
terdapat lebih dari satu kondisi. contoh dari penggunaannya sbb:
<%! int nilai = 80; %>
<html>
<head><title>Contoh IF..ELSE IF..ELSE ..</title></head>
<body>
<% if ( nilai > 84 ) { %>
<p> Grade Anda A</p>
<% } else if(nilai > 74 ) { %>
<p> Grade Anda B </p>
<% } else{
<p> Grade Anda Kurang Sekali </p>
} %>
</body>
</html>
73
Pertemuan 7
Pra UTS
Pada pertemuan ini digunakan untuk mereview dari
pembahasan materi sebelumnya. Review dengan garis besar lebih
ditekankan pada pembahasan konsep dasar Servlet dan JSP. Untuk
mereview mahasiswa diberikan tugas tambahan untuk melihat sampai
sejauh mana pemahaman mahasiswa tentang konsep Servlet dan JSP.
Untuk tugasnya adalah mahasiswa dapat membuat program seperti pada
gambar dibawah ini:
1. Tugas JSP
Mahasiswa membuat Form seperti pada gambar diatas dan
outputnya. setelah diklik tombol simpan maka tampilkan NIP,Nama,
Pendidikan dan Alamat sesuai data yang diinput dengan konsep JSP.
2. Tugas Servlet
Mahasiswa membuat Form seperti pada gambar diatas dan
outputnya. setelah diklik tombol simpan maka tampilkan
NIP,Nama, Pendidikan dan Alamat sesuai data yang diinput
dengan konsep Servlet dengan menggunakan konsep Response
redirection dan Session Tracking.
74
Pertemuan 8
Ujian Tengah Semester
Pada pembahasan ini mahasiswa dibagi dalam kelompok dengan jumlah
anggota minimal dan maksimal 3 orang. Tiap kelompok diharapkan dapat
membuat program dengan konsep dasar JSP dan servlet dengan studi
kasus:
1. Web Kuliner
2. Web Pemesanan Tiket (Web Kereta Api)
3. Web Penjualan (Web Jual Beli Bunga, Buku, dll)
Target dari studi kasus tersebut adalah mahasiswa dapat membuat Satu
Form dengan data yang diinput dapat ditampilkan dengan logika dan
pengembangan serta kreasi dari sesuai studi kasus ditiap kelompok.
75
Pertemuan 9
PembuatanTemplate
76
3. Script Template Kerangka Utama
Script ini dibuat pada file index.jsp
77
5. Script Integrasi template (Dengan <jsp:include>)
Script ini diterapkan diantara <div id=”right”> pada file index.jsp.
Untuk lebih jelasnya lihat pada gambar dibawah ini:
78
7. Sintak Form Login.jsp
79
Pertemuan 10
Pembuatan Template Tingkat Lanjut
pada coding diatas adalah untuk pengolahan dari inputan form registrasi
dengan parameter yang bernama ”proses”. Untuk menampilkan inputan
dari Form Registrasi.jsp akan ditampilkan dalam file pengolahan dengan
nama simpanpemesanan.jsp. Didalam file simpanpemesanan.jsp akan
menampung dari setiap inputan dengan penggalan sintak sebagai berikut:
80
Tahap berikutnya tinggal pengembangan dari tiap mahasiswa untuk
mengembangkan konsep template ini dalam studi kasus masing-masing.
81
Pertemuan 11
Konsep Pembuatan Login di JSP
Form Login akan dibuat pada file index.jsp, jika login true maka akan
diarakahkan ke Form.jsp. tetapi, jika Login gagal maka akan
diarahkan kembali ke halaman login yaitu index.jsp.
2. Buat Project dan Form Login
a. Buat project dengan nama ”SessionJavaWeb”
b. Modifikasi index.jsp sehingga menjadi sebagai berikut:
3. Script Index.jsp
82
4. Pengolahan Session
pengolahan login dengan konsep Session pada class Servlet dengan
nama file ”OlahLogin.java”. modifikasi sintak pada processRequest()
sehingga hasil akhir sebagai berikut:
83
84
Pertemuan 12
Aplikasi Untuk Menyimpan,Merubah dan Menghapus Data ke
Database MySQL
85
3. Buat class Koneksi.java pada package jdbc dengan sintak sbb:
pada tahapan ini pastikan libray mysql JDBC Driver sudah diadd pada
folder libraries diproject netbeans anda. Dengan klik kanan “Libraries
” pilih add Library lalu pilih MySQL JDBC Driver.
4. Buat Class ProsesKoneksi.java . Class ini digunakan untuks mengolah
proses simpan, cari, ubah dan hapus dalam class servlet. Untuk lebih
jelasnya lihat pada script dibawah ini:
Modifikasi method processRequest pada class Servlet
a. Proses Simpan
86
b. Proses Cari/Tampil Data
87
88
c. Proses Ubah dan Hapus ke database
89
Pertemuan 13
Aplikasi Untuk ke Database Tingkat Lanjut
90
Pertemuan 14
Hosting dan Domain Java Web
91
4. You have two modes available to you within the Wizard - Basic
and Expert.
Using this mode you can create a simple environment quickly. All
you have to do is select your application server and database, and
type your desired environment name and click Create.
92
Untuk setting file .war ikuti langkah dibawah ini:
Note that the maximum available size of the uploaded local file is
93
150 MB. If your application size exceeds this limit, please use the
URL for uploading.
NOTE:
ftp://{login}:{password}@{server_name}/{path_to_file}/{M
yPackage.war}
4. You can track the progress of the package uploading in the Tasks
pane. Once the file is uploaded, it gets listed along with all your
previous packages. Once uploaded, you have access to the Deploy
and Delete options for that file.
94
5. Select your package in the list and click Deploy to drop-down
menu.
Now you can open and use your Java web application
Anda dapat menggunakan hosting jelastic ini secara Gratis pada 1 minggu
pertama, untuk selanjutnya anda dapat melakukan hosting berbayar
berbasis cloud dengan mengikuti langkah-langkah di web
http://jelastic.com tersebut.
95
Pertemuan 15
Pra UAS
96
Pertemuan 16
Ujian Akhir Semester
97
DAFTAR PUSTAKA
Bryan, et al. 2008. Head Firs Servlet and JSP Second Edition.
O’Reilly Media: USA.
Hall, Marty., Brown, Larry. ”Core Servlet and Java Server Pages
2 nd Edition”. Prentice Hall
98