Monday, 10 June 2013

Pola MVC
Model-View-Controller adalah pola desain software yang membantu anda secara logik memisahkan kode anda, membuatnya lebih reusable, mudah dikelola (maintainable), dan membuat lebih baik pada umumnya. Model View Controller dijelaskan pertama kali oleh grup penulis Gang of Four. Dean Helman menulis (intisari dari white paper Objective Toolkit Pro):
"Paradigma MVC adalah suatu cara memecah aplikasi atau cukup beberapa bagian antar muka aplikasi ke dalam 3 bagian: model, view dan controller. MVC pada dasarnya dibangun untuk memetakan aturan tradisional yaitu input, proses dan output ke dalam GUI yang nyata."
Input -> Proses -> Output
Controller -> Model -> View
"Input user, pemodelan terhadap dunia luar/nyata, dan tampilan visual ke user dipisahkan dan dihandel oleh objek model, objek view dan objek controller. Controller mengipretesaikan input mouse dan keyboard dari user dan memetakan aksi user ke dalam perintah-perintah yang dikirim ke objek model dan/atau objek view untuk memberi efek terhadap perubahan yang sesuai. Model mengatur satu atau lebih elemen data, merespon queri-queri dan merespon instruksi-instruksi perubahan status. Bagian view mengatur area rectangular dari tampilan dan bertanggung jawab untuk menyajikan data ke user melalui kombinasi antara grafik dan text."
Setelah anda mengetahui konsep MVC, untuk lebih mendalami penerapannya pada proses development, kita akan membuat aplikasi mulai dari awal sekali. Latihan ini dibuat berkesinambungan antara satu latihan dengan latihan yang lain.

Mengenali pola MVC dalam Framework aplikasi berbasis web Ada 3 hal yang selalu dilakukan dalam membuat aplikasi dengan struts (mvc):
• Membuat halaman JSP atau lainnya (HTML, Velocity, Framemaker,dll) untuk menampilkan pesan atau tampilan ke user (View)
• Membuat ActionForm class untuk menangani logika aplikasi dan permintaan client (Model). Komponen Model meliputi JavaBeans dan Scope, ActionForm Beans, System State Beans dan Business Logic Beans.
• Membuat pemetaan (mapping) untuk mengarahkan antara action dengan halaman view atau action lain (Controller). Komponen Controller meliputi ActionServlet, Request Processor, Action Class, Action Mapping

Menyiapkan aplikasi project MVC
Tujuan section ini adalah menunjukkan cara membuat project aplikasi web berbasis MVC.
Untuk aplikasi yang dibahas pada latihan kali ini kita akan menggunakan Struts versi 1.2.9 built in pada IDE Netbeans.
Membuat project dengan Netbeans IDE

Langah-langkahnya:
  • Membuat project web baru dengan nama jeni_struts
File → New Project, pilih category Web → Web Application, klik Next
Ketikkan nama project, klik Next
Pilih Framework Struts 1.2.9, lakukan konfigurasi secukupnya.
Klik Finish

  • Membuat file web.xml dalam folder WEB-INF dan menambahkan kode berikut:
<servlet>
<servlet-name>action</servlet-name>
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>

<init-param>
<param-name>config</param-name>
<param-value>/WEB-INF/struts-config.xml</param-value>
</init-param>
<init-param>
<param-name>debug</param-name>
<param-value>2</param-value>
</init-param>
<init-param>
<param-name>detail</param-name>
<param-value>2</param-value>
</init-param>
<load-on-startup>2</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
<session-config>
<session-timeout>
30
</session-timeout>
</session-config>
<welcome-file-list>
<welcome-file>
index.jsp
</welcome-file>
</welcome-file-list>



Percobaan 3 : Membuat halaman Login

Tujuan section ini adalah membuat halaman Login dalam aplikasi MVC. Section ini melanjutkan proejct pada section sebelumnya yaitu project jeni_struts.

Langkah-langkahnya:
Tambahkan link login dalam file index.jsp, seperti berikut :

<br>
<a href="./Login.do">Login</a>

·         Membuat file JSP dengan nama LoginForm.jsp dan simpan di dalam direktori WEB-INF/view_pages. Jika direktori view_pages belum ada silahkan dibuat.

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Login</title>
</head>
<body>
<h1>Login Form</h1>
<form name="loginForm" action="Logon.do" method="POST">
Username : <input type="text" name="username" value="" size="30" /><br>
Password : <input type="password" name="password" value="" size="30" /><br>
<input type="reset" value="Cancel" name="cancel" />
<input type="submit" value="Login" name="login" />
</form>
</body>
</html>

·         Kemuadian buat package dengan nama jeni3.struts.user.actionform
·         Dalam package jeni3.struts.user.actionform kemudian kita buat class Action Form dengan nama LoginForm.

File → New File atau klik kanan SourcePackage - New File/Folder,
pilih category Web, pilih Struts ActionForm Bean, klik Next
Ketikkan nama class-nya, pilih Superclass, klik Finish
atau klik kanan SourcePackage - New Java Class,
masukkan nama class-nya, klik Finish

Berikut kode pada class LoginForm :

package jeni3.struts.user.actionform;
import org.apache.struts.action.ActionForm;
/**
* @author mee_andto@yahoo.com
* @version 0.5
*/
public class LoginForm extends ActionForm{
private String username;
private String password;
public String getUsername(){
return username;
}
public void setUsername(String username){

this.username = username;
}
public String getPassword(){
return password;
}
public void setPassword(String password){
this.password = password;
}
}


·      Tambahkan mapping untuk Form Bean dalam file struts-config.xml, seperti kode berikut :

<form-beans>
<form-bean name="loginForm" type="jeni3.struts.user.actionform.LoginForm" />
</form-beans>

·         Buat package dengan nama jeni3.struts.util
·         Dalam package jeni3.struts.util itu, buat class Java dengan nama JENIConstants dengan isi kode seperti berikut :

/**
* @author mee_andto@yahoo.com
* @version 0.5
*/
package jeni3.struts.util;
public class JENIConstants {
public final static String RETURN_SUCCESS = "success";
public final static String RETURN_INPUT = "input";
public final static String RETURN_FAILURE = "failure";
public static String USER_SESSION = "UserContainer";
}


·         Membuat package dengan nama jeni3.struts.user.action.
·         Dalam package jeni3.struts.user.action, kemudian kita buat class Action dengan nama LoginAction.

Berikut kode pada class LoginAction :

package jeni3.struts.user.action;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import jeni3.struts.user.actionform.LoginForm;
import jeni3.struts.util.JENIConstants;
import org.apache.struts.action.*;
/**
* @author mee_andto@yahoo.com
* @version 0.5
*/
public class LoginAction extends Action{
public ActionForward execute(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
throws Exception {
LoginForm lf = (LoginForm)form;
if (isInvalid(lf.getUsername())) return (mapping.findForward(JENIConstants.RETURN_INPUT));
if (isInvalid(lf.getPassword())) return (mapping.findForward(JENIConstants.RETURN_INPUT));
return (mapping.findForward(JENIConstants.RETURN_SUCCESS));
}
public boolean isInvalid(String value){
return (value == null || value.length() == 0);
}
}

·         Tambahkan action mapping dalam file struts-config.xml, seperti kode berikut :

<action path="/Login" forward="/WEB-INF/view_pages/LoginForm.jsp"/>
<action name="loginForm"
path="/Login"
scope="request"
type="jeni3.struts.user.action.LoginAction">
<forward name="success" path="/WEB-INF/view_pages/Success.jsp"/>
<forward name="input" path="/WEB-INF/view_pages/LoginForm.jsp"/>
</action>

·           Dalam folder view_pages, buat file JSP dengan nama Success.jsp. Isikan tulisan

<h1>Success</h1>.

·           Kemudian Run → Run (Main) Project





Popular Post

Powered by Blogger.

- Copyright © Kampusxx -Metrominimalist- Powered by Blogger - Designed by Riza Falafi -