Struts Framework, Memberikan Segala Kemudahan (Struts Concept) – Part 1

Tulisan ini ditujukan untuk para teman programmer java yang sudah paham dengan konsep MVC, pada khususnya dan untuk seluruh umat manusia yang berkenan membaca tulisan ini, pada umumnya.🙂 Akan lebih baik jika kita sudah memahami konsep MVC, dengan begitu kita juga sudah memahami istilah Controller yang ada dalam konsep MVC. Dimana Struts Framework bekerja di area Controller dalam sebuah aplikasi.

Aplikasi yang di rancang berdasarkan konsep MVC (Model View Controller) akan dibagi menjadi 3 bagian besar yaitu,

Model – yang merepresentasikan object yang menjadi bagian dalam aplikasi secara keseluruhan, tetapi dengan tidak melupakan teori OOP tentunya.

View – yang bekerja untuk menampilkan aplikasi melalui interface yang baik dan sesuai.

Controller – yang bekerja sebagai navigator menurut saya, dalam aplikasi.

Singkat cerita (kayak lagi dongeng ajah :D),  Controller mengatur kemana data yang diminta dan/atau diberikan user untuk diproses, juga dapat melakukan manipulasi data sebelum data di proses lebih lanjut, data apa yang harus di tampilkan untuk user dengan tampilan yang mana dan masih banyak lagi. Pada awalnya kita dapat menggunakan servlet sebagai controller yang cukup baik dalam aplikasi. Servlet yang dipilih untuk menerima-data-dan-memprosesnya-dan-meneruskannya dapat di panggil melalui halaman jsp sesuai dengan url-pattern yang sudah ditentukan untuknya – dalam dokumen web.xml. Dengan begitu servlet yang terpilih akan melakukan tugasnya terhadap data yang sudah diterima.

<form action=”proses-data” method=”post”>

<input type=”text” name=”nama”/>

<input type=”submit” value=”Simpan”/>

</form>

Berdasarkan kode di atas, apapun yang diisi pada text-box dengan name=”nama” akan diproses oleh dokumen servlet yang diberi url-pattern proses-data.

Dokumen servlet proses-data.java (url-pattern: proses-data). Note: url-pattern tidak harus sama dengan nama dokumennya, dan melakukan pemanggilan dengan url-pattern, bukan nama dokumen servlet yang bersangkutan.

protected void processRequest(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

String nama = (String) request.getAttribute(“nama”);

RequestDispatcher rd = request.getRequestDispatcher(“view-data.jsp”);

rd.forward(request, response);

}

Data yang di submit akan diterima oleh file servlet (controller) yang diinginkan

String nama = (HYPERLINK “http://www.google.com/search?hl=en&q=allinurl%3Astring+java.sun.com&btnI=I’m Feeling Lucky” String) request.getAttribute(“nama”);

Dengan begini kita sudah memiliki data yang akan diproses di method yang sudah ditentukan yang biasa di sebut DAO. Tentu saja tidak selalu diteruskan seperti itu, bisa saja di teruskan ke servlet yang lain setelah di manipulasi sebelumnya. Sampai di sini proses request oleh user sudah terjadi, dan tinggal bagaimana mengembalikan respon-nya kepada user. Perlu dicatat, ini adalah implementasi paling sederhana, sebab bisa saja data di teruskan ke controller selanjutnya untuk proses selanjutnya, bisa saja.

Perhatikan kode berikut:

RequestDispatcher rd = request.getRequestDispatcher(“view-data.jsp”);

rd.forward(request, response);

Kode ini yang akan menentukan kemana data akan diteruskan. Dalam kasus ini, dokumen view (jsp) mana yang akan menjadi respon kepada user. Dengan demikin apapun yang ada dalam dokumen view-data.jsp akan ditampilkan kepada user. Sampai disini proses response telah terjadi.

Semakin kompleks aplikasi yang kita buat, semakin kompleks pula proses yang sudah dijelaskan diatas. Sehingga kita mencari solusi untuk membuat-nya paling tidak menjadi lebih mudah dan simple. Ukuran mudah dan simple juga tergantung kepada logika program, proses bisnis dan alur program. Semuanya saling terkait. Struts dapat menjadi salah satu solusi yang cukup menjanjikan, dengan kemudahannya. Struts di kategorikan sebagai Framework, dimana berbagai service (layanan) pendukung telah tersedia dan tinggal  bagaimana kita dan kode-kode kita menggunakannya. Singkat kata kerangka kerja yang tinggal dilaksanakan.

Setiap saya mempelajari sesuatu dan hampir setiap orang begitu, akan bertanya dari mana saya mulai. Jadi saya katakan untuk mempelajari Struts Framework maka carilah alur kerjanya, berupa gambar mungkin lalu pelajari sambil memperhatikan komponen-komponen penyusunnya. Perhatikan sambil pelajari komponennya.

Struts flow activity

Di postingan selanjutnya saya akan mencoba membantu sesuai kemampuan saya untuk mempelajari bagian-bagian Struts sekaligus memberikan perbandingan dengan cara biasa tanpa menggunakan framework struts, sehingga kita bisa sama-sama melihat kenapa Struts ada. Tidak akan lama, silahkan bookmark halaman ini (Ctrl+d).

Sumber

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s