Download - Tugas - Redirect Dan Koneksi Database Dengan JSP - OktaRiveranda

Transcript
  • 7/22/2019 Tugas - Redirect Dan Koneksi Database Dengan JSP - OktaRiveranda

    1/12

    Fungsi Redirect dan Koneksi Database dengan JSPOleh Okta Riveranda

    Halaman 1

    Fungsi Redirect dan Koneksi

    Database dengan JSP

    Oleh

    Okta Riveranda

    1257301042

  • 7/22/2019 Tugas - Redirect Dan Koneksi Database Dengan JSP - OktaRiveranda

    2/12

    Fungsi Redirect dan Koneksi Database dengan JSPOleh Okta Riveranda

    Halaman 2

    1.Definisi

    A. Redirect dengan forward() dan include()

    Merupakan Server Side Redirect, yang berarti bahwa operasi redirect yang

    terjadi dijalankan di sisi server, dan tidak ada perubahan apa apa pada

    klien/browser.

    Dapat dianalogikan dengan cerita berikut : L mengetikkan suatu URL menuju

    suatu situs dengan front-end JSP. Di beranda situs tersebut, L mengklik menu

    form yang beralamat form1.jsp. L mengisi apa apa saja yang menjadi isian dariform tersebut, setelah L mengisi, L kemudian mengklik tombol submit. Di sinilah

    peran Redirect dengan Forward. Isian tersebut ternyata masih berlanjut, sehingga

    sesaat setelah L mengklik tombol submit, L dihadapkan kepada isian baru. Ketika

    L melihat URL di browsernya, ternyata URL tidak berubah, tetap seperti sedia kala,

    yakni form1.jsp.

    B. Redirect dengan sendRedirect()

    Merupakan Client Side Redirect, yang berarti bahwa operasi redirectyang terjadi

    dijalankan di sisi client/browser, sehingga browser akan mengupdate history

    sesaat setelah perpindahan halaman.

    Kalau di cerita sebelumnya, ternyata setelah L mengklik tombol submit, maka URL

    dari halaman tersebut tidak berubah, karena ianya terjadi di server, dan bukan di

    client/browser, maka apabila situs tersebut menggunakan fungsi sendRedirect(),

    maka URL halaman tersebut akan berubah, dari form1.jsp menjadi form2.jsp.

  • 7/22/2019 Tugas - Redirect Dan Koneksi Database Dengan JSP - OktaRiveranda

    3/12

    Fungsi Redirect dan Koneksi Database dengan JSPOleh Okta Riveranda

    Halaman 3

    2.Perbedaan

    Perbedaan dari kedua metode redirect di atas dapat dijabarkan ke dalam tabel di

    bawah ini.

    forward() dan include() sendRedirect()

    Digunakan untuk mentransfer request kesumber lain yang masih berada di satuserver untuk pemrosesan lebih lanjut.

    Digunakan untuk mentrasfer request kesumber lain yang berada di domain/serverberbeda untuk pemrosesan lebih lanjut.

    Web container/web server menanganisemua request ini secara internal,sehingga browser tidak dilibatkan.

    Ketika menggunakan sendRedirect,container/server mentransfer request keklien/browser sehingga URL yangdiberikan dalam sendRedirect methodterlihat sebagai request baru oleh klien.

    Ketika method forward dipanggil padarequestDispatcher object akanmemberikan objek request dan response,sehingga request yang lama masih ada,walaupun itu adalah sumber baru yangakan memproses request kita.

    Dalam kasus sendRedirect, request danresponse lama akan dihapus, karenamethod ini diperlakukan sebagai requestbaru oleh browser.

    Secara visual, kita tidak bisa melihatalamat URL yang di-forward. Itu semuaberjalan di sisi server.

    Di browser address bar kita masih bisamelihat alamat URL baru setelah kita di-redirect.

    Metode forward() dan include() lebih cepatdaripada sendRedirect().

    SendRedirect lebih lambat karenabrowser diharuskan memproses dua buahrequest, yaitu memproses request barudan menghapus object request lama.

    Pada redirect menggunakan forward, datayang diberikan kepada sumber barudilakukan di sisi server menggunakanrequest.setAttribut().

    Tapi pada sendRedirect, jika kita inginmemberikan data baru, kita harusmenyimpannya di session ataumenambahkannya pada URL.

  • 7/22/2019 Tugas - Redirect Dan Koneksi Database Dengan JSP - OktaRiveranda

    4/12

    Fungsi Redirect dan Koneksi Database dengan JSPOleh Okta Riveranda

    Halaman 4

    3.Contoh Code

    A. forward()

    protected void processRequest(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {

    response.setContentType("text/html;charset=UTF-8");PrintWriter out = response.getWriter();

    String username = request.getParameter("username");String password = request.getParameter("password");

    try {/* TODO output your page here. You may use following sample code. */out.println("");out.println("");out.println("");out.println("Servlet login");out.println("");out.println("");if((username.equals("okta")) && (password.equals("admin"))){

    request.getRequestDispatcher("berhasil.jsp").forward(request, response);

    } else {request.getRequestDispatcher("gagal.jsp").forward(request, response);

    }

    out.println("");out.println("");} finally {

    out.close();}

    }

    Tampak dari kedua hasil login di atas, bahwa URL yang diredirectmelalui login tidakberubah sama sekali. Padahal seharusnya, itu ditujukan ke 2 URL yang memang benarbenar berbeda (berhasil.jsp dan gagal.jsp).

  • 7/22/2019 Tugas - Redirect Dan Koneksi Database Dengan JSP - OktaRiveranda

    5/12

    Fungsi Redirect dan Koneksi Database dengan JSPOleh Okta Riveranda

    Halaman 5

    B. include()

    protected void processRequest(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {

    response.setContentType("text/html;charset=UTF-8");PrintWriter out = response.getWriter();

    String username = request.getParameter("username");String password = request.getParameter("password");

    try {/* TODO output your page here. You may use following sample code. */out.println("");out.println("");out.println("");

    out.println("Servlet login");out.println("");out.println("");if((username.equals("okta")) && (password.equals("admin"))){

    request.getRequestDispatcher("berhasil.jsp").include(request, response);

    } else {request.getRequestDispatcher("berhasil.jsp").include(request, response);

    }out.println("");out.println("");

    } finally {out.close();

    }

    }

    Dari kedua hasil di atas, dapat disimpulkan bahwa penggunaan metode forward() daninclude() akan menghasilkan keluaran/hasil yang sama pada saat meredirect.

  • 7/22/2019 Tugas - Redirect Dan Koneksi Database Dengan JSP - OktaRiveranda

    6/12

    Fungsi Redirect dan Koneksi Database dengan JSPOleh Okta Riveranda

    Halaman 6

    C. sendRedirect()

    protected void processRequest(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {

    response.setContentType("text/html;charset=UTF-8");PrintWriter out = response.getWriter();

    String username = request.getParameter("username");String password = request.getParameter("password");

    try {/* TODO output your page here. You may use following sample code. */out.println("");out.println("");out.println("");

    out.println("Servlet login");out.println("");out.println("");if((username.equals("okta")) && (password.equals("admin"))){

    response.sendRedirect("berhasil.jsp");

    } else {response.sendRedirect("gagal.jsp");

    }out.println("");out.println("");

    } finally {out.close();

    }

    }

    Berdasarkan kedua hasil di atas, kita dapat simpulkan bahwa dengan menggunakanmetode sendRedirect(), maka URL yang menjadi hasil redirectmelalui servlet login.javaakan mengganti URL yang sebelumnya.

    Memang benar bahwa terdapat kelebihan dari penggunaan metode forward untukredirect, yakni user sama sekali tidak mengetahui ke mana mereka diarahkan setelahlogin.

  • 7/22/2019 Tugas - Redirect Dan Koneksi Database Dengan JSP - OktaRiveranda

    7/12

    Fungsi Redirect dan Koneksi Database dengan JSPOleh Okta Riveranda

    Halaman 7

    4.Koneksi File JSP ke Database MySQL

    A. Persiapan

    MySQL sudah terpasang di komputer.

    Tambah Library MySQL JDBC Driver di Library Project JSP.

    Driver Database pada Tab Services telah berjalan dengan baik dan tidak

    ada gangguan sama sekali.

    B. Tabel di MySQL

    Nama Database yang digunakan : latihan_pw.

    Dalam Database tersebut terdapat 1 tabel yang bernama : mahasiswa.

    Tabel mahasiswa memiliki 3 kolom :

    o NIM : char(10) dan Primary Key.

    o Nama : varchar(30) not null.

    o Prodi : varchar(30) not null.

  • 7/22/2019 Tugas - Redirect Dan Koneksi Database Dengan JSP - OktaRiveranda

    8/12

    Fungsi Redirect dan Koneksi Database dengan JSPOleh Okta Riveranda

    Halaman 8

    C. Contoh Coding

    JSP Page

    Data Mahasiswa PCR

  • 7/22/2019 Tugas - Redirect Dan Koneksi Database Dengan JSP - OktaRiveranda

    9/12

    Fungsi Redirect dan Koneksi Database dengan JSPOleh Okta Riveranda

    Halaman 9

    D. Output Coding

  • 7/22/2019 Tugas - Redirect Dan Koneksi Database Dengan JSP - OktaRiveranda

    10/12

    Fungsi Redirect dan Koneksi Database dengan JSPOleh Okta Riveranda

    Halaman 10

    5.Koneksi File JSP ke Database Oracle

    A. Persiapan

    Pastikan DBMS Oracle terinstal di komputer. Baik itu Oracle XE maupun

    EE.

    Tambahkan Oracle Driver pada Library Project : Jika menggunakan

    Netbeans 7.4, maka gunakan ojdbc7.jar. Jika Netbeans 7.3.1, maka

    gunakan ojdbc6.jar.

    Pastikan di tab services, di menu Database Driver, ojdbc7.jar maupun

    ojdbc6.jar telah terinstal.

    B. Tabel di Oracle

    Sama seperti tabel di MySQL, di Oracle terdapat tabel dengan nama

    mahasiswa, yang memiliki 3 kolom dengan karakteristik yang sama

    dengan di MySQL.

  • 7/22/2019 Tugas - Redirect Dan Koneksi Database Dengan JSP - OktaRiveranda

    11/12

    Fungsi Redirect dan Koneksi Database dengan JSPOleh Okta Riveranda

    Halaman 11

    C. Contoh Coding

    JSP Page

    Data Mahasiswa PCR

  • 7/22/2019 Tugas - Redirect Dan Koneksi Database Dengan JSP - OktaRiveranda

    12/12

    Fungsi Redirect dan Koneksi Database dengan JSPOleh Okta Riveranda

    Halaman 12

    D. Output Coding