Contoh penggunaan RequestDispatcher pada MVC
pada prinsipnya, MVC (Model View Controller) adalah pemisahan antara presentation layer dan logical layer, layer View cuma sebagai tampilan saja, dan syntax, logika, semua ada dalam Model dan controller menjalankannya, berikut contohnya :
———————————————————————
Misalkan kita punya file input panjang dan lebar persegi panjang :
———————————————————————
<form action=”/servlet/input/” method=”Post”>
<!–alamat input menunjukkan alamat kelas servlet kita disimpan–>
<table border=0>
<tr>
<td>Panjang</td>
<td><input type=”text” name=”panjang”></td>
</tr>
<tr>
<td>Lebar</td>
<td><input type=”text” name=”lebar”></td>
</tr>
<tr>
<td></td>
<td><input type=”submit” value=”input”></td>
</tr>
</table>
</form>
———————————————————————–
Sekarang kita buat Modelnya (javabeans)
———————————————————————–
//simpan di dalam folder web-inf/classes/wordpress
package wordpress;
public class modelnya{
int panjang,lebar;
public void setpanjang(int panjang){
this.panjang=panjang;
}
public void setlebar(int lebar){
this.lebar=lebar;
}
public int getpanjang(){return panjang;}
public int getlebar(){return lebar;}
public int getluaspp(){return panjang*lebar;}
}
//compile………………
————————————————————————-
Sekarang kita buat controller-nya, kita simpan di web-inf/classes/
————————————————————————-
import wordpress.modelnya;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class input extends HttpServlet{
public void doPost(HttpServletRequest request,HttpServletResponse response)
throws ServletException,IOException{
//instansiasi kelas modelnya
modelnya m=new modelnya();
//ambil atribute
int panjang=Integer.parseInt(request.getParameter(“panjang”));
int lebar=Integer.parseInt(request.getParameter(“lebar”));
//pasang atribute
m.setpanjang(panjang); m.setlebar(lebar);
//isi atribute
request.setAttribute(“panjang”,m.getpanjang());
request.setAttribute(“lebar”,m.getlebar());
request.setAttribute(“luas”,m.getluaspp());
RequestDispatcher disp=request.getRequestDispatcher(“/tampil.jsp”);
disp.forward(request,response);
}}
//Compile…..
————————————————————-
Sekarang kita buat viewnya,
————————————————————-
//tampil.jsp
Panjang = ${panjang}
Lebar = ${lebar}
Luas persegi panjang = ${luas}
bagaimana meletakan file2 di atas dalam netbean 6.1
di Source Packages, buat package dan file2 di dalam package yang telah dibuat.
Nice post buat yang pertama-tama belajar MVC.
Bang saya baru belajar servlet. saya ada kendala, begini ceritanya: saya punya project yg pake database, satu file berfungsi sebagai untuk ngeliat database dan melakukan perintah hapus, satunya lagi tempat syntax untk menghapus. nah pertanyaan saya: kenapa sewaktu saya pake requestdispatcher untuk menghapus satu nama dari database harus dilakukan dua kali(supaya bisa terhapus), sedangkan pada sebelumnya tanpa requestdispatcher bisa satu kali.trims.
sebaiknya eksekusi dulu perintah hapus, baru jalankan perintah RequestDispatcher, pastikan data benar-benar terhapus, berikan return value pada saat eksekusi perintah hapus, setelah data benar-benar terhapus, baru kita RequestDispatcher.