web mvc dengan java jsp seri 1
Post on 20-Aug-2015
2.045 Views
Preview:
TRANSCRIPT
SERI 1 :
PERSIAPAN LINGKUNGAN WEB PROJECT BERBASIS MODEL – VIEWER – CONTROLLER (MVC)
Web MVC Dengan Java - JSP
Web – JSP Tanpa MVC
Project Web berbasis JSP tanpa mengimplementasikan MVC
terlihat seperti
Gambar dibawah ini : dimana setiap request dari browser
ditangani oleh jsp-page. Jika request berhubungan dengan
permintaan data maka jsp menghubungi java.bean untuk
mengakses ke database/datasource kemudian memberikan
hasilnya ke browser
Web Java dengan MVC Implementation
Project Web berbasis JSP dengan mengimplementasikan MVC
terlihat seperti gambar dibawah ini : dimana setiap request dari
browser ditangani oleh sebuah servlet-controller. Sehingga setiap
request akan diatur oleh servlet ini, baik itu diteruskan ke jsp
lainnya (view) atau diteruskan ke java bean (model) untuk
mengakses data dan menampilkannya kembali ke browser via jsp-
page (view)
MileStones Project with Netbeans IDE
Membuat Project Dengan Tipe Java Web
Membuat Interface : ActionInterfaceMembuat Servlet : ControllerServletMembuat File Propeties :
conf.propertiesMapping index.jsp ke page home.jsp
melalui controller
ActionInterface
1. Buat package action dibawah Source Packe
2. Tambahkan sebuah Interface dengan Nama ActionInterface.java
3. Tambahkan Koding didalamnya :
public interface ActionInterface { public String execute(HttpServletRequest
request);
}
ControllerServlet
1. Buat package servlet dibawah Source Packe
2. Tambahkan sebuah Servlet dengan Nama ControllerServlet. javaServlet ini pada MVC berperan sebagai Controller yang berguna untuk mengatur aliran request ke respon yang telah di petakan pada web yang dibuat.
3. Koding didalam Servlet adalah :
ControllerServlet.java - Code (Cont…)
import action.ActionInterface; import java.io.*; import java.util.*; import javax.servlet.*; import javax.servlet.http.*;
public class ControllerServlet extends HttpServlet { Properties props = null RequestDispatcher rds = null;
@Override public void init(ServletConfig config) throws ServletException { try { props = new Properties(); InputStream in =
this.getClass().getClassLoader().getResourceAsStream("conf.properties"); props.load(in); } catch (Exception x) { System.err.println("Fail to read file"); } }
ControllerServlet.java - Code
protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String urlPath = request.getParameter("action"); String reqHelperClassName = (String) props.get(urlPath); if (reqHelperClassName != null) { try { action.ActionInterface helper = (ActionInterface) Class.forName (reqHelperClassName).newInstance(); String nextView = helper.execute(request); if (!nextView.contains("controller")) { nextView = "/WEB-INF/page/" + nextView; } rds = request.getRequestDispatcher(nextView); rds.forward(request, response); } catch (Exception x) { } } }
Manfaat ControllerServlet
Servlet bisa membentuk url pattern sehingga alamat url bisa “sangat berbeda” dengan file fisiknya.
Dengan menjadikan servlet ini menjadi controller maka para programmer bisa membuat jalan untuk mengakses ke halaman-halaman jsp, yang terletak dibawah WEB-INF direktori.
Servlet bisa menjadi alternatif solusi, jika para programmer banyak bekerja dengan kode (kode java) daripada desain, sehingga mempermudah dalam menyelesaikan bisnis-logic web projectnya.
File conf.properties
Buat File Properties Baru dengan nama : conf.properties
File conf.properties : digunakan untuk menyimpan informasi mapping/jalan untuk mengatur antara request yang diminta dengan respon yang diberikan yang telah didefiniskan dalam controllernya.
File ini berguna untuk mempermudah sekaligus mencatat mapping web sehingga programmer bisa dengan mudah menemukan pasangan antara class/class servlet dengan urlpattern-nya
Mapping index.jsp ke home.jsp (Cont..)
Index.jsp adalah halaman index default dari web project, artinya halaman index inilah yang pertama kali muncul pada web aplikasi yang dibuat.
Nah… Mapping ini digunakan untuk melempar agar setiap aplikasi yang berjalan bisa membuka page home.jsp dibawah folder WEB-INF/page sebagai halaman awal.
So… Beginilah caranya1. memforward index.jsp ke home.jsp lewat controller2. menyiapkan page home.jsp3. mendaftarkan urlpattern ke conf.properties4. menyiapkan class untuk memberikan akses ke home.jsp
Mapping index.jsp ke home.jsp (Cont..)
1. memforward index.jsp ke home.jsp lewat controller
sehingga index.jsp codenya menjadi
<jsp:forward page="/controller?action=home" />
Mapping index.jsp ke home.jsp (Cont..)
2. menyiapkan page home.jsp
isi file home.jsp
<html> <head> <title>Halaman Index</title> </head> <body> <h1><center>Hello Moklet-ers!</center></h1> </body>
</html>
Mapping index.jsp ke home.jsp (Cont..)
3. mendaftarkan urlpattern ke conf.properties
Tambahkan baris berikut ke conf.properties
home= action.GoHomeAction
* action.GoHomeAction berarti membuat class GoHomeAction didalam package action
Mapping index.jsp ke home.jsp (Cont..)
4. menyiapkan class untuk memberikan akses ke home.jsp
Buat class dengan nama GoHomeAction. Isi kodenya :
public class GoHomeAction implements ActionInterface {
public String execute(HttpServletRequest request) { return "home.jsp"; }
}
top related