Java Web - Pertemuan 3
Java Web - 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