Web mvc dengan java jsp seri 1

19
SERI 1 : PERSIAPAN LINGKUNGAN WEB PROJECT BERBASIS MODEL – VIEWER – CONTROLLER (MVC) Web MVC Dengan Java - JSP

Transcript of Web mvc dengan java jsp seri 1

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

Java Web – Web Application

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 (Cont…)

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"; }

}

Good Job I Like It

Magnificient – You’re Rookie Now

See You In My Next Series