Oleh : Reza Ervani
Rujukan : jenkov.com
بسم الله الرحمن الرحيم
Class RequestDispatcher
memperkenankan kita untuk memanggil servlet yang lain dari dalam servlet yang lain. Servlet yang lain tersebut dipanggil selayaknya jika request HTTP dikirim oleh sebuah browser.
Kita dapat menggunakan RequestDispatcher
dari objek HttpServletRequest
seperti ini :
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { RequestDispatcher requestDispatcher = request.getRequestDispatcher("/anotherURL.simple"); }
Kode diatas menggunakan sebuah RequestDispatcher
yang menargetkan Servlet apapun (atau JSP_ yang dipetakan ke URL/anotherUrl.simple
.
Kita dapat memanggil RequestDispatcher
menggunakan metode include()
atau forward():
requestDispatcher.forward(request, response); requestDispatcher.include(request, response);
Dengan memanggil menggunakan metode include()
atau forward()
kontainer servlet mengaktifkan Servlet apapun yang dipetakan ke URL RequestDispatcher
.
Servlet yang diaktifkan memiliki akses ke request yang sama dengan servlet yang memanggilnya, dan akan menulis ke respon yang sama dengan servlet yang sudah ada. Dengan cara itu kita dapat menggabungkan output dari servlet-servlet tersebut ke dalam suatu respon tunggal.
Ada perbedaan kecil antara metode forward()
dan include()
Metode forward()
cenderung digunakan dalam melakukan forwarding request, yang berarti setelah respon pemanggilan servlet dilakukan. Kita tidak dapat menggabungkan respon output menggunakan metode ini.
Metode include()
menggabungkan respon yang ditulis oleh servlet pemanggil dan servlet yang diaktifkan. Dengan cara ini kita dapat mencapai “server side includes” menggunakan include()
.
Leave a Reply